aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineInstr.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-11-11 04:53:30 +0000
committerChris Lattner <sabre@nondot.org>2006-11-11 04:53:30 +0000
commitc5102bfc7c8480eb62b1c57075afc7f0900cb2db (patch)
tree0ccb83062bb4b3d44ce7a1f11478bb5d74069dc4 /llvm/lib/CodeGen/MachineInstr.cpp
parent2ff632c54b7df90eeb32bfb2f807f6ef45018418 (diff)
downloadllvm-c5102bfc7c8480eb62b1c57075afc7f0900cb2db.zip
llvm-c5102bfc7c8480eb62b1c57075afc7f0900cb2db.tar.gz
llvm-c5102bfc7c8480eb62b1c57075afc7f0900cb2db.tar.bz2
allow the offset of a preinc'd load to be the low-part of a global. This
produces this clever code: _millisecs: lis r2, ha16(_Time.1182) lwzu r3, lo16(_Time.1182)(r2) lwz r2, 4(r2) addic r4, r2, 1 addze r3, r3 blr instead of this: _millisecs: lis r2, ha16(_Time.1182) la r3, lo16(_Time.1182)(r2) lwz r2, lo16(_Time.1182)(r2) lwz r3, 4(r3) addic r4, r3, 1 addze r3, r2 blr for: long %millisecs() { %tmp = load long* %Time.1182 ; <long> [#uses=1] %tmp1 = add long %tmp, 1 ; <long> [#uses=1] ret long %tmp1 } llvm-svn: 31673
Diffstat (limited to 'llvm/lib/CodeGen/MachineInstr.cpp')
0 files changed, 0 insertions, 0 deletions