diff options
| author | Bill Wendling <isanbard@gmail.com> | 2009-03-04 00:18:06 +0000 |
|---|---|---|
| committer | Bill Wendling <isanbard@gmail.com> | 2009-03-04 00:18:06 +0000 |
| commit | 6d2714738f6c9f191e196f54fc24fa3978ac43a2 (patch) | |
| tree | c280ba58c2811f7de42a2bd50227a6f68134be47 /clang/lib/Analysis/RegionStore.cpp | |
| parent | 74a2d0f8ca4b02947b63c358890b69f5188c029a (diff) | |
| download | bcm5719-llvm-6d2714738f6c9f191e196f54fc24fa3978ac43a2.tar.gz bcm5719-llvm-6d2714738f6c9f191e196f54fc24fa3978ac43a2.zip | |
The DAG combiner was performing a BT combine. The BT combine had a value of -1,
so it changed it into a 31 via the TLO.ShrinkDemandedConstant() call. Then it
would go through the DAG combiner again. This time it had a value of 31, which
was turned into a -1 by TLI.SimplifyDemandedBits(). This would ping pong
forever.
Teach the TLO.ShrinkDemandedConstant() call not to lower a value if the demanded
value is an XOR of all ones.
llvm-svn: 65985
Diffstat (limited to 'clang/lib/Analysis/RegionStore.cpp')
0 files changed, 0 insertions, 0 deletions

