summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/RegAllocIterativeScan.cpp
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2005-08-30 02:44:00 +0000
committerNate Begeman <natebegeman@mac.com>2005-08-30 02:44:00 +0000
commit43144a2fe04beaac68c7235d02c03c7862a411d9 (patch)
tree92cc9dd9b6080e7131229494d8eee6a058f27e7f /llvm/lib/CodeGen/RegAllocIterativeScan.cpp
parentc9d1e370a538c09971f390abcb5b0645551956c2 (diff)
downloadbcm5719-llvm-43144a2fe04beaac68c7235d02c03c7862a411d9.tar.gz
bcm5719-llvm-43144a2fe04beaac68c7235d02c03c7862a411d9.zip
Add support for AssertSext and AssertZext, folding other extensions with
them. This allows for elminination of redundant extends in the entry blocks of functions on PowerPC. Add support for i32 x i32 -> i64 multiplies, by recognizing when the inputs to ISD::MUL in ExpandOp are actually just extended i32 values and not real i64 values. this allows us to codegen int mulhs(int a, int b) { return ((long long)a * b) >> 32; } as: _mulhs: mulhw r3, r4, r3 blr instead of: _mulhs: mulhwu r2, r4, r3 srawi r5, r3, 31 mullw r5, r4, r5 add r2, r2, r5 srawi r4, r4, 31 mullw r3, r4, r3 add r3, r2, r3 blr with a similar improvement on x86. llvm-svn: 23147
Diffstat (limited to 'llvm/lib/CodeGen/RegAllocIterativeScan.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud