- Nov 18, 2009
-
-
Daniel Dunbar authored
llvm-svn: 89245
-
Daniel Dunbar authored
llvm-svn: 89210
-
- Nov 16, 2009
-
-
Jeffrey Yasskin authored
The large code model is documented at http://www.x86-64.org/documentation/abi.pdf and says that calls should assume their target doesn't live within the 32-bit pc-relative offset that fits in the call instruction. To do this, we turn off the global-address->target-global-address conversion in X86TargetLowering::LowerCall(). The first attempt at this broke the lazy JIT because it can separate the movabs(imm->reg) from the actual call instruction. The lazy JIT receives the address of the movabs as a relocation and needs to record the return address from the call; and then when that call happens, it needs to patch the movabs with the newly-compiled target. We could thread the call instruction into the relocation and record the movabs<->call mapping explicitly, but that seems to require at least as much new complication in the code generator as this change. To fix this, we make lazy functions _always_ go through a call stub. You'd think we'd only have to force lazy calls through a stub on difficult platforms, but that turns out to break indirect calls through a function pointer. The right fix for that is to distinguish between calls and address-of operations on uncompiled functions, but that's complex enough to leave for someone else to do. Another attempt at this defined a new CALL64i pseudo-instruction, which expanded to a 2-instruction sequence in the assembly output and was special-cased in the X86CodeEmitter's emitInstruction() function. That broke indirect calls in the same way as above. This patch also removes a hack forcing Darwin to the small code model. Without far-call-stubs, the small code model requires things of the JITMemoryManager that the DefaultJITMemoryManager can't provide. Thanks to echristo for lots of testing! llvm-svn: 88984
-
- Nov 15, 2009
-
-
Daniel Dunbar authored
- Used for running a single fixed command on a directory of files, with the option of deriving a temporary input file from the test source. llvm-svn: 88844
-
Daniel Dunbar authored
dirnames. Also, add support for the 'unsupported' config property. llvm-svn: 88838
-
Daniel Dunbar authored
- Currently just useful for timing, although it could be extended as one (bad) way to deal with flaky tests. llvm-svn: 88827
-
- Nov 14, 2009
-
-
Benjamin Kramer authored
forward declaration and patching tblgen to emit it right. Patch by Amine Khaldi! llvm-svn: 88798
-
Evan Cheng authored
Added getSubRegIndex(A,B) that returns subreg index of A to B. Use it to replace broken code in VirtRegRewriter. llvm-svn: 88753
-
- Nov 11, 2009
-
-
Sandeep Patel authored
llvm-svn: 86797
-
- Nov 10, 2009
-
-
Daniel Dunbar authored
llvm-svn: 86654
-
Daniel Dunbar authored
llvm-svn: 86653
-
- Nov 08, 2009
-
-
Daniel Dunbar authored
very robust) version of killall. Because I like making shiny new wheels out of spare parts. For use by buildbots when people insist on making cc1 infinite loop. :) llvm-svn: 86484
-
Anton Korobeynikov authored
since the instruction might use the other result of different type. llvm-svn: 86462
-
Daniel Dunbar authored
handled by buildbots now. llvm-svn: 86454
-
Daniel Dunbar authored
llvm-svn: 86449
-
Daniel Dunbar authored
llvm-svn: 86448
-
Daniel Dunbar authored
llvm-svn: 86447
-
Daniel Dunbar authored
llvm-svn: 86437
-
Daniel Dunbar authored
llvm-svn: 86436
-
- Nov 06, 2009
-
-
Chris Lattner authored
llvm-svn: 86239
-
Daniel Dunbar authored
llvm-svn: 86229
-
Daniel Dunbar authored
NewNightlyTest: Add -noclean option, which doesn't run 'make clean' before building LLVM (for testing). Also, switch to always running 'make clean' in the test-suite directories. llvm-svn: 86228
-
Daniel Dunbar authored
llvm-svn: 86227
-
Daniel Dunbar authored
llvm-svn: 86226
-
Dan Gohman authored
llvm-svn: 86206
-
- Nov 05, 2009
-
-
Douglas Gregor authored
- skip .svn directories - add a set of excluded filenames so we can easily skip tests llvm-svn: 86185
-
Daniel Dunbar authored
arbitrary command line arguments to the test suite). llvm-svn: 86137
-
- Nov 04, 2009
-
-
Evan Cheng authored
llvm-svn: 86023
-
- Nov 03, 2009
-
-
Bill Wendling authored
llvm-svn: 85963
-
Chris Lattner authored
llvm-svn: 85910
-
Daniel Dunbar authored
LLVM's tests. llvm-svn: 85882
-
Ted Kremenek authored
llvm-svn: 85860
-
- Nov 02, 2009
-
-
Jim Grosbach authored
llvm-svn: 85785
-
Anton Korobeynikov authored
Do not infer the target type for COPY_TO_REGCLASS from dest regclass, this won't work if it can contain several types. Require explicit result type for the node for now. This fixes PR5364. PS: It seems that blackfin usage of copy_to_regclass is completely bogus! llvm-svn: 85766
-
- Oct 31, 2009
-
-
Jim Grosbach authored
SDKROOT can refer to the target when we're building for the host. llvm-svn: 85672
-
- Oct 30, 2009
-
-
Jim Grosbach authored
llvm-svn: 85611
-
Dan Gohman authored
llvm-svn: 85556
-
- Oct 29, 2009
-
-
Dan Gohman authored
*ISelDAGToDAG.cpp to being regular code in SelectionDAGISel.cpp. llvm-svn: 85530
-
Dan Gohman authored
bunch of associated comments, because it doesn't have anything to do with DAGs or scheduling. This is another step in decoupling MachineInstr emitting from scheduling. llvm-svn: 85517
-
Johnny Chen authored
I was trying to check the WIP file to some local repository, but ended up checking in the llvm repository. Oops! llvm-svn: 85470
-