aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/Utils/InlineFunction.cpp
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2011-09-03 00:26:49 +0000
committerOwen Anderson <resistor@mac.com>2011-09-03 00:26:49 +0000
commit7ab15f6d4b9b9fd03c8ab6327ac2b1b3c4b4d04b (patch)
treec70bb33e622465fd3d96b3920f1cd56180e4236a /lib/Transforms/Utils/InlineFunction.cpp
parentb116142d3baab3b4e8ac3551b82c14c9ca1fe242 (diff)
Fix a truly heinous bug in DAGCombine related to AssertZext.
If we have a chain of zext -> assert_zext -> zext -> use, the first zext would get simplified away because of the later zext, and then the later zext would get simplified away because of the assert. The solution is to teach SimplifyDemandedBits that assert_zext demands all of the high bits of its input, rather than only those demanded by its users. No testcase because the only example I have manifests as llvm-gcc miscompiling LLVM, and I haven't found a smaller case that reproduces this problem. Fixes <rdar://problem/10063365>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139059 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Utils/InlineFunction.cpp')
0 files changed, 0 insertions, 0 deletions