- Feb 10, 2010
-
-
Evan Cheng authored
Now that ShrinkDemandedOps() is separated out from DAG combine. It sometimes leave some obvious nops which dag combine used to clean up afterwards e.g. (trunk (ext n)) -> n. Look for them and squash them. llvm-svn: 95757
-
Dale Johannesen authored
llvm-svn: 95749
-
Chris Lattner authored
llvm-svn: 95748
-
Evan Cheng authored
llvm-svn: 95747
-
Evan Cheng authored
llvm-svn: 95746
-
Chris Lattner authored
llvm-svn: 95745
-
Bill Wendling authored
llvm-svn: 95740
-
Dale Johannesen authored
register coalescing. This fixes many crashes and places where debug info affects codegen (when dbg.value is lowered to machine instructions, which it isn't yet in TOT). llvm-svn: 95739
-
Chris Lattner authored
The major win of this is that the code is simpler and they print on the same line as the instruction again: movl %eax, 96(%esp) ## 4-byte Spill movl 96(%esp), %eax ## 4-byte Reload cmpl 92(%esp), %eax ## 4-byte Folded Reload jl LBB7_86 llvm-svn: 95738
-
Bill Wendling authored
llvm-svn: 95737
-
Dale Johannesen authored
llvm-svn: 95736
-
Dale Johannesen authored
the field from being used uninitialized later in some cases. llvm-svn: 95735
-
Chris Lattner authored
OutStreamer.AddBlankLine instead of textually. llvm-svn: 95734
-
Dale Johannesen authored
llvm-svn: 95730
-
David Greene authored
Only dump output in debug mode. llvm-svn: 95711
-
- Feb 09, 2010
-
-
Bill Wendling authored
llvm-svn: 95707
-
Chris Lattner authored
into TargetOpcodes.h. #include the new TargetOpcodes.h into MachineInstr. Add new inline accessors (like isPHI()) to MachineInstr, and start using them throughout the codebase. llvm-svn: 95687
-
Jakob Stoklund Olesen authored
Patch by M Wahab! llvm-svn: 95668
-
Dale Johannesen authored
llvm-svn: 95647
-
Devang Patel authored
llvm-svn: 95646
-
Lang Hames authored
Previously spill registers, whose def indexes are not defined, would sometimes be improperly marked as coalescable with conflicting registers. The new findCoalesces routine conservatively assumes that any register with at least one undefined def is not coalescable with any register it interferes with. llvm-svn: 95636
-
Lang Hames authored
Added copy sensible construction & assignment to PBQP graphs and fixed a memory access bug in the heuristic solver. llvm-svn: 95633
-
Dan Gohman authored
direct MCExpr equivalents. Don't use MCExpr::Shr because it isn't consistent between targets. llvm-svn: 95620
-
Chris Lattner authored
MCSymbol, we can remove the 'suffix' argument of GetBlockAddressSymbol. Do so. llvm-svn: 95601
-
- Feb 08, 2010
-
-
Dan Gohman authored
expression; don't go into an infinite loop if it does. llvm-svn: 95591
-
Dan Gohman authored
in global initializers. Instead of aborting, attempt to fold them on the spot. If folding succeeds, emit the folded expression instead. This fixes PR6255. llvm-svn: 95583
-
Dale Johannesen authored
we can get in here if FastISel gives up in a block. (Actually the two copies of this need to be unified. Later.) llvm-svn: 95579
-
Dan Gohman authored
for blocks ending in "unreachable". llvm-svn: 95565
-
- Feb 07, 2010
-
-
Duncan Sands authored
warns about this base class not having a virtual destructor, but since this class has no virtual methods and neither it or the types derived from it has a destructor, a protected trivial destructor will do (and shuts cppcheck up) the trick without the cost of introducing a vtable. llvm-svn: 95526
-
- Feb 06, 2010
-
-
Evan Cheng authored
only run for x86 with fastisel. I've found it being very effective in eliminating some obvious dead code as result of formal parameter lowering especially when tail call optimization eliminated the need for some of the loads from fixed frame objects. It also shrinks a number of the tests. A couple of tests no longer make sense and are now eliminated. llvm-svn: 95493
-
Bob Wilson authored
llvm-svn: 95488
-
Dale Johannesen authored
addresses in dbg.declare; ignore this for the moment to prevent things from breaking. llvm-svn: 95471
-
Devang Patel authored
llvm-svn: 95461
-
Devang Patel authored
llvm-svn: 95452
-
- Feb 05, 2010
-
-
Evan Cheng authored
When the scheduler unfold a load folding instruction it move some of the predecessors to the unfolded load. It decides what gets moved to the load by checking whether the new load is using the predecessor as an operand. The check neglects the cases whether the predecessor is a flagged scheduling unit. rdar://7604000 llvm-svn: 95339
-
Bill Wendling authored
following it. However, the EmitGlobalConstant method wasn't emitting a body for the constant. The assembler doesn't like that. Before, we were generating this: .zerofill __DATA, __common, __cmd, 1, 3 This fix puts us back to that semantic. llvm-svn: 95336
-
- Feb 04, 2010
-
-
Evan Cheng authored
llvm-svn: 95322
-
Jakob Stoklund Olesen authored
ProcessImplicitDefs would only mark one operand per instruction with <undef>. This fixed PR6086. llvm-svn: 95319
-
Evan Cheng authored
It's too risky to eliminate sext / zext of call results for tail call optimization even if the caller / callee attributes completely match. The callee may have been bitcast'ed (or otherwise lied about what it's doing). llvm-svn: 95282
-
- Feb 03, 2010
-
-
Devang Patel authored
llvm-svn: 95242
-