summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
diff options
context:
space:
mode:
authorOliver Stannard <oliver.stannard@linaro.org>2019-10-10 09:58:28 +0000
committerOliver Stannard <oliver.stannard@linaro.org>2019-10-10 09:58:28 +0000
commit4f454b227545016665e4dbdc237ffe8e49f240aa (patch)
tree645abce1d4420555cf13fb444cb17b248f090440 /llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
parentc92a75fec0adb8569e81c35817e0e27a1cdb7959 (diff)
downloadbcm5719-llvm-4f454b227545016665e4dbdc237ffe8e49f240aa.tar.gz
bcm5719-llvm-4f454b227545016665e4dbdc237ffe8e49f240aa.zip
[IfCvt][ARM] Optimise diamond if-conversion for code size
Currently, the heuristics the if-conversion pass uses for diamond if-conversion are based on execution time, with no consideration for code size. This adds a new set of heuristics to be used when optimising for code size. This is mostly target-independent, because the if-conversion pass can see the code size of the instructions which it is removing. For thumb, there are a few passes (insertion of IT instructions, selection of narrow branches, and selection of CBZ instructions) which are run after if conversion and affect these heuristics, so I've added target hooks to better predict the code-size effect of a proposed if-conversion. Differential revision: https://reviews.llvm.org/D67350 llvm-svn: 374301
Diffstat (limited to 'llvm/lib/Target/ARM/Thumb1FrameLowering.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud