diff options
author | Dan Gohman <gohman@apple.com> | 2010-01-28 18:08:26 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2010-01-28 18:08:26 +0000 |
commit | a424b9fbd16bbca930b62110a1f52cc155d0a91b (patch) | |
tree | 0f04ba2cd8c86052e1981f81c0ff2f90d714fb3e /clang/lib/CodeGen/CGDebugInfo.cpp | |
parent | 29063eac2309c996aa8d23a0abf596c524d6cb89 (diff) | |
download | bcm5719-llvm-a424b9fbd16bbca930b62110a1f52cc155d0a91b.tar.gz bcm5719-llvm-a424b9fbd16bbca930b62110a1f52cc155d0a91b.zip |
Remove the folding rule
getelementptr (i8* inttoptr (i64 1 to i8*), i32 -1)
to
inttoptr (i64 0 to i8*)
from the VMCore constant folder. It didn't handle sign-extension properly
in the case where the source integer is smaller than a pointer size. And,
it relied on an assumption about sizeof(i8).
The Analysis constant folder still folds these kinds of things; it has
access to TargetData, so it can do them right.
Add a testcase which tests that the VMCore constant folder doesn't
miscompile this, and that the Analysis folder does fold it.
llvm-svn: 94750
Diffstat (limited to 'clang/lib/CodeGen/CGDebugInfo.cpp')
0 files changed, 0 insertions, 0 deletions