- May 06, 2010
-
-
Chris Lattner authored
Users can write broken code that emits the same label twice with asm renaming, detect this and emit a fatal backend error instead of aborting. llvm-svn: 103140
-
Dan Gohman authored
llvm-svn: 103139
-
Dan Gohman authored
support a new bottom-up mode. llvm-svn: 103138
-
Dan Gohman authored
of just letting them inherit the debug locations of adjacent instructions. Debug info should aim to be either accurate or absent. llvm-svn: 103135
-
Jakob Stoklund Olesen authored
llvm-svn: 103133
-
Devang Patel authored
llvm-svn: 103126
-
- May 05, 2010
-
-
Evan Cheng authored
llvm-svn: 103109
-
Evan Cheng authored
Teach liveintervalanalysis about virtual registers which are defined by reg_sequence instructions that are formed by registers defined by distinct instructions. e.g. 80 %reg1041:6<def> = VSHRNv4i16 %reg1034<kill>, 12, pred:14, pred:%reg0 . . . 120 %reg1041:5<def> = VSHRNv4i16 %reg1039<kill>, 12, pred:14, pred:%reg0 llvm-svn: 103102
-
Bob Wilson authored
MachineSSAUpdater to avoid duplicating all the code. llvm-svn: 103060
-
- May 04, 2010
-
-
Evan Cheng authored
Teach PHI elimination to remove REG_SEQUENCE instructions and update references of the source operands with references of the destination with subreg indices. e.g. %reg1029<def>, %reg1030<def> = VLD1q16 %reg1024<kill>, ... %reg1031<def> = REG_SEQUENCE %reg1029<kill>, 5, %reg1030<kill>, 6 => %reg1031:5<def>, %reg1031:6<def> = VLD1q16 %reg1024<kill>, ... PHI elimination now does more than phi elimination. It is really a de-SSA pass. llvm-svn: 103039
-
Evan Cheng authored
llvm-svn: 103013
-
Devang Patel authored
llvm-svn: 103001
-
Evan Cheng authored
Instruction selection optimizations may have moved the def of a function argument out of the entry block. rdar://7937489 llvm-svn: 102993
-
Evan Cheng authored
llvm-svn: 102984
-
Dan Gohman authored
llvm-svn: 102981
-
Jakob Stoklund Olesen authored
This should make it possible to start producing kill flags in isel without breaking stuff. llvm-svn: 102976
-
Dan Gohman authored
in registers into a separate function to de-couple it from the top-down-specific logic in getRegForValue. llvm-svn: 102975
-
Jakob Stoklund Olesen authored
This fixes PR6941. llvm-svn: 102970
-
Eric Christopher authored
llvm-svn: 102966
-
- May 03, 2010
-
-
Bob Wilson authored
debug output is showing machine instructions, the IR-level basic block names aren't very meaningful, and because multiple machine basic blocks may be derived from one IR-level BB, they're also not unique. llvm-svn: 102960
-
Dan Gohman authored
beneficial cases. See the changes in test/CodeGen/X86/tail-opts.ll and test/CodeGen/ARM/ifcvt2.ll for details. The fix is to change HashEndOfMBB to hash at most one instruction, instead of trying to apply heuristics about when it will be profitable to consider more than one instruction. The regular tail-merging heuristics are already prepared to handle the same cases, and they're more precise. Also, make test/CodeGen/ARM/ifcvt5.ll and test/CodeGen/Thumb2/thumb2-branch.ll slightly more complex so that they continue to test what they're intended to test. And, this eliminates the problem in test/CodeGen/Thumb2/2009-10-15-ITBlockBranch.ll, the testcase from PR5204. Update it accordingly. llvm-svn: 102907
-
- May 01, 2010
-
-
Dale Johannesen authored
preventing the emission of the NOP on Darwin for a function with no actual code. From timberwolfmc with TEST=optllcdbg. llvm-svn: 102843
-
Anton Korobeynikov authored
when needed. This fixes PR7001 llvm-svn: 102838
-
Dan Gohman authored
handles argument lowering anyway, so there's no need for special casing here. llvm-svn: 102828
-
Dan Gohman authored
llvm-svn: 102826
-
Dan Gohman authored
try to put a kill flag on a DBG_INFO instruction. llvm-svn: 102820
-
Dale Johannesen authored
Seen in SingleSrc/Benchmarks/Misc/flops with TEST=optllcdbg. 7929951. llvm-svn: 102819
-
Dan Gohman authored
llvm-svn: 102817
-
Dan Gohman authored
modified. llvm-svn: 102816
-
Dan Gohman authored
code, and to eliminate the need for the SelectionDAGBuilder state to be live during CodeGenAndEmitDAG calls. Call SDB->clear() before CodeGenAndEmitDAG calls instead of before it, and move the CurDAG->clear() out of SelectionDAGBuilder, which doesn't own the DAG, and into CodeGenAndEmitDAG. llvm-svn: 102814
-
Dan Gohman authored
llvm-svn: 102810
-
Dan Gohman authored
changes before doing phi lowering for switches. llvm-svn: 102809
-
Bill Wendling authored
indexes could be of a different value type. Or not even using the same SDNode for the constant (weird, I know). Compare the actual values instead of the pointers. llvm-svn: 102791
-
- Apr 30, 2010
-
-
Dan Gohman authored
instruction selection is done; it's confusing to see parts of it printed, while other parts are omitted, along the way. llvm-svn: 102771
-
Jakob Stoklund Olesen authored
call that might throw. The landing pad assumes that all registers are in stack slots. We used to spill those dirty CSRs after the call, and the stack slots would be wrong when arriving at the landing pad. llvm-svn: 102770
-
Devang Patel authored
llvm-svn: 102743
-
Dan Gohman authored
llvm-svn: 102742
-
Jakob Stoklund Olesen authored
Rounding differences causes tests to fail on Linux. llvm-svn: 102729
-
Dan Gohman authored
comparisons sign-extended to a different bitwidth than the comparison operands. llvm-svn: 102721
-
Dan Gohman authored
llvm-svn: 102680
-