- Dec 28, 2013
-
-
Nico Weber authored
llvm-svn: 198089
-
- Dec 12, 2013
-
-
Richard Barton authored
llvm-svn: 197144
-
- Dec 10, 2013
-
-
NAKAMURA Takumi authored
llvm-svn: 196908
-
- Oct 16, 2013
-
-
Rafael Espindola authored
Before this patch we would assert when building llvm as multiple shared libraries (cmake's BUILD_SHARED_LIBS). The problem was the line if (T.AsmStreamerCtorFn == Target::createDefaultAsmStreamer) which returns false because of -fvisibility-inlines-hidden. It is easy to fix just this one case, but I decided to try to also make the registration more strict. It looks like the old logic for ignoring followup registration was just a temporary hack that outlived its usefulness. This patch converts the ifs to asserts, fixes the few cases that were registering twice and makes sure all the asserts compare with null. Thanks for Joerg for reporting the problem and reviewing the patch. llvm-svn: 192803
-
- Oct 02, 2013
-
-
Filip Pizlo authored
This threads SectionName through the allocateCodeSection/allocateDataSection APIs, both in C++ and C land. It's useful for the memory managers that are allocating a section to know what the name of the section is. At a minimum, this is useful for low-level debugging - it's customary for JITs to be able to tell you what memory they allocated, and as part of any such dump, they should be able to tell you some meta-data about what each allocation is for. This allows clients that supply their own memory managers to do this. Additionally, we also envision the SectionName being useful for passing meta-data from within LLVM to an LLVM client. This changes both the C and C++ APIs, and all of the clients of those APIs within LLVM. I'm assuming that it's safe to change the C++ API because that API is allowed to change. I'm assuming that it's safe to change the C API because we haven't shipped the API in a release yet (LLVM 3.3 doesn't include the MCJIT memory management C API). llvm-svn: 191804
-
- Jul 27, 2013
-
-
Rafael Espindola authored
This reverts commit r187248. It broke many bots. llvm-svn: 187254
-
- Jul 26, 2013
-
-
Bill Schmidt authored
Both GCC and LLVM will implicitly define __ppc__ and __powerpc__ for all PowerPC targets, whether 32- or 64-bit. They will both implicitly define __ppc64__ and __powerpc64__ for 64-bit PowerPC targets, and not for 32-bit targets. We cannot be sure that all other possible compilers used to compile Clang/LLVM define both __ppc__ and __powerpc__, for example, so it is best to check for both when relying on either inside the Clang/LLVM code base. This patch makes sure we always check for both variants. In addition, it fixes one unnecessary check in lib/Target/PowerPC/PPCJITInfo.cpp. (At least one of __ppc__ and __powerpc__ should always be defined when compiling for a PowerPC target, no matter which compiler is used, so testing for them is unnecessary.) There are some places in the compiler that check for other variants, like __POWERPC__ and _POWER, and I have left those in place. There is no need to add them elsewhere. This seems to be in Apple-specific code, and I won't take a chance on breaking it. There is no intended change in behavior; thus, no test cases are added. llvm-svn: 187248
-
- Jul 02, 2013
-
-
David Blaikie authored
llvm-svn: 185443
-
Elena Demikhovsky authored
llvm-svn: 185421
-
- May 21, 2013
-
-
Ulrich Weigand authored
Alternative fix for problem addressed in r182233 Revision r182233 partially reverted the change in r181200 to simplify JIT unif test #ifdefs, because that change caused a link error on some host operating systems where the export list requires the following symbols to be defined: JITTest_AvailableExternallyFunction JITTest_AvailableExternallyGlobal As discussed on the list, the commit reverts r182233 (and re-installs the full r181200 change), and instead fixes the link problem by moving those two symbols to the top of the file and unconditionally defining them. llvm-svn: 182367
-
- May 20, 2013
-
-
Bob Wilson authored
The export list for this test requires the following symbols to be available: JITTest_AvailableExternallyFunction JITTest_AvailableExternallyGlobal The change in r181200 commented them out, which caused the test to fail to link, at least on Darwin. I have only reverted the change for arm, since I can't test the other targets and since it sounds like that change was fixing real problems for those other targets. It should be possible to rearrange the code to keep those definitions outside the #ifdefs, but that should be done by someone who can reproduce the problems that r181200 was trying to fix. llvm-svn: 182233
-
- May 17, 2013
-
-
David Tweed authored
the JIT object (including XFAIL an ARM test that now needs fixing). Also renames internal function for consistency. llvm-svn: 182085
-
- May 07, 2013
-
-
Rafael Espindola authored
llvm-svn: 181354
-
- May 06, 2013
-
-
Ulrich Weigand authored
[SystemZ] Set up JIT/MCJIT test cases This patch adds the necessary configuration bits and #ifdef's to set up the JIT/MCJIT test cases for SystemZ. Like other recent targets, we do fully support MCJIT, but do not support the old JIT at all. Set up the lit config files accordingly, and disable old-JIT unit tests. Patch by Richard Sandiford. llvm-svn: 181207
-
Ulrich Weigand authored
Simplify JIT unit test #ifdefs Several platforms need to disable all old-JIT unit tests, since they only support the new MCJIT. This currently done via #ifdef'ing out those tests in the ExecutionEngine/JIT/*.cpp files. As those #ifdef's have grown historically, we now have a number of repeated directives which -in total- cover nearly the whole file, but leave a couple of helper functions out. When building the tests with clang itself, those helper functions now cause spurious "unused function" warnings. To fix those warnings, and also to remove the duplicate #ifdef conditions and make it easier to disable the tests for a new target, this patch consolidates the #ifdefs into a single one per file, which covers all the tests including all helper routines. Tested on PowerPC and SystemZ. llvm-svn: 181200
-
- Apr 04, 2013
-
-
Rafael Espindola authored
Looks like cmake on windows is not expanding ENABLE_EXPORTS to -Wl,--export-all-symbols on mingw or cygwin, so add this back. llvm-svn: 178730
-
Rafael Espindola authored
On freebsd this makes sure that symbols are exported on the binaries that need them. The net result is that we should get symbols in the binaries that need them on every platform. On linux x86-64 this reduces the size of the bin directory from 262MB to 250MB. Patch by Stephen Checkoway. llvm-svn: 178725
-
- Jan 28, 2013
-
-
Andrew Kaylor authored
llvm-svn: 173712
-
- Jan 11, 2013
-
-
Eli Bendersky authored
Patch by Michael Muller. llvm-svn: 172214
-
- 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
-
- Dec 04, 2012
-
-
Chandler Carruth authored
llvm-svn: 169250
-
- Nov 16, 2012
-
-
Andrew Kaylor authored
Interface changes to allow RuntimeDyld memory managers to set memory permissions after an object has been loaded. llvm-svn: 168114
-
- Oct 31, 2012
-
-
Ulrich Weigand authored
These tests were all failing since the old JIT doesn't work for PowerPC (any more), and there are no plans to attempt to fix it again (instead, work focuses on MCJIT). llvm-svn: 167133
-
- Oct 18, 2012
-
-
rdar://problem/12473675Bob Wilson authored
When building with LTO, the internalize pass is hiding some global symbols that are necessary for the JIT unittests. It seems like that may be a bug in LTO to do that by default, but until that gets fixed, this change makes sure that we export the necessary symbols for the tests to pass. llvm-svn: 166220
-
- Oct 17, 2012
-
-
Bill Wendling authored
llvm-svn: 166092
-
- Oct 12, 2012
-
-
NAKAMURA Takumi authored
llvm-svn: 165790
-
Bill Wendling authored
llvm-svn: 165781
-
NAKAMURA Takumi authored
llvm-svn: 165780
-
Bill Wendling authored
llvm-svn: 165777
-
- Oct 08, 2012
-
-
James Molloy authored
Some regression tests which are testing the old jit and are exercising functionality which is both known to be broken and not expected to be fixed in the old jit. To remove these from the regression test output, I've marked them XFAIL (for lit tests) and ifdef'd them out (unit tests). These modifications remove the last long-standing regression test failures from the buildbots (though updating the triple to reflect new ubuntu configuration has temporarily caused some new failures). Tested on x86-64 and ARM Linux. Patch by David Tweed! llvm-svn: 165390
-
- Sep 28, 2012
-
-
Andrew Kaylor authored
Patch committed on behalf of Kirill Uhanov llvm-svn: 164831
-
- Sep 27, 2012
-
-
Andrew Kaylor authored
Committed on behalf of Kirill Uhanov llvm-svn: 164736
-
- Aug 01, 2012
-
-
Akira Hatanaka authored
No new test case is added. This patch makes test JITTest.FunctionIsRecompiledAndRelinked pass on mips platform. Patch by Petar Jovanovic. llvm-svn: 161098
-
- Jul 16, 2012
-
-
Chandler Carruth authored
the move of *Builder classes into the Core library. No uses of this builder in Clang or DragonEgg I could find. If there is a desire to have an IR-building-support library that contains all of these builders, that can be easily added, but currently it seems likely that these add no real overhead to VMCore. llvm-svn: 160243
-
- Jun 29, 2012
-
-
Chandler Carruth authored
This was always part of the VMCore library out of necessity -- it deals entirely in the IR. The .cpp file in fact was already part of the VMCore library. This is just a mechanical move. I've tried to go through and re-apply the coding standard's preferred header sort, but at 40-ish files, I may have gotten some wrong. Please let me know if so. I'll be committing the corresponding updates to Clang and Polly, and Duncan has DragonEgg. Thanks to Bill and Eric for giving the green light for this bit of cleanup. llvm-svn: 159421
-
Bill Wendling authored
(a.k.a. MDNodes). The module doesn't belong in Analysis. Move it to the VMCore instead. llvm-svn: 159414
-
- Jun 28, 2012
-
-
Bill Wendling authored
include/llvm/Analysis/DebugInfo.h to include/llvm/DebugInfo.h. The reasoning is because the DebugInfo module is simply an interface to the debug info MDNodes and has nothing to do with analysis. llvm-svn: 159312
-
- Jun 22, 2012
-
-
NAKAMURA Takumi authored
llvm-svn: 158942
-
- Jun 21, 2012
-
-
NAKAMURA Takumi authored
llvm-svn: 158914
-
Chandler Carruth authored
through. Also sort them. llvm-svn: 158911
-