aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
diff options
context:
space:
mode:
authorJohannes Doerfert <doerfert@cs.uni-saarland.de>2016-04-23 13:02:23 +0000
committerJohannes Doerfert <doerfert@cs.uni-saarland.de>2016-04-23 13:02:23 +0000
commita3519515b598433c3d865287106566196999691f (patch)
tree3a46c80b0b89c5ad9dcae1bd01237870cb82ab05 /llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
parent94341c996dfcf0c7826dcd40d9e6e31ebdaa461c (diff)
downloadllvm-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