llvm-6502/lib
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
..
Analysis PHINode::hasConstantValue(): return undef if the PHI is fully recursive. 2012-07-03 21:15:40 +00:00
Archive
AsmParser
Bitcode
CodeGen Finish fixing the MachineOperand hashing, providing a nice modern 2012-07-05 11:06:22 +00:00
DebugInfo Fix a bug in DebugInfo lib, extend a comment for one of the methods 2012-07-04 09:42:54 +00:00
ExecutionEngine
Linker
MC MCContext.cpp: Fixup for my odd previous commit. No functional changes. 2012-07-03 06:01:27 +00:00
Object
Support Enable automatic GCC<->LLVM intrinsic translation for mips. 2012-06-28 19:09:53 +00:00
TableGen
Target Make X86 call and return instructions non-variadic. 2012-07-04 23:53:27 +00:00
Transforms [tsan] fix compile-time falilure found while building Chromium with tsan (tsan issue #3). A unit test will follow separately. 2012-07-05 09:07:31 +00:00
VMCore PHINode::hasConstantValue(): return undef if the PHI is fully recursive. 2012-07-03 21:15:40 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile