diff options
author | Dan Gohman <dan433584@gmail.com> | 2016-01-20 07:03:08 +0000 |
---|---|---|
committer | Dan Gohman <dan433584@gmail.com> | 2016-01-20 07:03:08 +0000 |
commit | edf98c56822a87d93ee601be9f475328c209fecc (patch) | |
tree | 066a3ec17c38c7d76d3742f7ab8bed4cd84702a4 /lldb/packages/Python/lldbsuite/test/configuration.py | |
parent | e5d3c15d7d49d7170f9b2ab79dcea47e79115b68 (diff) | |
download | bcm5719-llvm-edf98c56822a87d93ee601be9f475328c209fecc.tar.gz bcm5719-llvm-edf98c56822a87d93ee601be9f475328c209fecc.zip |
[SelectionDAG] Fold more offsets into GlobalAddresses
SelectionDAG previously missed opportunities to fold constants into
GlobalAddresses in several areas. For example, given `(add (add GA, c1), y)`, it
would often reassociate to `(add (add GA, y), c1)`, missing the opportunity to
create `(add GA+c, y)`. This isn't often visible on targets such as X86 which
effectively reassociate adds in their complex address-mode folding logic,
however it is currently visible on WebAssembly since it currently has very
simple address mode folding code that doesn't reassociate anything.
This patch fixes this by making SelectionDAG fold offsets into GlobalAddresses
at the same times that it folds constants together, so that it doesn't miss any
opportunities to perform such folding.
Differential Revision: http://reviews.llvm.org/D16090
llvm-svn: 258296
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/configuration.py')
0 files changed, 0 insertions, 0 deletions