llvm-6502/include/llvm
David Greene f5aefbdb79 Change IndexedModeAction representation.
This changes the IndexedModeAction representation to remove the
limitation on the number of value types in MVT.  This limitation
prevents us from specifying AVX types.

Prior to this change IndexedModActions was represented as follows...

uint64_t IndexedModeActions[2][ISD::LAST_INDEXED_MODE];

the first dimension was used to represent loads, then stores.  This
imposed a limitation of 32 on the number of value types that could be
handled with this method.  The value type was used to shift the two bits
into and out of the approprate bits in the uint64_t.

With this change the array is now represented as ...

uint8_t IndexedModeActions[MVT::LAST_VALUETYPE][2][ISD::LAST_INDEXED_MODE];

Takes more space but removes the limitation on MVT::LAST_VALUETYPE.  The
first dimension is now the value_type for the reference.  The second
dimension is the load [0] vs. store[1].  The third dimension represents
the various modes for load store.  Accesses are now direct, no shifting
or masking.

There are other limitations that need to be removed, so that
MVT::LAST_VALUETYPE can be greater than 32.  This is merely the first
step towards that goal.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73104 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-09 00:19:10 +00:00
..
ADT fix build on VC++2k8. 2009-06-02 20:32:59 +00:00
Analysis Rename UnknownValue to CouldNotCompute, since it holds an instance of 2009-06-06 14:37:11 +00:00
Assembly add a #include to improve portability to windows, as requested by 2009-03-09 05:10:08 +00:00
Bitcode Give embedded metadata its own type instead of relying on EmptyStructTy. 2009-05-30 05:06:04 +00:00
CodeGen Use uint8_t and int32_t in {JIT,Machine}CodeEmiters 2009-06-04 00:15:51 +00:00
CompilerDriver -write-graph now can be used with -o. 2009-03-27 12:57:14 +00:00
Config More portability checks for CMake's config.h. 2009-06-05 23:46:34 +00:00
Debugger Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
ExecutionEngine Use uint8_t and int32_t in {JIT,Machine}CodeEmiters 2009-06-04 00:15:51 +00:00
Support Simple ELF32/64 binary files can now be emitted for x86 and x86_64 without 2009-06-07 21:22:38 +00:00
System Fix comments. 2009-06-04 08:18:25 +00:00
Target Change IndexedModeAction representation. 2009-06-09 00:19:10 +00:00
Transforms Re-apply 70645, converting ScalarEvolution to use 2009-05-04 22:30:44 +00:00
AbstractTypeUser.h Another attempt at fixing PR2975. 2009-04-07 17:23:02 +00:00
Argument.h Don't analyze arguments already marked 'nocapture'. 2008-12-31 18:08:59 +00:00
Attributes.h Add new function attribute - noimplicitfloat 2009-06-05 21:57:13 +00:00
AutoUpgrade.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
BasicBlock.h Revert r67844. This fixes the llvm-gcc-4.2 build on Darwin. 2009-03-27 18:37:13 +00:00
CallGraphSCCPass.h Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
CallingConv.h Add "inreg" field to CallSDNode (doesn't increase 2008-09-26 19:31:26 +00:00
CMakeLists.txt CMake: Have generated Xcode projects also contain the LLVM header files. 2009-04-01 15:40:21 +00:00
Constant.h Clearify local/global relocations wording 2009-03-30 17:38:00 +00:00
Constants.h Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
DerivedTypes.h Create FunctionType::isValidArgumentType to go along with isValidReturnType. 2009-06-07 07:26:46 +00:00
Function.h Revert r67844. This fixes the llvm-gcc-4.2 build on Darwin. 2009-03-27 18:37:13 +00:00
GlobalAlias.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
GlobalValue.h available_externall linkage is not local, this was confusing the codegenerator, 2009-05-23 14:06:57 +00:00
GlobalVariable.h Factorize out a concept - no functionality change. 2009-03-21 21:27:31 +00:00
InlineAsm.h Model inline asm constraint which ties an input to an output register as machine operand TIED_TO constraint. This eliminated the need to pre-allocate registers for these. This also allows register allocator can eliminate the unneeded copies. 2009-03-23 08:01:15 +00:00
InstrTypes.h Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
Instruction.def Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
Instruction.h Allow readonly functions to unwind exceptions. Teach 2009-05-06 06:49:50 +00:00
Instructions.h Remove getType() overrides for ExtractValueInst and InsertValueInst. 2009-05-18 18:46:57 +00:00
IntrinsicInst.h change the MemIntrinsic get/setAlignment method to take an unsigned 2009-03-08 03:59:00 +00:00
Intrinsics.h Added support to have TableGen provide information if an intrinsic (core 2009-02-24 23:17:49 +00:00
Intrinsics.td Update the names of the exception handling sjlj instrinsics to 2009-05-14 00:46:35 +00:00
IntrinsicsAlpha.td Modify the intrinsics pattern to separate out the "return" types from the 2008-11-13 09:08:33 +00:00
IntrinsicsARM.td Modify the intrinsics pattern to separate out the "return" types from the 2008-11-13 09:08:33 +00:00
IntrinsicsCellSPU.td Modify the intrinsics pattern to separate out the "return" types from the 2008-11-13 09:08:33 +00:00
IntrinsicsPowerPC.td Modify the intrinsics pattern to separate out the "return" types from the 2008-11-13 09:08:33 +00:00
IntrinsicsX86.td ADDS{D|S}rr_Int and MULS{D|S}rr_Int are not commutable. The users of these intrinsics expect the high bits will not be modified. 2009-02-26 03:12:02 +00:00
IntrinsicsXCore.td Add XCore intrinsics for getid (returns thread id) and bitrev (reverses 2008-11-14 10:12:16 +00:00
LinkAllPasses.h Add a liveness analysis pass for LLVM IR values. This computes 2009-03-19 17:29:04 +00:00
LinkAllVMCore.h opt was not exporting the Mangler symbols 2008-11-05 22:42:50 +00:00
Linker.h * Alphabetized system headers per the style guide 2009-01-02 20:26:30 +00:00
MDNode.h Give embedded metadata its own type instead of relying on EmptyStructTy. 2009-05-30 05:06:04 +00:00
Module.h "ghostify" the ilist<Function> sentinel 2009-03-27 22:28:33 +00:00
ModuleProvider.h Remove warnings about unused parameters and shadowed variables. 2008-05-19 20:15:12 +00:00
OperandTraits.h Give Op<N>() AppleScript-like semantics, i.e. for negative N it indexes relative to op_end. 2009-03-10 23:02:13 +00:00
Pass.h Remove dead code. 2009-04-01 21:27:08 +00:00
PassAnalysisSupport.h Simplify assertion message to avoid confusion. 2009-06-02 17:26:29 +00:00
PassManager.h allow updating the MPM, so that you can use one FunctionPAssManager with 2008-06-26 22:26:45 +00:00
PassManagers.h Clean up pass manager cache after each run. 2009-04-01 22:34:41 +00:00
PassSupport.h remove a deprecated interface that was pretty useless 2009-03-02 12:42:07 +00:00
SymbolTableListTraits.h simplify the way how traits get hold of the symbol table 2009-03-07 12:33:24 +00:00
Type.h Create FunctionType::isValidArgumentType to go along with isValidReturnType. 2009-06-07 07:26:46 +00:00
TypeSymbolTable.h Fixed spelling. 2009-04-01 16:13:29 +00:00
Use.h Add a comment to refer to the section of the programmer's manual that explains what the pointer tagging in Use is for. 2009-04-30 23:28:50 +00:00
User.h Fix the Win32 VS2008 build: 2009-03-19 23:26:52 +00:00
Value.h Add support for embedded metadata to LLVM. This introduces two new types of 2009-04-04 07:22:01 +00:00
ValueSymbolTable.h implement some fixme's by making "autorenaming" in the value symbol table not 2008-06-27 21:26:26 +00:00