- Jun 12, 2013
-
-
Patrik Hagglund authored
LLVMX86CompilationCallback2, called from inline asm. llvm-svn: 183824
-
- Feb 19, 2013
-
-
Rafael Espindola authored
PPCJITInfo.cpp in r175394. llvm-svn: 175531
-
- Feb 15, 2013
-
-
Rafael Espindola authored
than we need to and some ELF linkers complain about directly accessing symbols with default visibility. llvm-svn: 175268
-
Rafael Espindola authored
blocks. We still don't have consensus if we should try to change clang or the standard, but llvm should work with compilers that implement the current standard and mangle those functions. llvm-svn: 175267
-
- Feb 14, 2013
-
-
Rafael Espindola authored
llvm-svn: 175133
-
Rafael Espindola authored
llvm-svn: 175121
-
- Feb 04, 2013
-
-
Evgeniy Stepanov authored
This change lets us bootstrap LLVM/Clang under ASan and MSan. It contains fixes for 2 issues: - X86JIT reads return address from stack, which MSan does not know is initialized. - bugpoint tests run binaries with RLIMIT_AS. This does not work with certain Sanitizers. We are no longer including config.h in Compiler.h with this change. llvm-svn: 174306
-
- Jan 02, 2013
-
-
Chandler Carruth authored
into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. llvm-svn: 171366
-
- Aug 29, 2012
-
-
Benjamin Kramer authored
llvm-svn: 162843
-
- Aug 21, 2012
-
-
Richard Smith authored
no cost to using memcpy here: the fixed code is optimized by LLVM to perfect machine code. llvm-svn: 162311
-
- Feb 13, 2012
-
-
Ahmed Charles authored
- Use unsigned literals when the desired result is unsigned. This mostly allows unsigned/signed mismatch warnings to be less noisy even if they aren't on by default. - Remove misplaced llvm_unreachable. - Add static to a declaration of a function on MSVC x86 only. - Change some instances of calling a static function through a variable to simply calling that function while removing the unused variable. llvm-svn: 150364
-
- Jan 20, 2012
-
-
David Blaikie authored
llvm-svn: 148578
-
- Dec 03, 2011
-
-
Nick Lewycky authored
the same value) to this variable. This code could be refactored, but it doesn't matter since the old JIT is going away. Add tsan annotations to ignore the race. llvm-svn: 145745
-
- Feb 05, 2011
-
-
NAKAMURA Takumi authored
llvm-svn: 124947
-
NAKAMURA Takumi authored
llvm-svn: 124946
-
- Nov 29, 2010
-
-
Michael J. Spencer authored
llvm-svn: 120298
-
- Oct 23, 2010
-
-
Chandler Carruth authored
until other LLVM projects using these are cleaned up. llvm-svn: 117200
-
- Mar 15, 2010
-
-
Jeffrey Yasskin authored
to re-instrument the code. We depend on the system valgrind.h to avoid adding a new license. llvm-svn: 98529
-
- Feb 08, 2010
-
-
Torok Edwin authored
Thanks to Kristaps Straupe for noticing the bug. llvm-svn: 95537
-
- Jan 05, 2010
-
-
David Greene authored
llvm-svn: 92651
-
- Dec 15, 2009
-
-
Jeffrey Yasskin authored
remove start/finishGVStub and the BufferState helper class from the MachineCodeEmitter interface. It has the side-effect of not setting the indirect global writable and then executable on ARM, but that shouldn't be necessary. llvm-svn: 91464
-
- Nov 24, 2009
-
-
Jeffrey Yasskin authored
way for each TargetJITInfo subclass to allocate its own stubs. This means stubs aren't as exactly-sized anymore, but it lets us get rid of TargetJITInfo::emitFunctionStubAtAddr(), which lets ARM and PPC support the eager JIT, fixing http://llvm.org/PR4816. * Rename the JITEmitter's stub creation functions to describe the kind of stub they create. So far, all of them create lazy-compilation stubs, but they sometimes get used when far-call stubs are needed. Fixing http://llvm.org/PR5201 will involve fixing this. llvm-svn: 89715
-
- Nov 23, 2009
-
-
Jeffrey Yasskin authored
It's probably better in the long run to replace the indirect-GlobalVariable system. That'll be done after a subsequent patch. llvm-svn: 89708
-
- 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
-
- Sep 15, 2009
-
-
Dale Johannesen authored
interrupt instruction, which shouldn't arise any other way). 0xcd is also used by JITMemoryManager to initialize the buffer to garbage, which means it could appear following a noreturn call even when that is not a stub, confusing X86CompilationCallback2. PR 4929. llvm-svn: 81888
-
- Sep 06, 2009
-
-
Anton Korobeynikov authored
dependent. Hopefully, this will fix PR3801. llvm-svn: 81132
-
- Sep 03, 2009
-
-
Evan Cheng authored
llvm-svn: 80885
-
Evan Cheng authored
X86JITInfo::getLazyResolverFunction() should not read cpu id to determine whether sse is available. Just use consult subtarget. No functionality changes. llvm-svn: 80880
-
- Aug 28, 2009
-
-
Anton Korobeynikov authored
Some other minor win64 fixes as well. Patch by Michael Beck! llvm-svn: 80370
-
- Aug 24, 2009
-
-
Chris Lattner authored
llvm-svn: 79873
-
- Aug 20, 2009
-
-
Reid Kleckner authored
llvm-svn: 79494
-
- Aug 05, 2009
-
-
Bruno Cardoso Lopes authored
for ELF to work. 2) RIP addressing: Use SIB bytes for absolute relocations where RegBase=0, IndexReg=0. 3) The JIT can get the real address of cstpools and jmptables during code emission, fix that for object code emission llvm-svn: 78129
-
- Aug 03, 2009
-
-
Bill Wendling authored
- Tidy up some headers. llvm-svn: 77929
-
- Jul 14, 2009
-
-
Torok Edwin authored
This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed"). llvm-svn: 75640
-
- Jul 12, 2009
-
-
Torok Edwin authored
llvm-svn: 75416
-
- Jul 11, 2009
-
-
Torok Edwin authored
Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG builds. llvm-svn: 75379
-
- Jul 08, 2009
-
-
Torok Edwin authored
cerr+abort -> llvm_report_error assert(0)+abort -> LLVM_UNREACHABLE (assert(0)+llvm_unreachable-> abort() included) llvm-svn: 75018
-
- May 30, 2009
-
-
Bruno Cardoso Lopes authored
JITCodeEmitter and ObjectCodeEmitter. No functional changes yet. Patch by Aaron Gray llvm-svn: 72631
-
- Feb 18, 2009
-
-
Nate Begeman authored
that has not been JIT'd yet, the callee is put on a list of pending functions to JIT. The call is directed through a stub, which is updated with the address of the function after it has been JIT'd. A new interface for allocating and updating empty stubs is provided. Add support for removing the ModuleProvider the JIT was created with, which would otherwise invalidate the JIT's PassManager, which is initialized with the ModuleProvider's Module. Add support under a new ExecutionEngine flag for emitting the infomration necessary to update Function and GlobalVariable stubs after JITing them, by recording the address of the stub and the name of the GlobalValue. This allows code to be copied from one address space to another, where libraries may live at different virtual addresses, and have the stubs updated with their new correct target addresses. llvm-svn: 64906
-
- Feb 06, 2009
-
-
Dan Gohman authored
addresses to symbols. llvm-svn: 63962
-