summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/ExecutionEngine
Commit message (Collapse)AuthorAgeFilesLines
...
* Disable the JITTest.NoStubs test for Darwin PPC. It apparently doesn't implementBill Wendling2009-11-131-0/+4
| | | | | | emitFunctionStubAtAddr. llvm-svn: 88708
* Use stubs when we have them, otherwise use code we already have,Eric Christopher2009-11-121-0/+41
| | | | | | | | otherwise create a stub. Add a test to make sure we don't create extraneous stubs. llvm-svn: 86941
* Fix JITTest.ModuleDeletion in -Asserts mode (which turns off JITEmitDebugInfoJeffrey Yasskin2009-11-111-1/+7
| | | | | | by default). llvm-svn: 86807
* Remove dlsym stubs, with Nate Begeman's permission.Jeffrey Yasskin2009-11-091-3/+0
| | | | llvm-svn: 86606
* Fix the ModuleDeletion test on PPC and ARM.Jeffrey Yasskin2009-10-281-0/+1
| | | | llvm-svn: 85352
* Revert the API changes from r85295 to make it easier for people to buildJeffrey Yasskin2009-10-271-3/+3
| | | | | | against both 2.6 and HEAD. The default is still changed to eager jitting. llvm-svn: 85330
* Change the JIT to compile eagerly by default as agreed inJeffrey Yasskin2009-10-271-3/+3
| | | | | | | http://llvm.org/PR5184, and beef up the comments to describe what both options do and the risks of lazy compilation in the presence of threads. llvm-svn: 85295
* Type.h doesn't need to #include LLVMContext.hChris Lattner2009-10-271-0/+1
| | | | llvm-svn: 85254
* Automatically do the equivalent of freeMachineCodeForFunction(F) when F isJeffrey Yasskin2009-10-272-9/+162
| | | | | | | | | | | | | being destroyed. This allows users to run global optimizations like globaldce even after some functions have been jitted. This patch also removes the Function* parameter to JITEventListener::NotifyFreeingMachineCode() since it can cause that to be called when the Function is partially destroyed. This change will be even more helpful later when I think we'll want to allow machine code to actually outlive its Function. llvm-svn: 85182
* Fix http://llvm.org/PR4822: allow module deletion after a function has beenJeffrey Yasskin2009-10-232-3/+30
| | | | | | | | | | | | | | compiled. When functions are compiled, they accumulate references in the JITResolver's stub maps. This patch removes those references when the functions are destroyed. It's illegal to destroy a Function when any thread may still try to call its machine code. This patch also updates r83987 to use ValueMap instead of explicit CallbackVHs and fixes a couple "do stuff inside assert()" bugs from r84522. llvm-svn: 84975
* Move the Function*->allocated blocks map from the JITMemoryManager to theJeffrey Yasskin2009-10-201-38/+39
| | | | | | | | | | | | | | | JITEmitter. I'm gradually making Functions auto-remove themselves from the JIT when they're destroyed. In this case, the Function needs to be removed from the JITEmitter, but the map recording which Functions need to be removed lived behind the JITMemoryManager interface, which made things difficult. This patch replaces the deallocateMemForFunction(Function*) method with a pair of methods deallocateFunctionBody(void *) and deallocateExceptionTable(void *) corresponding to the two startFoo/endFoo pairs. llvm-svn: 84651
* PowerPC ifdef'ing considered more complicated than one might like.Daniel Dunbar2009-10-201-1/+1
| | | | llvm-svn: 84603
* Correct test for PowerPC.Nick Lewycky2009-10-201-1/+1
| | | | llvm-svn: 84595
* Also check for __POWERPC__ when skipping these tests.Daniel Dunbar2009-10-191-1/+1
| | | | llvm-svn: 84482
* Disable another unittest that doesn't work on arm and ppc.Benjamin Kramer2009-10-151-1/+1
| | | | llvm-svn: 84186
* The ARM and PowerPC jits are broken in this regard.Nick Lewycky2009-10-141-0/+2
| | | | llvm-svn: 84128
* Keep track of stubs that are created. This fixes PR5162 and probably PR4822 andJeffrey Yasskin2009-10-131-0/+96
| | | | | | 4406. Patch by Nick Lewycky! llvm-svn: 84032
* Make the ExecutionEngine automatically remove global mappings on when theirJeffrey Yasskin2009-10-131-0/+13
| | | | | | | GlobalValue is destroyed. Function destruction still leaks machine code and can crash on leaked stubs, but this is some progress. llvm-svn: 83987
* ExecutionEngine::clearGlobalMappingsFromModule failed to remove reverseJeffrey Yasskin2009-10-091-0/+20
| | | | | | | mappings, which could cause errors and assert-failures. This patch fixes that, adds a test, and refactors the global-mapping-removal code into a single place. llvm-svn: 83678
* Fix illegal cross-type aliasing. Found by baldrick on a newer gcc.Jeffrey Yasskin2009-10-061-6/+4
| | | | llvm-svn: 83401
* Fix http://llvm.org/PR5116 by rolling back r60822. This passes `make unittestsJeffrey Yasskin2009-10-061-0/+53
| | | | | | check-lit` on both x86-64 Linux and x86-32 Darwin. llvm-svn: 83353
* Push LLVMContexts through the IntegerType APIs.Owen Anderson2009-08-134-9/+14
| | | | llvm-svn: 78948
* Make ExecutionEngine::updateGlobalMapping(GV, NULL) properly remove GV's oldJeffrey Yasskin2009-08-042-4/+95
| | | | | | address from the reverse mapping, and add a test that this works now. llvm-svn: 78127
* Update unittest for LLVM API change.Benjamin Kramer2009-07-311-1/+1
| | | | llvm-svn: 77730
* Move types back to the 2.5 API.Owen Anderson2009-07-291-2/+1
| | | | llvm-svn: 77516
* Revert the ConstantInt constructors back to their 2.5 forms where possible, ↵Owen Anderson2009-07-241-2/+1
| | | | | | thanks to contexts-on-types. More to come. llvm-svn: 77011
* Fixing unittests on 32-bit Darwin, using 0x...ULL instead of 0x...U .Reid Kleckner2009-07-231-4/+4
| | | | llvm-svn: 76904
* Re-committing r76828 with the JIT memory manager changes now that the buildReid Kleckner2009-07-231-0/+276
| | | | | | bots like the BumpPtrAllocator changes. llvm-svn: 76902
* Reverting r76825 and r76828, since they caused clang runtime errors and some ↵Reid Kleckner2009-07-231-276/+0
| | | | | | build failure involving memset. llvm-svn: 76838
* Make the JIT code emitter properly retry and ask for more memory when it runsReid Kleckner2009-07-231-0/+276
| | | | | | | | | | | | | out of memory, and also make the default memory manager allocate more memory when it runs out. Also, switch function stubs and global data over to using the BumpPtrAllocator. This makes it so the JIT no longer mmaps (or the equivalent on Windows) 16 MB of memory, and instead allocates in 512K slabs. I suspect this size could go lower, especially on embedded platforms, now that more slabs can be allocated. llvm-svn: 76828
* Unbreak unittests build.Daniel Dunbar2009-07-182-2/+2
| | | | | | - Reid, please check, I'm not sure if this is what was intended. llvm-svn: 76286
* Add EngineBuilder to ExecutionEngine in favor of the five optional argument ↵Reid Kleckner2009-07-182-12/+17
| | | | | | | | EE::create(). Also a test commit. llvm-svn: 76276
* Move EVER MORE stuff over to LLVMContext.Owen Anderson2009-07-141-2/+4
| | | | llvm-svn: 75703
* Begin the painful process of tearing apart the rat'ss nest that is ↵Owen Anderson2009-07-131-1/+1
| | | | | | | | | Constants.cpp and ConstantFold.cpp. This involves temporarily hard wiring some parts to use the global context. This isn't ideal, but it's the only way I could figure out to make this process vaguely incremental. llvm-svn: 75445
* Don't use a void return type with a function that returns a value.Dan Gohman2009-07-111-1/+2
| | | | llvm-svn: 75364
* Fix unit tests.Owen Anderson2009-07-101-2/+2
| | | | llvm-svn: 75262
* Add an option to allocate JITed global data separately from code. ByJeffrey Yasskin2009-07-081-0/+126
| | | | | | | | | | | | | | default, this option is not enabled to support clients who rely on this behavior. Fixes http://llvm.org/PR4483 A patch to allocate additional memory for globals after we run out is forthcoming. Patch by Reid Kleckner! llvm-svn: 75059
* Hold the LLVMContext by reference rather than by pointer.Owen Anderson2009-07-011-1/+1
| | | | llvm-svn: 74640
* Fix unit tests for LLVMContext+Module.Owen Anderson2009-07-011-1/+2
| | | | llvm-svn: 74622
* Add a JITEventListener interface that gets called back when a new function isJeffrey Yasskin2009-06-253-0/+275
emitted or the machine code for a function is freed. Chris mentioned that we may also want a notification when a stub is emitted, but that'll be a future change. I intend to use this to tell oprofile where functions are emitted and what lines correspond to what addresses. llvm-svn: 74157
OpenPOWER on IntegriCloud