summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/ValueNumbering.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-04-17 19:03:21 +0000
committerChris Lattner <sabre@nondot.org>2007-04-17 19:03:21 +0000
commit9ad5915559a97b7adc6d74b3f64eff5922487c6c (patch)
tree3c9c5a1251b82bacf79b4120c27f67936ebecd20 /llvm/lib/Analysis/ValueNumbering.cpp
parent2a4054bddb06cfcc71ab276157d14360a3f86c7d (diff)
downloadbcm5719-llvm-9ad5915559a97b7adc6d74b3f64eff5922487c6c.tar.gz
bcm5719-llvm-9ad5915559a97b7adc6d74b3f64eff5922487c6c.zip
SIGN_EXTEND_INREG does not demand its top bits. Give SimplifyDemandedBits
a chance to hack on it. This compiles: int baz(long long a) { return (short)(((int)(a >>24)) >> 9); } into: _baz: slwi r2, r3, 8 srwi r2, r2, 9 extsh r3, r2 blr instead of: _baz: srwi r2, r4, 24 rlwimi r2, r3, 8, 0, 23 srwi r2, r2, 9 extsh r3, r2 blr This implements CodeGen/PowerPC/sign_ext_inreg1.ll llvm-svn: 36212
Diffstat (limited to 'llvm/lib/Analysis/ValueNumbering.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud