- Feb 11, 2010
-
-
Jakob Stoklund Olesen authored
Calling RemoveOperand is very expensive on huge PHI instructions. This makes early tail duplication run twice as fast on the Firefox JavaScript interpreter. llvm-svn: 95832
-
Jakob Stoklund Olesen authored
This makes early tail duplication run 60 times faster when compiling the Firefox JavaScript interpreter, see PR6186. llvm-svn: 95831
-
Mon P Wang authored
lowering and requires that certain types exist in ValueTypes.h. Modified widening to check if an op can trap and if so, the widening algorithm will apply only the op on the defined elements. It is safer to do this in widening because the optimizer can't guarantee removing unused ops in some cases. llvm-svn: 95823
-
Dale Johannesen authored
llvm-svn: 95819
-
- Feb 10, 2010
-
-
Bob Wilson authored
legalization even when the IR-level optimizer has removed dead phis, such as when the high half of an i64 value is unused on a 32-bit target. I had to adjust a few test cases that had dead phis. This is a partial fix for Radar 7627077. llvm-svn: 95816
-
Dale Johannesen authored
llvm-svn: 95814
-
Bill Wendling authored
the pointer values could be invalid. llvm-svn: 95813
-
Dale Johannesen authored
changed its behavior. Oops. llvm-svn: 95811
-
Dan Gohman authored
different word was intended. llvm-svn: 95795
-
Dan Gohman authored
llvm-svn: 95781
-
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
-