- Nov 05, 2008
-
-
Dan Gohman authored
changes. llvm-svn: 58760
-
Richard Osborne authored
llvm-svn: 58755
-
Evan Cheng authored
llvm-svn: 58752
-
Evan Cheng authored
llvm-svn: 58750
-
Dan Gohman authored
priority function. Instead, just iterate over the AllNodes list, which is already in topological order. This eliminates a fair amount of bookkeeping, and speeds up the isel phase by about 15% on many testcases. The impact on most targets is that AddToISelQueue calls can be simply removed. In the x86 target, there are two additional notable changes. The rule-bending AND+SHIFT optimization in MatchAddress that creates new pre-isel nodes during isel is now a little more verbose, but more robust. Instead of either creating an invalid DAG or creating an invalid topological sort, as it has historically done, it can now just insert the new nodes into the node list at a position where they will be consistent with the topological ordering. Also, the address-matching code has logic that checked to see if a node was "already selected". However, when a node is selected, it has all its uses taken away via ReplaceAllUsesWith or equivalent, so it won't recieve any further visits from MatchAddress. This code is now removed. llvm-svn: 58748
-
Dan Gohman authored
by isel and potentially forced into registers. llvm-svn: 58747
-
Evan Cheng authored
indirect gv reference. Please don't call it lazy. llvm-svn: 58746
-
- Nov 04, 2008
-
-
Evan Cheng authored
llvm-svn: 58725
-
Evan Cheng authored
llvm-svn: 58714
-
Evan Cheng authored
llvm-svn: 58708
-
Evan Cheng authored
llvm-svn: 58707
-
Evan Cheng authored
For some targets, it's not possible to place GVs in the same memory buffer as the MachineCodeEmitter allocated memory. Code and data has different read / write / execution privilege requirements. This is a short term workaround. The current solution is for the JIT memory manager to manage code and data memory separately. llvm-svn: 58688
-
Evan Cheng authored
llvm-svn: 58683
-
Evan Cheng authored
llvm-svn: 58671
-
Dan Gohman authored
have its node id set. The new and and shift nodes are the nodes that need the IDs. This fixes PR2982. llvm-svn: 58655
-
- Nov 03, 2008
-
-
Evan Cheng authored
llvm-svn: 58644
-
Evan Cheng authored
llvm-svn: 58643
-
Jim Grosbach authored
Add binary encoding support for multiply instructions. Some blanks left to fill in, but the basics are there. llvm-svn: 58626
-
Dan Gohman authored
adding a TargetMachine member to the base TargetAsmInfo class instead. llvm-svn: 58624
-
- Oct 31, 2008
-
-
Bill Wendling authored
llvm-svn: 58539
-
Evan Cheng authored
llvm-svn: 58533
-
Evan Cheng authored
llvm-svn: 58532
-
Evan Cheng authored
llvm-svn: 58529
-
Mon P Wang authored
llvm-svn: 58528
-
Evan Cheng authored
llvm-svn: 58527
-
Evan Cheng authored
llvm-svn: 58526
-
Bill Wendling authored
llvm-svn: 58523
-
Evan Cheng authored
Change x86 register allocation ordering to match that of gcc. Otherwise some tools get confused by prologue generated by llvm. llvm-svn: 58517
-
Bill Wendling authored
callee-saved restore code. It could skip over conditional jumps accidentally. Instead, just skip the "return" instructions. llvm-svn: 58489
-
Dan Gohman authored
vector element 0 for a store, as it's smaller and faster. llvm-svn: 58483
-
Evan Cheng authored
llvm-svn: 58474
-
- Oct 30, 2008
-
-
Duncan Sands authored
(i32 for PPC, not i8). Correct this, and some formatting while there. llvm-svn: 58451
-
Duncan Sands authored
getShiftAmountTy (i32 in the case of CellSPU). llvm-svn: 58449
-
Evan Cheng authored
llvm-svn: 58433
-
Mon P Wang authored
One will only see an effect if legalizetype is not active. Will move support to LegalizeType soon. llvm-svn: 58426
-
Scott Michel authored
so that va_start/va_arg/et.al. will walk arguments correctly for Cell SPU. N.B.: Because neither clang nor llvm-gcc-4.2 can be built for CellSPU, this is still unexorcised code. llvm-svn: 58415
-
Evan Cheng authored
llvm-svn: 58409
-
Evan Cheng authored
llvm-svn: 58408
-
Nate Begeman authored
llvm-svn: 58403
-
- Oct 29, 2008
-
-
Dale Johannesen authored
allows ppcf128->int conversion to work with DeadInstructionElimination. This is now turned off but RM is harmless. It does not do a complete job of modeling the rounding mode. Revert marking MFCR as using all 7 CR subregisters; while correct, this caused the problem in PR 2964, plus the local RA crash noted in the comments. This was needed to make DeadInstructionElimination, but as we are not running that, it is backed out for now. Eventually it should go back in and the other problems fixed where they're broken. llvm-svn: 58391
-