OSDN Git Service

MachineSink: Collect registers before clearing their killflags.
authorMatthias Braun <matze@braunis.de>
Sat, 16 May 2015 03:11:07 +0000 (03:11 +0000)
committerMatthias Braun <matze@braunis.de>
Sat, 16 May 2015 03:11:07 +0000 (03:11 +0000)
commit3ac70da9828cc99050b20b5d1f86d68521000c19
tree40d3b338cd4b389afb5db902a48fbe0278ab3fb5
parent8081057fca87440166a0d0e02c74a8ff0354d978
MachineSink: Collect registers before clearing their killflags.

Currently whenever we sink any instruction, we do clearKillFlags for
every use of every use operand for that instruction, apparently there
are a lot of duplication, therefore compile time penalties.

This patch collect all the interested registers first, do clearKillFlags
for it all together at once at the end, so we only need to do
clearKillFlags once for one register, duplication is avoided.

Patch by Lawrence Hu!

Differential Revision: http://reviews.llvm.org/D9719

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237510 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/MachineSink.cpp