diff options
author | Johannes Doerfert <doerfert@cs.uni-saarland.de> | 2016-04-23 13:02:23 +0000 |
---|---|---|
committer | Johannes Doerfert <doerfert@cs.uni-saarland.de> | 2016-04-23 13:02:23 +0000 |
commit | a3519515b598433c3d865287106566196999691f (patch) | |
tree | 3a46c80b0b89c5ad9dcae1bd01237870cb82ab05 /llvm/lib/Transforms/Utils/BasicBlockUtils.cpp | |
parent | 94341c996dfcf0c7826dcd40d9e6e31ebdaa461c (diff) | |
download | llvm-a3519515b598433c3d865287106566196999691f.zip llvm-a3519515b598433c3d865287106566196999691f.tar.gz llvm-a3519515b598433c3d865287106566196999691f.tar.bz2 |
Track invalid domains not invalid contexts for statements
The invalid context is not enough to describe the parameter constraints under
which a statement is not modeled precisely. The reason is that during the
domain construction the bounds on the induction variables are not known but
needed to check if e.g., an overflow can actually happen. To this end we
replace the invalid context of a statement with an invalid domain. It is
initialized during domain construction and intersected with the domain once
it was completely build. Later this invalid domain allows to eliminate
falsely assumed wrapping cases and other falsely assumed mismatches in the
modeling.
llvm-svn: 267286
Diffstat (limited to 'llvm/lib/Transforms/Utils/BasicBlockUtils.cpp')
0 files changed, 0 insertions, 0 deletions