- May 09, 2009
-
-
Evan Cheng authored
llvm-svn: 71291
-
Mike Stump authored
llvm-svn: 71275
-
- May 08, 2009
-
-
Bill Wendling authored
inlined function or the end of a function. Before, this was never executing the "inlined" version of the Record method. This will become important once the inlined Dwarf writer patch lands. llvm-svn: 71268
-
Bill Wendling authored
concrete instance of an inlined function, we can get the actual address of the abstract instance inside of the compile unit. This isn't currently used, but will be by a future check-in. llvm-svn: 71263
-
Bill Wendling authored
llvm-svn: 71256
-
Evan Cheng authored
llvm-svn: 71242
-
Anton Korobeynikov authored
llvm-svn: 71241
-
Anton Korobeynikov authored
llvm-svn: 71240
-
Anton Korobeynikov authored
llvm-svn: 71238
-
Anton Korobeynikov authored
llvm-svn: 71237
-
Evan Cheng authored
llvm-svn: 71214
-
Nick Lewycky authored
llvm-svn: 71211
-
Evan Cheng authored
Optimize code placement in loop to eliminate unconditional branches or move unconditional branch to the outside of the loop. e.g. /// A: /// ... /// <fallthrough to B> /// /// B: --> loop header /// ... /// jcc <cond> C, [exit] /// /// C: /// ... /// jmp B /// /// ==> /// /// A: /// ... /// jmp B /// /// C: --> new loop header /// ... /// <fallthough to B> /// /// B: /// ... /// jcc <cond> C, [exit] llvm-svn: 71209
-
Bob Wilson authored
scavenger gets confused about register liveness if it doesn't see them. I'm not thrilled with this solution, but it only comes up when there are dead copies in the code, which is something that hopefully doesn't happen much. Here is what happens in pr4100: As shown in the following excerpt from the debug output of llc, the source of a move gets reloaded from the stack, inserting a new load instruction before the move. Since that source operand is a kill, the physical register is free to be reused for the destination of the move. The move ends up being a no-op, copying R3 to R3, so it is deleted. But, it leaves behind the load to reload %reg1028 into R3, and that load is not updated to show that it's destination operand (R3) is dead. The scavenger gets confused by that load because it thinks that R3 is live. Starting RegAlloc of: %reg1025<def,dead> = MOVr %reg1028<kill>, 14, %reg0, %reg0 Regs have values: Reloading %reg1028 into R3 Last use of R3[%reg1028], removing it from live set Assigning R3 to %reg1025 Register R3 [%reg1025] is never used, removing it from live set Alternative solutions might be either marking the load as dead, or zapping the load along with the no-op copy. I couldn't see an easy way to do either of those, though. llvm-svn: 71196
-
- May 07, 2009
-
-
Bob Wilson authored
llvm-svn: 71180
-
Bob Wilson authored
llvm-svn: 71179
-
Dan Gohman authored
several regressions. The problem due to 71158 is now fixed. llvm-svn: 71176
-
Bill Wendling authored
checking for bcopy... no checking for getc_unlocked... Assertion failed: (0 && "Unknown SCEV kind!"), function operator(), file /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore.roots/llvmCore~obj/src/lib/Analysis/ScalarEvolution.cpp, line 511. /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmgcc42.roots/llvmgcc42~obj/src/libdecnumber/decUtility.c:360: internal compiler error: Abort trap Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://developer.apple.com/bugreporter> for instructions. make[4]: *** [decUtility.o] Error 1 make[4]: *** Waiting for unfinished jobs.... Assertion failed: (0 && "Unknown SCEV kind!"), function operator(), file /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore.roots/llvmCore~obj/src/lib/Analysis/ScalarEvolution.cpp, line 511. /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmgcc42.roots/llvmgcc42~obj/src/libdecnumber/decNumber.c:5591: internal compiler error: Abort trap Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://developer.apple.com/bugreporter> for instructions. make[4]: *** [decNumber.o] Error 1 make[3]: *** [all-stage2-libdecnumber] Error 2 make[3]: *** Waiting for unfinished jobs.... llvm-svn: 71165
-
Argyrios Kyrtzidis authored
No functionality change. llvm-svn: 71156
-
Evan Cheng authored
llvm-svn: 71151
-
Evan Cheng authored
llvm-svn: 71150
-
Bill Wendling authored
llvm-svn: 71140
-
Bill Wendling authored
llvm-svn: 71138
-
Argyrios Kyrtzidis authored
-Have it return a label ID -Remove the unused Instruction parameter No functionality change. llvm-svn: 71132
-
- May 06, 2009
-
-
Bill Wendling authored
change. - Reformatting. llvm-svn: 71118
-
Evan Cheng authored
llvm-svn: 71098
-
Oscar Fuentes authored
llvm-svn: 71085
-
Duncan Sands authored
are legal. Based on a patch by Micah Villmow. llvm-svn: 71078
-
Lang Hames authored
llvm-svn: 71057
-
- May 05, 2009
-
-
Dan Gohman authored
allow it to have multiple CFG edges to that block. This is needed to allow MachineBasicBlock::isOnlyReachableByFallthrough to work correctly. This fixes PR4126. llvm-svn: 71018
-
Evan Cheng authored
llvm-svn: 71010
-
Chris Lattner authored
For implicit decls like "self" and "_cmd" in ObjC, these decls should not have a location. llvm-svn: 70964
-
Evan Cheng authored
llvm-svn: 70953
-
Evan Cheng authored
llvm-svn: 70950
-
Evan Cheng authored
llvm-svn: 70937
-
Chris Lattner authored
shows up in -print-machineinstrs. This doesn't appear to affect anything, but it was weird for some DBG_LABELs to have DebugLocs but not all of them. llvm-svn: 70921
-
- May 04, 2009
-
-
Argyrios Kyrtzidis authored
llvm-svn: 70900
-
Argyrios Kyrtzidis authored
-Depend on DebugLocs for source line info. (Comes with Regression-Be-Gone(tm)) llvm-svn: 70871
-
Evan Cheng authored
llvm-svn: 70821
-
Evan Cheng authored
The stack slots which share the same stack slot after coloring can, but do not have to, use the same register. In fact, they each may have different register class requirements. llvm-svn: 70815
-