llvm-6502/include/llvm
Chandler Carruth d862d697d2 Finish fixing the MachineOperand hashing, providing a nice modern
hash_value overload for MachineOperands. This addresses a FIXME
sufficient for me to remove it, and cleans up the code nicely too.

The important changes to the hashing logic:
- TargetFlags are now included in all of the hashes. These were complete
  missed.
- Register operands have their subregisters and whether they are a def
  included in the hash.
- We now actually hash all of the operand types. Previously, many
  operand types were simply *dropped on the floor*. For example:
  - Floating point immediates
  - Large integer immediates (>64-bit)
  - External globals!
  - Register masks
  - Metadata operands
- It removes the offset from the block-address hash; I'm a bit
  suspicious of this, but isIdenticalTo doesn't consider the offset for
  black addresses.

Any patterns involving these entities could have triggered extreme
slowdowns in MachineCSE or PHIElimination. Let me know if there are PRs
you think might be closed now... I'm looking myself, but I may miss
them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159743 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-05 11:06:22 +00:00
..
ADT Micro-optimize this function a bit. This shrinks the generated code 2012-07-03 07:16:13 +00:00
Analysis fold PHI nodes in SizeOffsetEvaluator whenever possible. 2012-07-03 17:13:25 +00:00
Assembly Prune some includes and forward declarations. 2012-03-26 06:58:25 +00:00
Bitcode Remove 'static' from inline functions defined in header files. 2012-06-20 08:39:33 +00:00
CodeGen Finish fixing the MachineOperand hashing, providing a nice modern 2012-07-05 11:06:22 +00:00
Config Nuke a few dead remnants of the CBE. 2012-05-05 17:45:12 +00:00
DebugInfo This patch extends the libLLVMDebugInfo which contains a minimalistic DWARF parser: 2012-07-02 05:54:45 +00:00
ExecutionEngine Fix some formatting, grammar and style issues and add a couple of missing comments. 2012-04-29 12:40:47 +00:00
MC Reapply "Make NumMicroOps a variable in the subtarget's instruction itinerary." 2012-07-02 18:10:42 +00:00
Object Add relocation types for Hexagon processor; patch by Sidney Manning <sidneym@codeaurora.org> 2012-06-23 14:46:18 +00:00
Support Reverted r159658: 2012-07-04 06:07:06 +00:00
TableGen Eliminate struct TableGenBackend. 2012-06-13 05:15:49 +00:00
Target Add an experimental early if-conversion pass, off by default. 2012-07-04 00:09:54 +00:00
Transforms Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h 2012-06-29 12:38:19 +00:00
Argument.h Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
Attributes.h PR12696: Attribute bits above 1<<30 are not encoded in bitcode 2012-05-28 15:45:43 +00:00
AutoUpgrade.h remove autoupgrade support for really old-style debug info intrinsics. 2011-11-27 06:18:33 +00:00
BasicBlock.h Add a constified getLandingPad() method. 2012-01-31 00:26:24 +00:00
CallGraphSCCPass.h
CallingConv.h
CMakeLists.txt build/cmake: Use tblgen macro directly instead of llvm_tablegen, which just 2011-11-04 19:04:23 +00:00
Constant.h getAllOnesValue also works for vectors of integers. 2012-06-04 07:18:12 +00:00
Constants.h When linearizing a multiplication, return at once if we see a factor of zero, 2012-06-13 09:42:13 +00:00
DebugInfo.h Devirtualize DIScope and subclasses. 2012-06-28 14:25:45 +00:00
DefaultPasses.h Add a couple missing includes; found while analyzing LLVM headers. 2011-11-04 18:19:43 +00:00
DerivedTypes.h Cache the sized-ness of struct types, once we reach the steady state of 2012-03-07 02:33:09 +00:00
DIBuilder.h The DIBuilder class is just a wrapper around debug info creation 2012-06-29 08:32:07 +00:00
Function.h Teach Function::hasAddressTaken that BlockAddress doesn't really take 2012-05-12 08:30:16 +00:00
GlobalAlias.h Remove DEFINE_TRANSPARENT_CASTED_OPERAND_ACCESSORS, folding its 2011-08-22 09:37:03 +00:00
GlobalValue.h Revert r159136 due to PR13124. 2012-06-27 17:10:33 +00:00
GlobalVariable.h Clean-up after r159077. 2012-06-23 12:14:23 +00:00
GVMaterializer.h
InitializePasses.h Add an experimental early if-conversion pass, off by default. 2012-07-04 00:09:54 +00:00
InlineAsm.h Prune some includes and forward declarations. 2012-03-26 06:58:25 +00:00
InstrTypes.h Add some missing anchors. 2011-12-01 08:00:17 +00:00
Instruction.def [unwind removal] Remove all of the code for the dead 'unwind' instruction. There 2012-02-06 21:44:22 +00:00
Instruction.h Refactor operation equivalence checking in BBVectorize by extending Instruction::isSameOperationAs. 2012-06-28 05:42:26 +00:00
Instructions.h add CallSite/CallInst/InvokeInst::hasFnAttr() 2012-06-25 16:16:58 +00:00
IntrinsicInst.h Remove the eh.exception and eh.selector intrinsics. Also remove a hack to copy 2012-01-31 01:46:13 +00:00
Intrinsics.h generalize this to allow any argument. 2012-05-27 19:17:16 +00:00
Intrinsics.td add a new @llvm.donothing intrinsic that, well, does nothing, and teach CodeGen to ignore calls to it 2012-06-28 22:30:12 +00:00
IntrinsicsARM.td
IntrinsicsCellSPU.td
IntrinsicsHexagon.td Fix hexagon gcc builtin names to use '_' instead of '.'. 2012-06-28 20:08:47 +00:00
IntrinsicsMips.td Define MIPS DSP Rev1 intrinsics. That allows frontend to emit a correct IR. 2012-06-28 18:20:28 +00:00
IntrinsicsNVVM.td Remove the PTX back-end and all of its artifacts (triple, etc.) 2012-05-24 21:38:21 +00:00
IntrinsicsPowerPC.td
IntrinsicsX86.td X86: add more GATHER intrinsics in LLVM 2012-06-29 00:54:20 +00:00
IntrinsicsXCore.td Update IntrinsicsXCore.td with the normal LLVM notice at the top of the file. 2011-10-13 21:08:11 +00:00
IRBuilder.h Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h 2012-06-29 12:38:19 +00:00
LinkAllPasses.h add a new pass to instrument loads and stores for run-time bounds checking 2012-05-22 17:19:09 +00:00
LinkAllVMCore.h
Linker.h Prune some includes and forward declarations. 2012-03-26 06:58:25 +00:00
LLVMContext.h revert r158660, since Chris has some issues with this patch (namely using code to reprent information only used by the compiler) 2012-06-18 23:34:26 +00:00
Metadata.h Move the Metadata merging methods from GVN and make them public in MDNode. 2012-06-16 20:33:37 +00:00
Module.h I noticed that named metadata doesn't provide a direct way of getting at the 2012-05-16 12:25:43 +00:00
OperandTraits.h Remove DEFINE_TRANSPARENT_CASTED_OPERAND_ACCESSORS, folding its 2011-08-22 09:37:03 +00:00
Operator.h Remove support for the special 'fast' value for fpmath accuracy for the moment. 2012-04-16 19:39:33 +00:00
Pass.h Added TargetPassConfig::disablePass/substitutePass as a general mechanism to override specific passes. 2012-02-15 03:21:47 +00:00
PassAnalysisSupport.h Add a couple missing includes; found while analyzing LLVM headers. 2011-11-04 18:19:43 +00:00
PassManager.h Add pass printer passes in the right place. 2012-02-01 07:16:20 +00:00
PassManagers.h Use ArrayRef instead of an explicit vector type. 2012-05-14 07:53:40 +00:00
PassRegistry.h
PassSupport.h Add Tsan annotations to the pass system. 2011-12-08 00:15:41 +00:00
SymbolTableListTraits.h
Type.h add StructType helpers too. 2012-01-26 00:06:44 +00:00
Use.h Reinstate r133513 (reverted in r133700) with an additional fix for a 2011-06-23 09:09:15 +00:00
User.h Grammar. 2012-05-16 22:08:58 +00:00
Value.h The MDString class stored a StringRef to the string which was already in a 2012-04-10 20:12:16 +00:00
ValueSymbolTable.h