summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-readobj
diff options
context:
space:
mode:
authorSimon Dardis <simon.dardis@mips.com>2018-04-13 16:09:07 +0000
committerSimon Dardis <simon.dardis@mips.com>2018-04-13 16:09:07 +0000
commit9ec9f444cc19bc08067c884ddea494dfd5b53c9c (patch)
tree57260dc9009d794de1a13633b8d0e87bae002827 /llvm/tools/llvm-readobj
parentea2c78369c3d9e1c1b9aaaab728fbddb22ec855a (diff)
downloadbcm5719-llvm-9ec9f444cc19bc08067c884ddea494dfd5b53c9c.tar.gz
bcm5719-llvm-9ec9f444cc19bc08067c884ddea494dfd5b53c9c.zip
[mips] Materialize constants for multiplication
Previously, the MIPS backend would alwyas break down constant multiplications into a series of shifts, adds, and subs. This patch changes that so the cost of doing so is estimated. The cost is estimated against worst case constant materialization and retrieving the results from the HI/LO registers. For cases where the value type of the multiplication is not legal, the cost of legalization is estimated and is accounted for before performing the optimization of breaking down the constant This resolves PR36884. Thanks to npl for reporting the issue! Reviewers: abeserminji, smaksimovic Differential Revision: https://reviews.llvm.org/D45316 llvm-svn: 330037
Diffstat (limited to 'llvm/tools/llvm-readobj')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud