llvm.org GIT mirror llvm / 0d8d316
Fixed a typo that's causing a missing kill marker. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41893 91177308-0d34-0410-b5e6-96231b3b80d8 Evan Cheng 12 years ago
2 changed file(s) with 18 addition(s) and 4 deletion(s). Raw diff Collapse all Expand all
305305 for (const unsigned *SubRegs = RegInfo->getImmediateSubRegisters(Reg);
306306 unsigned SubReg = *SubRegs; ++SubRegs) {
307307 MachineInstr *LastRef = PhysRegInfo[SubReg];
308 if (LastRef != RefMI)
309 SubKills.insert(SubReg);
310 else if (!HandlePhysRegKill(SubReg, RefMI, SubKills))
308 if (LastRef != RefMI ||
309 !HandlePhysRegKill(SubReg, RefMI, SubKills))
311310 SubKills.insert(SubReg);
312311 }
313312
335334 bool LiveVariables::HandlePhysRegKill(unsigned Reg, MachineInstr *RefMI) {
336335 SmallSet SubKills;
337336 if (HandlePhysRegKill(Reg, RefMI, SubKills)) {
338 addRegisterKilled(Reg, RefMI);
337 addRegisterKilled(Reg, RefMI, true);
339338 return true;
340339 } else {
341340 // Some sub-registers are killed by another MI.
0 ; RUN: llvm-as < %s | llc -mtriple=powerpc64-apple-darwin
1
2 declare void @cxa_atexit_check_1(i8*)
3
4 define i32 @check_cxa_atexit(i32 (void (i8*)*, i8*, i8*)* %cxa_atexit, void (i8*)* %cxa_finalize) {
5 entry:
6 %tmp7 = call i32 null( void (i8*)* @cxa_atexit_check_1, i8* null, i8* null ) ; [#uses=0]
7 br i1 false, label %cond_true, label %cond_next
8
9 cond_true: ; preds = %entry
10 ret i32 0
11
12 cond_next: ; preds = %entry
13 ret i32 0
14 }