diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2019-03-18 18:45:57 +0000 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2019-03-18 18:45:57 +0000 |
commit | a3cefa5d6492a4ba593b74b1aa615f00a5b6166d (patch) | |
tree | d8376cb3cd79b6fb89b4421c0936a5d3337a29ac /llvm/lib/DebugInfo/PDB/Native/ModuleDebugStream.cpp | |
parent | 664c1ef52849623ef509e34968e0807a21b7bf15 (diff) | |
download | bcm5719-llvm-a3cefa5d6492a4ba593b74b1aa615f00a5b6166d.tar.gz bcm5719-llvm-a3cefa5d6492a4ba593b74b1aa615f00a5b6166d.zip |
[AArch64] Optimize floating point materialization
This patch follows some ideas from r352866 to optimize the floating
point materialization even further. It changes isFPImmLegal to
considere up to 2 mov instruction or up to 5 in case subtarget has
fused literals.
The rationale is the cost is the same for mov+fmov vs. adrp+ldr; but
the mov+fmov sequence is always better because of the reduced d-cache
pressure. The timings are still the same if you consider movw+movk+fmov
vs. adrp+ldr will be fused (although one instruction longer).
Reviewers: efriedma
Differential Revision: https://reviews.llvm.org/D58460
llvm-svn: 356390
Diffstat (limited to 'llvm/lib/DebugInfo/PDB/Native/ModuleDebugStream.cpp')
0 files changed, 0 insertions, 0 deletions