If a re-materializable instruction has a register operand, the spiller will change...
authorEvan Cheng <evan.cheng@apple.com>
Tue, 30 Sep 2008 06:36:58 +0000 (06:36 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Tue, 30 Sep 2008 06:36:58 +0000 (06:36 +0000)
commitd41474d2c09a9fd0d1251554b920a783839b2787
treeeabda784525d797db9a539683c3bd7fb88682e60
parenta06cf82a7b6cbfce77d4449f2c9933dc332adcf0
If a re-materializable instruction has a register operand, the spiller will change the register operand's spill weight to HUGE_VAL to avoid it being spilled. However, if the operand is already in the queue ready to be spilled, avoid re-materializing it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56835 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/LiveIntervalAnalysis.cpp
lib/CodeGen/RegAllocLinearScan.cpp
lib/CodeGen/SimpleRegisterCoalescing.cpp
test/CodeGen/X86/2008-09-29-ReMatBug.ll [new file with mode: 0644]