aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2021-07-28 09:07:45 -0400
committerSanjay Patel <spatel@rotateright.com>2021-07-28 09:10:33 -0400
commit4c41caa2871095cf1e936b0eea10079c60f864dc (patch)
tree8495c5bc89e8d844db60ec3c6af9007e271ee3aa /clang/lib/Frontend/CompilerInvocation.cpp
parent960cb490dd16961c61b541efbcc95eb085464ad8 (diff)
downloadllvm-4c41caa2871095cf1e936b0eea10079c60f864dc.zip
llvm-4c41caa2871095cf1e936b0eea10079c60f864dc.tar.gz
llvm-4c41caa2871095cf1e936b0eea10079c60f864dc.tar.bz2
[x86] improve CMOV codegen by pushing add into operands, part 3
In this episode, we are trying to avoid an x86 micro-arch quirk where complex (3 operand) LEA potentially costs significantly more than simple LEA. So we simultaneously push and pull the math around the CMOV to balance the operations. I looked at the debug spew during instruction selection and decided against trying a later DAGToDAG transform -- it seems very difficult to match if the trailing memops are already selected and managing the creation of extra instructions at that level is always tricky. Differential Revision: https://reviews.llvm.org/D106918
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions