1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-28 14:32:51 +01:00
llvm-mirror/include/llvm
Duncan Sands 2a9c84481c Sometimes (rarely) nodes held in LegalizeTypes
maps can be deleted.  This happens when RAUW
replaces a node N with another equivalent node
E, deleting the first node.  Solve this by
adding (N, E) to ReplacedNodes, which is already
used to remap nodes to replacements.  This means
that deleted nodes are being allowed in maps,
which can be delicate: the memory may be reused
for a new node which might get confused with the
old deleted node pointer hanging around in the
maps, so detect this and flush out maps if it
occurs (ExpungeNode).  The expunging operation
is expensive, however it never occurs during
a llvm-gcc bootstrap or anywhere in the nightly
testsuite.  It occurs three times in "make check":
Alpha/illegal-element-type.ll,
PowerPC/illegal-element-type.ll and
X86/mmx-shift.ll.  If expunging proves to be too
expensive then there are other more complicated
ways of solving the problem.
In the normal case this patch adds the overhead
of a few more map lookups, which is hopefully
negligable.

llvm-svn: 52214
2008-06-11 11:42:12 +00:00
..
ADT Remove some DAG combiner assumptions about sizes 2008-06-09 11:32:28 +00:00
Analysis Expose a public interface to this pass. 2008-06-05 23:45:18 +00:00
Assembly Revert 51775. 2008-05-30 22:47:19 +00:00
Bitcode For PR1338: rename include/llvm/ADT/ilist and friends to end with ".h" 2008-05-29 17:41:17 +00:00
CodeGen Sometimes (rarely) nodes held in LegalizeTypes 2008-06-11 11:42:12 +00:00
Config Use C-style comments :) 2008-03-23 13:44:17 +00:00
Debugger Fix more -Wshorten-64-to-32 warnings. 2008-05-05 18:30:58 +00:00
ExecutionEngine Fix a couple issues with the JIT and multiple modules: 2008-05-21 16:34:48 +00:00
Support * Make CallSite::hasArgument const and let it take a const parameter. 2008-06-05 08:04:58 +00:00
System Prune and tidy #includes. 2008-05-29 19:52:31 +00:00
Target Remove comparison methods for MVT. The main cause 2008-06-08 20:54:56 +00:00
Transforms Revert 51775. 2008-05-30 22:47:19 +00:00
AbstractTypeUser.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
Argument.h Expose parameter attributes via C bindings. 2008-04-28 17:37:06 +00:00
AutoUpgrade.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
BasicBlock.h For PR1338: rename include/llvm/ADT/ilist and friends to end with ".h" 2008-05-29 17:41:17 +00:00
CallGraphSCCPass.h PassInfo keep tracks whether a pass is an analysis pass or not. 2008-03-19 21:56:59 +00:00
CallingConv.h Implement sseregparm. 2008-02-05 20:46:33 +00:00
Constant.h Remove warnings about unused parameters and shadowed variables. 2008-05-19 20:15:12 +00:00
Constants.h IR, bitcode reader, bitcode writer, and asmparser changes to 2008-05-31 00:58:22 +00:00
DerivedTypes.h Remove unused parameter. Some clients might use -Werror when compiling and 2008-06-05 07:24:08 +00:00
Function.h Factor code to copy global value attributes like 2008-05-26 19:58:59 +00:00
GlobalAlias.h merge of use-diet branch to trunk 2008-05-10 08:32:32 +00:00
GlobalValue.h Factor code to copy global value attributes like 2008-05-26 19:58:59 +00:00
GlobalVariable.h Factor code to copy global value attributes like 2008-05-26 19:58:59 +00:00
InlineAsm.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
InstrTypes.h make ExtractValueInst derived from UnaryInstruction 2008-06-06 20:28:12 +00:00
Instruction.def IR support for extractvalue and insertvalue instructions. Also, begin 2008-05-15 19:50:34 +00:00
Instruction.h merge of use-diet branch to trunk 2008-05-10 08:32:32 +00:00
Instructions.h get rid of ExtractValueInst::init's Value argument, it is already passed to the UnaryInstruction ctor 2008-06-06 21:06:32 +00:00
IntrinsicInst.h Turn StripPointerCast() into a method 2008-05-07 22:54:15 +00:00
Intrinsics.h add missing #include 2008-04-30 04:56:14 +00:00
Intrinsics.td Added addition atomic instrinsics and, or, xor, min, and max. 2008-05-05 19:05:59 +00:00
IntrinsicsARM.td remove attribution from a variety of miscellaneous files. 2007-12-29 22:59:10 +00:00
IntrinsicsCellSPU.td Final de-tabification. 2008-02-27 06:33:05 +00:00
IntrinsicsPowerPC.td remove attribution from a variety of miscellaneous files. 2007-12-29 22:59:10 +00:00
IntrinsicsX86.td Eliminate x86.sse2.punpckh.qdq and x86.sse2.punpckl.qdq. 2008-05-24 02:56:30 +00:00
LinkAllPasses.h Force postdom to be linked into opt and bugpoint, even though it is no longer used by any passes. 2008-05-29 17:00:13 +00:00
LinkAllVMCore.h prune unneeded #includes 2008-04-01 04:00:45 +00:00
Linker.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
LinkTimeOptimizer.h Add CommonLinkage. 2008-05-16 22:42:11 +00:00
Module.h Fix comment. 2008-04-16 20:45:31 +00:00
ModuleProvider.h Remove warnings about unused parameters and shadowed variables. 2008-05-19 20:15:12 +00:00
OperandTraits.h add doxygen comments 2008-05-29 22:58:33 +00:00
ParameterAttributes.h Fix more -Wshorten-64-to-32 warnings. 2008-05-05 18:30:58 +00:00
Pass.h Remove warnings about unused parameters and shadowed variables. 2008-05-19 20:15:12 +00:00
PassAnalysisSupport.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
PassManager.h Give PassManager and FunctionPassManager a common base class, with 2008-03-11 16:41:42 +00:00
PassManagers.h Add #includes to make some dependencies explicit. 2008-05-23 20:40:06 +00:00
PassSupport.h Remove warnings about unused parameters and shadowed variables. 2008-05-19 20:15:12 +00:00
SymbolTableListTraits.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
Type.h Add an isAggregateType predicate. 2008-05-30 22:40:06 +00:00
TypeSymbolTable.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
Use.h For PR1338: rename include/llvm/ADT/ilist and friends to end with ".h" 2008-05-29 17:41:17 +00:00
User.h Suppress warnings about missing placement delete. This should now be std-conformant even if compiled with exceptions on. 2008-05-22 13:16:42 +00:00
Value.h Prune and tidy #includes. 2008-05-29 19:52:31 +00:00
ValueSymbolTable.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00