summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-01-06 01:56:21 +0000
committerChris Lattner <sabre@nondot.org>2010-01-06 01:56:21 +0000
commit98748c0964d2ea6c7b23208f6ee324f9d435c017 (patch)
treeed5b13b9245e8dcaf5a254dc9054311825695302 /clang/lib/CodeGen/CodeGenModule.cpp
parent7725526de1fe4b01f79bf2f0a8580ecf82c14394 (diff)
downloadbcm5719-llvm-98748c0964d2ea6c7b23208f6ee324f9d435c017.tar.gz
bcm5719-llvm-98748c0964d2ea6c7b23208f6ee324f9d435c017.zip
Teach instcombine's sext elimination logic to be more aggressive.
Previously, instcombine would only promote an expression tree to the larger type if doing so eliminated two casts. This is because a need to manually do the sign extend after the promoted expression tree with two shifts. Now, we keep track of whether the result of the computation is going to be properly sign extended already. If so, we can unconditionally promote the expression, which allows us to zap more sext's. This implements rdar://6598839 (aka gcc pr38751) llvm-svn: 92815
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud