llvm-6502/include/llvm
Frits van Bommel 5649ba70fb Add a parameter to ConstantFoldTerminator() that callers can use to ask it to also clean up the condition of any conditional terminator it folds to be unconditional, if that turns the condition into dead code. This just means it calls RecursivelyDeleteTriviallyDeadInstructions() in strategic spots. It defaults to the old behavior.
I also changed -simplifycfg, -jump-threading and -codegenprepare to use this to produce slightly better code without any extra cleanup passes (AFAICT this was the only place in -simplifycfg where now-dead conditions of replaced terminators weren't being cleaned up). The only other user of this function is -sccp, but I didn't read that thoroughly enough to figure out whether it might be holding pointers to instructions that could be deleted by this.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131855 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-22 16:24:18 +00:00
..
ADT Add asserts in StringRef to make sure we avoid undefined behavior: 2011-05-20 19:24:12 +00:00
Analysis indvars: Prototyping Sign/ZeroExtend elimination without canonical IVs. 2011-05-20 18:25:42 +00:00
Assembly lets get crazy and name the header file the exact class name, 2010-09-02 23:09:42 +00:00
Bitcode Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
CodeGen Add .pdata and .xdata sections to the COFF TLOF implementation. 2011-05-20 22:13:55 +00:00
CompilerDriver llvmc: Make 'true' and 'false' instances of a 'Bool' class. 2011-05-05 04:25:03 +00:00
Config Windows/DynamicLibrary.inc: Clean up ELM_Callback. We may check the decl instead of the versions of individual libraries. 2011-05-01 13:29:49 +00:00
ExecutionEngine ExecutionEngine: push TargetMachine creation into clients (v2) 2011-05-13 21:51:29 +00:00
MC Implement emission of all Win64 exception tables. Make the COFF streamer emit 2011-05-22 04:15:07 +00:00
Object Start migrating mach-o dumping facilities to the object file out of a 2011-04-03 23:51:47 +00:00
Support another typo 2011-05-22 15:44:02 +00:00
Target Allow access to the .pdata and .xdata sections through the TargetAsmInfo 2011-05-22 00:03:24 +00:00
Transforms Add a parameter to ConstantFoldTerminator() that callers can use to ask it to also clean up the condition of any conditional terminator it folds to be unconditional, if that turns the condition into dead code. This just means it calls RecursivelyDeleteTriviallyDeadInstructions() in strategic spots. It defaults to the old behavior. 2011-05-22 16:24:18 +00:00
AbstractTypeUser.h
Argument.h
Attributes.h Add a new 'hotpatch' attribute. This attribute will insert a two-byte no-op 2010-10-25 15:37:09 +00:00
AutoUpgrade.h Auto-upgrade the magic ".llvm.eh.catch.all.value" global to 2010-09-10 18:51:56 +00:00
BasicBlock.h Revert r129235 pending a vetting of the EH rewrite. 2011-04-10 23:18:04 +00:00
CallGraphSCCPass.h
CallingConv.h Use X86_thiscall calling convention for Win64 as well. 2011-03-03 07:49:07 +00:00
CMakeLists.txt Put targets on folders, if the IDE supports the feature. 2011-02-20 22:06:10 +00:00
Constant.h Fix or remove code which seemed to think that the operand of a Constant 2011-04-11 09:48:55 +00:00
Constants.h PR9214: Convert ConstantExpr::getIndices() to return an ArrayRef, plus 2011-04-13 15:22:40 +00:00
DebugInfoProbe.h Introduce DebugInfoProbe. This is used to monitor how llvm optimizer is treating debugging information. 2011-03-10 00:21:25 +00:00
DefaultPasses.h Remove noisy semicolons. 2011-05-20 09:20:25 +00:00
DerivedTypes.h Make the empty StructType::get overload use an empty ArrayRef. 2011-04-18 14:02:06 +00:00
Function.h Don't do tail calls in a function that call setjmp. The stack might be 2011-05-16 03:05:33 +00:00
GlobalAlias.h FixedNumOperandTraits and VariadicOperandTraits assumed that, given a 2011-01-11 15:07:38 +00:00
GlobalValue.h hoist GlobalValue::removeDeadConstantUsers up to being a method on Constant. 2011-02-18 04:41:42 +00:00
GlobalVariable.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
GVMaterializer.h
InitializePasses.h Rename LineProfiling to GCOVProfiling to more accurately represent what it 2011-04-16 01:20:23 +00:00
InlineAsm.h Do not model all INLINEASM instructions as having unmodelled side effects. 2011-01-07 23:50:32 +00:00
InstrTypes.h Don't include Operator.h from InstrTypes.h. 2011-04-11 09:35:34 +00:00
Instruction.def
Instruction.h There is no need for isAssociative to take the type as an argument anymore. 2010-12-20 13:10:23 +00:00
Instructions.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
IntrinsicInst.h Teach LazyValueInfo that allocas aren't NULL. Over all of llvm-test, this saves 2011-01-15 09:16:12 +00:00
Intrinsics.h
Intrinsics.td Give the 'eh.sjlj.dispatchsetup' intrinsic call the value coming from the setjmp 2011-05-11 01:11:55 +00:00
IntrinsicsAlpha.td
IntrinsicsARM.td Add a few ARM coprocessor intrinsics. Testcases included 2011-05-03 17:29:22 +00:00
IntrinsicsCellSPU.td
IntrinsicsPowerPC.td
IntrinsicsPTX.td PTX: Add intrinsics to list of built-in intrinsics, which allows them to be 2011-04-20 15:37:17 +00:00
IntrinsicsX86.td Remove dead intrinsics. 2011-05-04 02:40:54 +00:00
IntrinsicsXCore.td Add XCore intrinsics for initializing / starting / synchronizing threads. 2011-03-31 15:13:13 +00:00
LinkAllPasses.h Conditionalize the format of the GCOV files by target type. Darwin uses the 4.2 2011-05-17 23:05:13 +00:00
LinkAllVMCore.h Missed a spot removing Alarm. 2010-12-07 18:50:33 +00:00
Linker.h Remove obsolete comments about throwing exceptions. 2010-09-02 22:14:51 +00:00
LLVMContext.h now that AsmPrinter::EmitInlineAsm is factored right, we can eliminate the 2010-11-17 08:13:01 +00:00
Metadata.h PR9214: Convert Metadata API to use ArrayRef. 2011-04-21 19:59:31 +00:00
Module.h Fix typo in doxy-comment. 2011-04-06 20:54:07 +00:00
OperandTraits.h OperandTraits<>::Layout isn't used for anything. Remove it. 2011-01-14 18:41:56 +00:00
Operator.h PR9869: Add explicit destructor declarations to Operator subclasses, to allow 2011-05-08 01:59:22 +00:00
Pass.h Fix typos in comments. 2011-04-28 09:12:47 +00:00
PassAnalysisSupport.h Don't add the same analysis implementation pair twice. 2011-03-30 18:32:53 +00:00
PassManager.h
PassManagers.h Add RegionPass support. 2010-10-20 01:54:44 +00:00
PassRegistry.h Attempt to fix valgrind complaining about (benign) leaks in pass registration by having PassRegistry 2010-10-20 22:22:30 +00:00
PassSupport.h Revert r131155 for now. It makes VMCore depend on Analysis and Transforms 2011-05-10 22:16:06 +00:00
SymbolTableListTraits.h
Type.h Make codegen able to handle values of empty types. This is one way 2011-05-13 15:18:06 +00:00
TypeSymbolTable.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
Use.h Add missing include for ptrdiff_t. Patch by Joerg Sonnenberger! 2011-01-28 03:52:25 +00:00
User.h Fix typos in assert messages. 2011-03-21 16:38:22 +00:00
Value.h fix incorrect comment. 2011-03-08 16:59:03 +00:00
ValueSymbolTable.h Merge System into Support. 2010-11-29 18:16:10 +00:00