- May 11, 2011
-
-
Devang Patel authored
Identify end of prologue (and beginning of function body) using DW_LNS_set_prologue_end line table opcode. llvm-svn: 131194
-
Jakob Stoklund Olesen authored
about to be spilled. This can only happen when two extra snippet registers are included in the spill, and there is a copy between them. Hoisting the spill creates problems because the hoist will mark the copy for later dead code elimination, and spilling the second register will turn the copy into a spill. <rdar://problem/9420853> llvm-svn: 131192
-
Nadav Rotem authored
Fixes a bug in the DAGCombiner. LoadSDNodes have two values (data, chain). If there is a store after the load node, then there is a chain, which means that there is another user. Thus, asking hasOneUser would fail. Instead we ask hasNUsesOfValue on the 'data' value. llvm-svn: 131183
-
Rafael Espindola authored
to provide a reduced testcase. llvm-svn: 131176
-
Bill Wendling authored
intrinsic call. This prevents it from being reordered so that it appears *before* the setjmp intrinsic (thus making it completely useless). <rdar://problem/9409683> llvm-svn: 131174
-
Evan Cheng authored
at the start of basic blocks to their common predecessor. It's actually quite common (e.g. about 50 times in JM/lencod) and has shown to be a nice code size benefit. e.g. pushq %rax testl %edi, %edi jne LBB0_2 ## BB#1: xorb %al, %al popq %rdx ret LBB0_2: xorb %al, %al callq _foo popq %rdx ret => pushq %rax xorb %al, %al testl %edi, %edi je LBB0_2 ## BB#1: callq _foo LBB0_2: popq %rdx ret rdar://9145558 llvm-svn: 131172
-
- May 10, 2011
-
-
Rafael Espindola authored
llvm-svn: 131157
-
-
Stuart Hastings authored
test case; I've only seen this on a release branch, and I can't get it to reproduce on trunk. rdar://problem/7662569 llvm-svn: 131152
-
Rafael Espindola authored
llvm-svn: 131151
-
Rafael Espindola authored
DwarfRequiresRelocationForSectionOffset as this is not specific to StmtList. llvm-svn: 131148
-
Rafael Espindola authored
this clang will use .debug_frame in, for example, clang -g -c -m32 test.c This matches gcc's behaviour. It looks like .debug_frame is a bit bigger than .eh_frame, but has the big advantage of not being allocated. llvm-svn: 131140
-
Jakob Stoklund Olesen authored
The previous invalidation missed the alias interference caches. Also add a stats counter for the number of repaired ranges. llvm-svn: 131133
-
Devang Patel authored
llvm-svn: 131106
-
- May 09, 2011
-
-
Eric Christopher authored
Patch by Evan Cheng. llvm-svn: 131093
-
Duncan Sands authored
llvm-svn: 131082
-
- May 08, 2011
-
-
Jakob Stoklund Olesen authored
It can happen that a live debug variable is the last use of a sub-register, and the register allocator will pick a larger register class for the virtual register. If the allocated register doesn't support the sub-register index, just use %noreg for the debug variables instead of asserting. In PR9872, a debug variable ends up in the sub_8bit_hi part of a GR32_ABCD register. The register is split and one part is inflated to GR32 and assigned %ESI because there are no more normal uses of sub_8bit_hi. Since %ESI doesn't have that sub-register, substPhysReg asserted. Now it will simply insert a %noreg instead, and the debug variable will be marked unavailable in that range. We don't currently have a way of saying: !"value" is in bits 8-15 of %ESI, I don't know if DWARF even supports that. llvm-svn: 131073
-
- May 06, 2011
-
-
Jakob Stoklund Olesen authored
This can't be just an assertion, users can always write impossible inline assembly. Such an assembly statement should be included in the error message. llvm-svn: 131024
-
Andrew Trick authored
llvm-svn: 131022
-
Evan Cheng authored
llvm-svn: 131015
-
Eli Friedman authored
llvm-svn: 131012
-
Eli Friedman authored
llvm-svn: 131008
-
Jakob Stoklund Olesen authored
This should unbreak dragonegg-i386-linux and build-self-4-mingw32. llvm-svn: 131007
-
Andrew Trick authored
llvm-svn: 131001
-
Jakob Stoklund Olesen authored
After a virtual register is split, update any debug user variables that resided in the old register. This ensures that the LiveDebugVariables are still correct after register allocation. This may create DBG_VALUE instructions that place a user variable in a register in parts of the function and in a stack slot in other parts. DwarfDebug currently doesn't support that. llvm-svn: 130998
-
Jakob Stoklund Olesen authored
llvm-svn: 130997
-
Jakob Stoklund Olesen authored
llvm-svn: 130996
-
Andrew Trick authored
The post-ra scheduler was explicitly updating the depth of a node's successors after scheduling it, regardless of whether the successor was ready. This is quadratic for DAGs with transitively redundant edges. I simply removed the useless update of depth, which is lazilly computed later. Fixes <rdar://problem/9044332> compiler takes way too long to build TextInput. llvm-svn: 130992
-
Devang Patel authored
Move CompileUnit::getOrCreateNameSpace() and CompileUnit::addPubType() from DwarfDebug.cpp to DwarfCompileUnit.cpp llvm-svn: 130991
-
Rafael Espindola authored
llvm-svn: 130989
-
Rafael Espindola authored
llvm-svn: 130988
-
Rafael Espindola authored
llvm-svn: 130987
-
Rafael Espindola authored
llvm-svn: 130985
-
Rafael Espindola authored
llvm-svn: 130984
-
Eli Friedman authored
possibly related to cbnz formation. llvm-svn: 130977
-
Rafael Espindola authored
llvm-svn: 130964
-
Rafael Espindola authored
llvm-svn: 130959
-
Devang Patel authored
llvm-svn: 130955
-
- May 05, 2011
-
-
Rafael Espindola authored
llvm-svn: 130947
-
Rafael Espindola authored
llvm-svn: 130944
-