- May 04, 2006
-
-
Chris Lattner authored
llvm-svn: 28102
-
Chris Lattner authored
llvm-svn: 28099
-
Chris Lattner authored
thing that can be in it. Remove a dead method. llvm-svn: 28098
-
Chris Lattner authored
llvm-svn: 28094
-
Chris Lattner authored
llvm-svn: 28093
-
Chris Lattner authored
llvm-svn: 28092
-
Chris Lattner authored
llvm-svn: 28091
-
- May 03, 2006
-
-
Chris Lattner authored
simplifies the MachineCodeEmitter interface just a little bit and makes BasicBlocks work like constant pools and jump tables. llvm-svn: 28082
-
Nate Begeman authored
not be 100% dense. Increase the minimum threshold for the number of cases in a switch statement from 4 to 6 in order to create a jump table. llvm-svn: 28079
-
Evan Cheng authored
the heuristic to further reduce spills for several test cases. (Note, it may not necessarily translate to runtime win!) llvm-svn: 28076
-
Owen Anderson authored
Refactor TargetMachine, pushing handling of TargetData into the target-specific subclasses. This has one caller-visible change: getTargetData() now returns a pointer instead of a reference. This fixes PR 759. llvm-svn: 28074
-
Chris Lattner authored
llvm-svn: 28069
-
Chris Lattner authored
1. Change several methods in the MachineCodeEmitter class to be pure virtual. 2. Suck emitConstantPool/initJumpTableInfo into startFunction, removing them from the MachineCodeEmitter interface, and reducing the amount of target- specific code. 3. Change the JITEmitter so that it allocates constantpools and jump tables *right* next to the functions that they belong to, instead of in a separate pool of memory. This makes all memory for a function be contiguous, and means the JITEmitter only tracks one block of memory now. llvm-svn: 28065
-
- May 02, 2006
-
-
Chris Lattner authored
just have the JIT malloc them. llvm-svn: 28062
-
Chris Lattner authored
code emission location into the base class, instead of being in the derived classes. This change means that low-level methods like emitByte/emitWord now are no longer virtual (yaay for speed), and we now have a framework to support growable code segments. This implements feature request #1 of PR469. llvm-svn: 28059
-
Nate Begeman authored
llvm-svn: 28057
-
Chris Lattner authored
llvm-svn: 28055
-
Chris Lattner authored
useful for debugging. llvm-svn: 28051
-
Nate Begeman authored
basic block labels, consolidating the code to do so in one place for each target. llvm-svn: 28050
-
Jeff Cohen authored
llvm-svn: 28047
-
Jeff Cohen authored
llvm-svn: 28046
-
Jeff Cohen authored
llvm-svn: 28044
-
Chris Lattner authored
instructions in the virtregfolded map that were deleted. Because they were deleted, newly allocated instructions could end up at the same address, magically finding themselves in the map. The solution is to remove entries from the map when we delete the instructions. llvm-svn: 28041
-
- May 01, 2006
-
-
Chris Lattner authored
instruction folded with spill code, make sure the remove the load from the virt reg folded map. llvm-svn: 28040
-
Chris Lattner authored
llvm-svn: 28039
-
Evan Cheng authored
llvm-svn: 28035
-
Evan Cheng authored
up the schedule. This helps code that looks like this: loads ... computations (first set) ... stores (first set) ... loads computations (seccond set) ... stores (seccond set) ... Without this change, the stores and computations are more likely to interleave: loads ... loads ... computations (first set) ... computations (second set) ... computations (first set) ... stores (first set) ... computations (second set) ... stores (stores set) ... This can increase the number of spills if we are unlucky. llvm-svn: 28033
-
Evan Cheng authored
llvm-svn: 28030
-
Evan Cheng authored
Remove temp. option -spiller-check-liveout, it didn't cause any failure nor performance regressions. llvm-svn: 28029
-
Chris Lattner authored
llvm-svn: 28026
-
- Apr 30, 2006
-
-
Evan Cheng authored
But this is incorrect if the spilled value live range extends beyond the current BB. It is currently controlled by a temporary option -spiller-check-liveout. llvm-svn: 28024
-
- Apr 29, 2006
-
-
Chris Lattner authored
with some changes I have to the new CFE. llvm-svn: 28022
-
- Apr 28, 2006
-
-
Evan Cheng authored
llvm-svn: 28012
-
Evan Cheng authored
FORMAL_ARGUMENTS SDOperand in the return result vector. llvm-svn: 28009
-
Chris Lattner authored
the same. In this case, don't emit a noop copy. llvm-svn: 28008
-
Evan Cheng authored
node can be folded. llvm-svn: 28003
-
Chris Lattner authored
and is already available, instead of falling back to emitting a load, fall back to emitting a reg-reg copy. This generates significantly better code for some SSE testcases, as SSE has lots of two-address instructions and none of them are read/modify/write. As one example, this change does: pshufd %XMM5, XMMWORD PTR [%ESP + 84], 255 xorps %XMM2, %XMM5 cmpltps %XMM1, %XMM0 - movaps XMMWORD PTR [%ESP + 52], %XMM0 - movapd %XMM6, XMMWORD PTR [%ESP + 52] + movaps %XMM6, %XMM0 cmpltps %XMM6, XMMWORD PTR [%ESP + 68] movapd XMMWORD PTR [%ESP + 52], %XMM6 movaps %XMM6, %XMM0 cmpltps %XMM6, XMMWORD PTR [%ESP + 36] cmpltps %XMM3, %XMM0 - movaps XMMWORD PTR [%ESP + 20], %XMM0 - movapd %XMM7, XMMWORD PTR [%ESP + 20] + movaps %XMM7, %XMM0 cmpltps %XMM7, XMMWORD PTR [%ESP + 4] movapd XMMWORD PTR [%ESP + 20], %XMM7 cmpltps %XMM4, %XMM0 ... which is far better than a store followed by a load! llvm-svn: 28001
-
- Apr 27, 2006
-
-
Evan Cheng authored
(VAND, VADD, etc.). Legalizer will assert otherwise. llvm-svn: 27991
-
Chris Lattner authored
PR748. llvm-svn: 27987
-
- Apr 26, 2006
-
-
Evan Cheng authored
llvm-svn: 27974
-