llvm-6502/include/llvm
Chandler Carruth 6f78fbbc63 Switch the empty and tombstone key enumerators to not have explicit
values -- that's not required to fix the bug that was cropping up, and
the values selected made the enumeration's underlying type signed and
introduced some warnings. This fixes the -Werror build.

The underlying issue here was that the DenseMapInfo was casting values
completely outside the range of the underlying storage of the
enumeration to the enumeration's type. GCC went and "optimized" that
into infloops and other misbehavior. By providing designated special
values for these keys in the dense map, we ensure they are indeed
representable and that they won't be used for anything else.

It might be better to reuse None for the empty key and have the
tombstone share the value of the sentinel enumerator, but honestly
having 2 extra enumerators seemed not to matter and this seems a bit
simpler. I'll let Bill shuffle this around (or ask me to shuffle it
around) if he prefers it to look a different way.

I also made the switch a bit more clear (and produce a better assert)
that the enumerators are *never* going to show up and are errors if they
do.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171614 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-05 08:47:26 +00:00
..
ADT Whitespace. 2013-01-05 05:16:53 +00:00
Analysis Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
Assembly Prune some includes and forward declarations. 2012-03-26 06:58:25 +00:00
Bitcode Have the bitcode reader/writer just use FPMathOperator's fast math enum directly 2012-12-09 20:23:16 +00:00
CodeGen Don't call destructors on MachineInstr and MachineOperand. 2013-01-05 05:05:51 +00:00
Config [CMake] Move libxml2 stuff from clang to llvm/cmake. 2012-12-14 18:30:20 +00:00
DebugInfo Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
ExecutionEngine JITEventListener.h: Use llvm-config.h instead of config.h. 2012-12-13 15:03:38 +00:00
IR Switch the empty and tombstone key enumerators to not have explicit 2013-01-05 08:47:26 +00:00
MC Add section information for the DWARF5 split debug proposal 2013-01-04 17:59:22 +00:00
Object Make this an integer so we have enumeral types in the conditional 2013-01-05 00:32:04 +00:00
Option Resort the #include lines in include/... and lib/... with the 2013-01-02 10:22:59 +00:00
Support Add an ArrayRecycler class. 2013-01-05 00:57:11 +00:00
TableGen Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
Target Refactor the ScalarTargetTransformInfo API for querying about the 2013-01-05 03:36:17 +00:00
Transforms Sink the AddressingModeMatcher helper class into an anonymous namespace 2013-01-05 02:09:22 +00:00
AddressingMode.h Use DataTypes.h 2012-10-08 23:14:28 +00:00
AutoUpgrade.h remove autoupgrade support for really old-style debug info intrinsics. 2011-11-27 06:18:33 +00:00
CallGraphSCCPass.h moves doInitialization and doFinalization to the Pass class and removes some unreachable code in MachineModuleInfo 2012-12-03 21:56:57 +00:00
CMakeLists.txt Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
DebugInfo.h Improve debug info generated with enabled AddressSanitizer. 2012-12-12 14:31:53 +00:00
DefaultPasses.h Fix a couple include directives that used angle brackets for llvm files. 2012-09-15 18:41:37 +00:00
DIBuilder.h Use the 'count' attribute to calculate the upper bound of an array. 2012-12-04 21:34:03 +00:00
GVMaterializer.h
InitializePasses.h Initial commit of MemorySanitizer. 2012-11-29 09:57:20 +00:00
InstVisitor.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
LinkAllPasses.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
LinkAllVMCore.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
Linker.h Prune some includes and forward declarations. 2012-03-26 06:58:25 +00:00
Pass.h moves doInitialization and doFinalization to the Pass class and removes some unreachable code in MachineModuleInfo 2012-12-03 21:56:57 +00:00
PassAnalysisSupport.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
PassManager.h One more step towards making doInitialization and doFinalization useful for 2012-11-29 17:47:05 +00:00
PassManagers.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
PassRegistry.h
PassSupport.h Fix comment typo. 2012-12-17 11:43:15 +00:00
TargetTransformInfo.h While the struct being defined in the AddressingMode.h header was 2013-01-05 08:19:20 +00:00
TypeFinder.h Move the "findUsedStructTypes" functionality outside of the Module class. 2012-08-03 00:30:35 +00:00