llvm-6502/include/llvm
Dan Gohman e3394d4a49 When a constant's type is refined, update the constant in place
instead of cloning and RAUWing it.

 - Make AbstractTypeUser a friend of Value so that it can offer
   its subclasses a way to update a Value's type in place. This
   is better than a universally visible setType method on Value,
   and it's sufficient for the immediate need.

 - Eliminate the constant "convert" functions. This eliminates a
   lot of logic duplication, and fixes a complicated bug where a
   constant can't actually be cloned during the type refinement
   process because some of the types that its folder needs are
   half-destroyed, being in the middle of refinement themselves.

 - Move the getValType functions from being static overloaded
   functions in Constants.cpp to be members of class template
   specializations in ConstantsContext.h. This means that the
   code ends up getting instantiated twice, however it also
   makes it possible to eliminate all "convert" functions, so
   it's not a big net code size increase. And if desired, the
   duplicate instantiations could be eliminated with some
   reorganization.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81861 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-15 15:58:07 +00:00
..
ADT Fix apostrophos. 2009-09-15 15:08:33 +00:00
Analysis Fix apostrophos. 2009-09-15 15:08:33 +00:00
Assembly Use MemoryBuffer::getBufferIdentifier() in the AsmPrinter instead 2009-09-08 22:20:35 +00:00
Bitcode Add const qualifiers for isBitcodeWrapper, and add new functions 2009-09-02 17:21:29 +00:00
CodeGen Fix apostrophos. 2009-09-15 15:08:33 +00:00
CompilerDriver Distinguish between 'empty' and empty DAG marker. 2009-09-10 16:22:02 +00:00
Config re-apply r80197, now that iterator.h is not mentioned any more 2009-08-27 17:07:35 +00:00
Debugger Prune #includes from llvm/Linker.h and llvm/System/Path.h, 2009-08-23 22:45:37 +00:00
ExecutionEngine This void is implicit in C++. 2009-08-12 22:10:57 +00:00
MC Change MCAsmStreamer to take an MCInstPrinter instead of a 2009-09-14 03:02:37 +00:00
Support Fix apostrophos. 2009-09-15 15:08:33 +00:00
System Get rid of GetProcessId in Win32/Program.inc. 2009-09-15 03:39:45 +00:00
Target Fix apostrophos. 2009-09-15 15:08:33 +00:00
Transforms Correctly handle the case where a comparison is created in one BasicBlock and 2009-09-10 07:02:09 +00:00
AbstractTypeUser.h When a constant's type is refined, update the constant in place 2009-09-15 15:58:07 +00:00
Argument.h Initial update to VMCore to use Twines for string arguments. 2009-07-25 04:41:11 +00:00
Attributes.h Add an 'inline hint' attribute to represent source 2009-08-26 01:08:21 +00:00
AutoUpgrade.h Reapply 79977. 2009-08-28 23:24:31 +00:00
BasicBlock.h Add a comment. 2009-09-02 01:14:16 +00:00
CallGraphSCCPass.h Fix some nasty callgraph dangling pointer problems in 2009-08-31 00:19:58 +00:00
CallingConv.h Address review comments: add 3 ARM calling conventions. 2009-06-16 18:50:49 +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 Make LLVMContext and LLVMContextImpl classes instead of structs. 2009-08-11 17:45:13 +00:00
Constants.h Factor out the code for checking that all indices in a getelementptr are 2009-09-10 23:37:55 +00:00
DerivedTypes.h Actually privatize a IntegerTypes, and fix a few bugs exposed by this. 2009-08-13 23:27:32 +00:00
Function.h Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson. 2009-09-02 08:44:58 +00:00
GlobalAlias.h Public and private corrections, warned about by icc (#304). 2009-09-06 08:55:57 +00:00
GlobalValue.h Finish migrating VMCore to StringRef/Twine based APIs. 2009-07-25 06:02:13 +00:00
GlobalVariable.h Public and private corrections, warned about by icc (#304). 2009-09-06 08:55:57 +00:00
InlineAsm.h Finish migrating VMCore to StringRef/Twine based APIs. 2009-07-25 06:02:13 +00:00
InstrTypes.h Reappy r80998, now that the GlobalOpt bug that it exposed on MiniSAT is fixed. 2009-09-07 23:54:19 +00:00
Instruction.def Remove the vicmp and vfcmp instructions. Because we never had a release with 2009-07-08 03:04:38 +00:00
Instruction.h Rename Instruction::isIdenticalTo to Instruction::isIdenticalToWhenDefined, 2009-08-25 22:11:20 +00:00
Instructions.h Add malloc call utility functions. Patch by Victor Hernandez. 2009-09-10 04:36:43 +00:00
IntrinsicInst.h Reapply 79977. 2009-08-28 23:24:31 +00:00
Intrinsics.h Make LLVMContext and LLVMContextImpl classes instead of structs. 2009-08-11 17:45:13 +00:00
Intrinsics.td Reapply 79977. 2009-08-28 23:24:31 +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 Add new intrinsics for Neon vldN_lane and vstN_lane operations. 2009-08-22 02:28:46 +00:00
IntrinsicsBlackfin.td Remove unneeded intrinsics from Blackfin backend. 2009-08-02 21:49:05 +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 Add sse4.2 string/text processing intrinsics. We'll select these later. 2009-08-14 20:27:57 +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 Addedum to r80712, forgot to add files. 2009-09-01 19:05:58 +00:00
LinkAllVMCore.h Push LLVMContexts through the IntegerType APIs. 2009-08-13 21:58:54 +00:00
Linker.h Prune #includes from llvm/Linker.h and llvm/System/Path.h, 2009-08-23 22:45:37 +00:00
LLVMContext.h Push LLVMContexts through the IntegerType APIs. 2009-08-13 21:58:54 +00:00
Metadata.h Now Bitcode reader bug is fixed. Reapply 80839. 2009-09-03 01:39:20 +00:00
Module.h remove the std::ostream version of module and type printing. 2009-08-23 04:52:46 +00:00
ModuleProvider.h
OperandTraits.h Public and private corrections, warned about by icc (#304). 2009-09-06 08:55:57 +00:00
Operator.h Reappy r80998, now that the GlobalOpt bug that it exposed on MiniSAT is fixed. 2009-09-07 23:54:19 +00:00
Pass.h Fix a typo in a comment. 2009-09-01 18:29:01 +00:00
PassAnalysisSupport.h Simplify assertion message to avoid confusion. 2009-06-02 17:26:29 +00:00
PassManager.h
PassManagers.h make -debug-pass=Executions show information about what call graph nodes 2009-09-15 05:03:04 +00:00
PassSupport.h Remove some unused fields. 2009-08-29 23:34:14 +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 Clean up the minor mess I caused with removing iterator.h. I shall take care of 80-col violations and the FIXME later. (Thanks goodness that I live in another continent, so the monkeypox did not strike me :-) 2009-08-27 06:41:46 +00:00
TypeSymbolTable.h Don't search the entire type table just to delete a type by name. 2009-08-06 06:04:35 +00:00
Use.h eliminate all 80-col violations that I have introduced in my recent checkins (and some others more) 2009-08-27 23:44:33 +00:00
User.h Remove some dead functions, patch by Ryan Flynn! 2009-07-14 18:58:35 +00:00
Value.h When a constant's type is refined, update the constant in place 2009-09-15 15:58:07 +00:00
ValueSymbolTable.h revert r78048, it isn't worth using assertingvh here. 2009-08-04 23:07:12 +00:00