summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
diff options
context:
space:
mode:
authorUlrich Weigand <ulrich.weigand@de.ibm.com>2014-07-20 22:26:40 +0000
committerUlrich Weigand <ulrich.weigand@de.ibm.com>2014-07-20 22:26:40 +0000
commit55a96650d9f9baab10ed88fa1239c8ff2413c821 (patch)
tree445363257150103af7de8f46f67fa3cd85da74bb /llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
parent9720fcf4bfd52bd50960d0a48f9b6ed7b60a8519 (diff)
downloadbcm5719-llvm-55a96650d9f9baab10ed88fa1239c8ff2413c821.tar.gz
bcm5719-llvm-55a96650d9f9baab10ed88fa1239c8ff2413c821.zip
[PowerPC] Fix FrameIndex handling in SelectAddressRegImm
The PPCTargetLowering::SelectAddressRegImm routine needs to handle FrameIndex nodes in a special manner, by tranlating them into a TargetFrameIndex node. This was done in most cases, but seems to have been neglected in one path: when the input tree has an OR of the FrameIndex with an immediate. This can happen if the FrameIndex can be proven to be sufficiently aligned that an OR of that immediate is equivalent to an ADD. The missing handling of FrameIndex in that case caused the SelectionDAG instruction selection to miss opportunities to merge the OR back into the FrameIndex node, leading to superfluous addi/ori instructions in the final assembler output. llvm-svn: 213482
Diffstat (limited to 'llvm/lib/Transforms/Vectorize/LoopVectorize.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud