llvm-6502/include/llvm
Daniel Sanders 67f6425792 Add infrastructure for support of multiple memory constraints.
Summary:
The operand flag word for ISD::INLINEASM nodes now contains a 15-bit
memory constraint ID when the operand kind is Kind_Mem. This constraint
ID is a numeric equivalent to the constraint code string and is converted
with a target specific hook in TargetLowering.

This patch maps all memory constraints to InlineAsm::Constraint_m so there
is no functional change at this point. It just proves that using these
previously unused bits in the encoding of the flag word doesn't break anything.

The next patch will make each target preserve the current mapping of
everything to Constraint_m for itself while changing the target independent
implementation of the hook to return Constraint_Unknown appropriately. Each
target will then be adapted in separate patches to use appropriate Constraint_*
values.

Reviewers: hfinkel

Reviewed By: hfinkel

Subscribers: hfinkel, jholewinski, llvm-commits

Differential Revision: http://reviews.llvm.org/D8171


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232027 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-12 11:00:48 +00:00
..
ADT Add support for Nuxi CloudABI. 2015-03-09 18:40:45 +00:00
Analysis Stop calling DwarfEHPrepare from WinEHPrepare 2015-03-12 00:36:20 +00:00
AsmParser
Bitcode [opaque pointer type] Bitcode support for explicit type parameter on GEP. 2015-02-25 01:08:52 +00:00
CodeGen Add infrastructure for support of multiple memory constraints. 2015-03-12 11:00:48 +00:00
Config Drop the hacks used for partial C99 math libraries. 2015-03-09 18:35:18 +00:00
DebugInfo Typo. 2015-03-07 01:39:09 +00:00
ExecutionEngine [Orc][MCJIT][RuntimeDyld] Re-apply r231726 and r231724 with fix suggested by 2015-03-11 00:43:26 +00:00
IR Add infrastructure for support of multiple memory constraints. 2015-03-12 11:00:48 +00:00
IRReader
LineEditor
Linker Remember to move a type to the correct set when setting the body. 2015-03-06 00:50:21 +00:00
LTO [LTO API] fix memory leakage introduced at r230290. 2015-02-25 21:20:53 +00:00
MC [NVPTXAsmPrinter] do not print .align on function headers 2015-03-12 01:50:30 +00:00
Object [Object/ELF] Add support for setVisibility() 2015-03-12 07:48:25 +00:00
Option Remove explicit no-op dtor in favor of the implicit dtor so as not to disable/deprecate the copy operations. 2015-03-03 19:53:02 +00:00
Passes [PM] Create a separate library for high-level pass management code. 2015-03-07 09:02:36 +00:00
ProfileData InstrProf: Teach llvm-cov to handle universal binaries when given -arch 2015-03-11 02:30:51 +00:00
Support Remove the use of the subtarget in MCCodeEmitter creation and 2015-03-10 22:03:14 +00:00
TableGen
Target Add infrastructure for support of multiple memory constraints. 2015-03-12 11:00:48 +00:00
Transforms Extended support for native Windows C++ EH outlining 2015-03-11 23:22:06 +00:00
CMakeLists.txt
InitializePasses.h Add a new pass "Loop Interchange" 2015-03-06 10:11:25 +00:00
LinkAllIR.h
LinkAllPasses.h Add a new pass "Loop Interchange" 2015-03-06 10:11:25 +00:00
module.modulemap [modules] Mark Analysis/TargetLibraryInfo.def as a textual header. 2015-03-06 23:39:54 +00:00
module.modulemap.build
Pass.h
PassAnalysisSupport.h
PassInfo.h
PassRegistry.h Revert r231276 (including r231277): Add a lock() function in PassRegistry to speed up multi-thread synchronization. 2015-03-05 17:53:00 +00:00
PassSupport.h