diff options
author | Serguei Katkov <serguei.katkov@azul.com> | 2022-05-26 11:51:36 +0700 |
---|---|---|
committer | Serguei Katkov <serguei.katkov@azul.com> | 2022-06-14 18:00:34 +0700 |
commit | 6bf27918144cb843cf5ae9a93cb5f936730f3cce (patch) | |
tree | 4554deaff5b31f030470132f963950c44037e33e /clang/lib/CodeGen/ModuleBuilder.cpp | |
parent | b4cf74dc9e85cc7b2c754768044f72bcf37fcdae (diff) | |
download | llvm-6bf27918144cb843cf5ae9a93cb5f936730f3cce.zip llvm-6bf27918144cb843cf5ae9a93cb5f936730f3cce.tar.gz llvm-6bf27918144cb843cf5ae9a93cb5f936730f3cce.tar.bz2 |
[MachineSSAUpdater] compile time improvement in GetValueInMiddleOfBlock
GetValueInMiddleOfBlock uses result of GetValueAtEndOfBlockInternal if there is no value
defined for current basic block.
If there is already a value it tries (in this order):
to find single register coming from all predecessors
find existing phi node which matches our incoming registers
build new phi.
The compile time improvement is to use current available value if
it is defined out of current BB or it is a PHI register.
This is due to it can be used in the middle basic block.
Reviewed By: sameerds
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D126523
Diffstat (limited to 'clang/lib/CodeGen/ModuleBuilder.cpp')
0 files changed, 0 insertions, 0 deletions