llvm-6502/include/llvm/Support
Filip Pizlo 0e1327e4aa This exposes more MCJIT options via the C API:
CodeModel: It's now possible to create an MCJIT instance with any CodeModel you like.  Previously it was only possible to 
create an MCJIT that used CodeModel::JITDefault.

EnableFastISel: It's now possible to turn on the fast instruction selector.

The CodeModel option required some trickery.  The problem is that previously, we were ensuring future binary compatibility in 
the MCJITCompilerOptions by mandating that the user bzero's the options struct and passes the sizeof() that he saw; the 
bindings then bzero the remaining bits.  This works great but assumes that the bitwise zero equivalent of any field is a 
sensible default value.

But this is not the case for LLVMCodeModel, or its internal equivalent, llvm::CodeModel::Model.  In both of those, the default 
for a JIT is CodeModel::JITDefault (or LLVMCodeModelJITDefault), which is not bitwise zero.

Hence this change introduces LLVMInitializeMCJITCompilerOptions(), which will initialize the user's options struct with
defaults. The user will use this in the same way that they would have previously used memset() or bzero(). MCJITCAPITest.cpp
illustrates the change, as does the comment in ExecutionEngine.h.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180893 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-01 22:58:00 +00:00
..
AIXDataTypesFix.h
AlignOf.h Incrase the number of parameters for AlignedCharArrayUnion. 2013-01-09 10:39:16 +00:00
Allocator.h
ArrayRecycler.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Atomic.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
BlockFrequency.h
BranchProbability.h
CallSite.h Remove unneeded #includes. 2013-03-18 23:33:44 +00:00
Capacity.h
Casting.h Cleanup the simplify_type implementation. 2013-03-27 16:43:11 +00:00
CBindingWrapping.h Fix file header comment. 2013-05-01 21:01:06 +00:00
CFG.h Seciton 24.2.2 of the C++ standard, [iterator.iterators], Table 106 2013-03-28 15:47:50 +00:00
circular_raw_ostream.h
CodeGen.h This exposes more MCJIT options via the C API: 2013-05-01 22:58:00 +00:00
COFF.h Implements low-level object file format specific output for COFF and 2013-04-03 18:31:38 +00:00
CommandLine.h Generalize my previous fix for -print-options. 2013-03-06 19:04:56 +00:00
Compiler.h Introduce LLVM_STATIC_ASSERT macro, which expands to C/C++'s static_assert on compilers which support it. 2013-03-22 03:10:51 +00:00
Compression.h Add basic zlib support to LLVM. This would allow to use compression/uncompression in selected LLVM tools. 2013-04-23 08:28:39 +00:00
ConstantFolder.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
ConstantRange.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ConvertUTF.h llvm-gcc -pedantic warns about C++ comments in C90 mode even if they're 2013-02-13 22:45:52 +00:00
CrashRecoveryContext.h
DataExtractor.h Be consistent about the field name - AddressSize, not PointerSize. Add 2013-02-05 23:26:02 +00:00
DataFlow.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
DataStream.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
DataTypes.h.cmake
DataTypes.h.in
Debug.h
DebugLoc.h Remove trailing spaces. 2013-03-18 23:04:30 +00:00
Disassembler.h
DOTGraphTraits.h ScheduleDAG: colorize the DOT graph and improve formatting. 2013-01-25 07:45:25 +00:00
Dwarf.h Revert "Update the version of dwarf we say we're emitting to at least 3." 2013-04-10 21:45:07 +00:00
DynamicLibrary.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ELF.h Add missing relocation names 2013-04-12 04:01:28 +00:00
Endian.h Make the host endianness check an integer constant expression. 2013-04-15 14:44:24 +00:00
Errno.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ErrorHandling.h Add a boolean parameter to the llvm::report_fatal_error() function to indicated 2013-03-27 18:27:54 +00:00
ErrorOr.h [Support][ErrorOr] Add support for implicit conversion from error code/condition enums. 2013-02-28 01:44:26 +00:00
FEnv.h Refine fenv.h handling: check if the desired macros exist, before using 2013-03-25 13:13:33 +00:00
FileOutputBuffer.h
FileSystem.h [Support] Fix lifetime of file descriptors when using MemoryBuffer. 2013-03-14 00:20:10 +00:00
FileUtilities.h
Format.h
FormattedStream.h unindent the file to follow coding standards, change class doc comment 2013-04-01 23:00:01 +00:00
GCOV.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
GetElementPtrTypeIterator.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
GraphWriter.h ScheduleDAG: colorize the DOT graph and improve formatting. 2013-01-25 07:45:25 +00:00
Host.h Fix silly typo that broke big endian hosts. 2013-04-15 20:13:59 +00:00
IncludeFile.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
InstIterator.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
IntegersSubset.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
IntegersSubsetMapping.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
LeakDetector.h
LEB128.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
LICENSE.TXT
Locale.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
LockFileManager.h Fix a race condition in the lock-file manager: once the lock file is 2013-01-10 02:01:35 +00:00
MachO.h
ManagedStatic.h
MathExtras.h Suppressing MSVC warnings; patch thanks to Peng Cheng! 2013-02-27 18:25:41 +00:00
Memory.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
MemoryBuffer.h This patch breaks up Wrap.h so that it does not have to include all of 2013-05-01 20:59:00 +00:00
MemoryObject.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Mutex.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
MutexGuard.h
NoFolder.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
OutputBuffer.h
PassNameParser.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Path.h
PathV1.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
PathV2.h
PatternMatch.h When code size is the priority (Oz, MinSize attribute), help llvm 2013-01-07 18:37:41 +00:00
PluginLoader.h
PointerLikeTypeTraits.h
PredIteratorCache.h
PrettyStackTrace.h
Process.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Program.h Add a function to check if an argument list is too long. 2013-04-11 14:06:34 +00:00
raw_os_ostream.h
raw_ostream.h Use LLVM_DELETED_FUNCTION rather than '// do not implement' comments. 2013-02-18 23:11:17 +00:00
Recycler.h Special case Recycler::clear(BumpPtrAllocator). 2013-01-04 22:35:45 +00:00
RecyclingAllocator.h
Regex.h
Registry.h
RegistryParser.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
RWMutex.h
SaveAndRestore.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Signals.h Signal.h: Add <cstdio> for FILE*, since r171989. 2013-01-10 05:23:59 +00:00
SMLoc.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Solaris.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
SourceMgr.h Add basic fix-its to SMDiagnostic. 2013-01-10 18:50:15 +00:00
StreamableMemoryObject.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
StringPool.h
SwapByteOrder.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
system_error.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
SystemUtils.h
TargetFolder.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
TargetRegistry.h Remove MCTargetAsmLexer and its derived classes now that edis, 2012-12-20 14:43:30 +00:00
TargetSelect.h
Threading.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ThreadLocal.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Timer.h Slight cosmetic fixes 2013-02-26 18:05:31 +00:00
TimeValue.h Fix initialization-order bug in llvm::Support::TimeValue. TimeValue::now() is explicitly called during module initialization of lib/Support/Process.cpp. It reads the field of global object PosixZeroTime, which is not guaranteed to be initialized at this point. Found by AddressSanitizer with -fsanitize=init-order option. 2013-02-19 11:35:39 +00:00
ToolOutputFile.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
type_traits.h Cleanup the simplify_type implementation. 2013-03-27 16:43:11 +00:00
Valgrind.h
ValueHandle.h Cleanup the simplify_type implementation. 2013-03-27 16:43:11 +00:00
Watchdog.h Add a new watchdog timer interface. The interface does not permit handling timeouts, so 2013-03-26 01:27:52 +00:00
Win64EH.h Implements low-level object file format specific output for COFF and 2013-04-03 18:31:38 +00:00
YAMLParser.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
YAMLTraits.h Remove redundant 'llvm::' qualifications 2013-01-13 16:01:15 +00:00