[PATCH] D15139: [IR] Reformulate LLVM's EH funclet IR
David Majnemer via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 11 00:50:51 PST 2015
majnemer updated this revision to Diff 42509.
majnemer added a comment.
- Move colorEHFunclets to EHPersonalities.h
- Fix some first draft review comments
- Address Andy's latest comments
- Make the IR a little easier to read
- Make the catchswitch syntax more like invoke
- Address Andy's latest comments.
- Address Joseph's review comments
- Remove unneeded #includes
- Address Joseph's comments
- Don't unswitch cleanuppads, we don't know how to split invoke edges to them.
- Don't sink into a catchswitch, it won't work.
- Make CatchSwitchInst::handlers() return BasicBlock * intead of const Use &
- Address review comments
http://reviews.llvm.org/D15139
Files:
docs/ExceptionHandling.rst
docs/LangRef.rst
include/llvm-c/Core.h
include/llvm/Analysis/EHPersonalities.h
include/llvm/Bitcode/LLVMBitCodes.h
include/llvm/CodeGen/WinEHFuncInfo.h
include/llvm/IR/IRBuilder.h
include/llvm/IR/InstVisitor.h
include/llvm/IR/InstrTypes.h
include/llvm/IR/Instruction.def
include/llvm/IR/Instruction.h
include/llvm/IR/Instructions.h
include/llvm/Transforms/Utils/Local.h
lib/Analysis/CaptureTracking.cpp
lib/Analysis/EHPersonalities.cpp
lib/Analysis/InstructionSimplify.cpp
lib/Analysis/LoopInfo.cpp
lib/Analysis/ScalarEvolutionExpander.cpp
lib/Analysis/ValueTracking.cpp
lib/AsmParser/LLLexer.cpp
lib/AsmParser/LLParser.cpp
lib/AsmParser/LLParser.h
lib/AsmParser/LLToken.h
lib/Bitcode/Reader/BitcodeReader.cpp
lib/Bitcode/Writer/BitcodeWriter.cpp
lib/CodeGen/AsmPrinter/WinException.cpp
lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
lib/CodeGen/TargetLoweringBase.cpp
lib/CodeGen/WinEHPrepare.cpp
lib/IR/AsmWriter.cpp
lib/IR/Dominators.cpp
lib/IR/Instruction.cpp
lib/IR/Instructions.cpp
lib/IR/Verifier.cpp
lib/Target/X86/X86WinEHState.cpp
lib/Transforms/Instrumentation/MemorySanitizer.cpp
lib/Transforms/Scalar/Reassociate.cpp
lib/Transforms/Scalar/SCCP.cpp
lib/Transforms/Scalar/Sink.cpp
lib/Transforms/Utils/CodeExtractor.cpp
lib/Transforms/Utils/InlineFunction.cpp
lib/Transforms/Utils/LCSSA.cpp
lib/Transforms/Utils/Local.cpp
lib/Transforms/Utils/SimplifyCFG.cpp
test/Assembler/invalid-OperatorConstraint.ll
test/Bitcode/compatibility.ll
test/CodeGen/WinEH/wineh-cloning.ll
test/CodeGen/WinEH/wineh-coreclr.ll
test/CodeGen/WinEH/wineh-demotion.ll
test/CodeGen/WinEH/wineh-exceptionpointer.ll
test/CodeGen/WinEH/wineh-intrinsics.ll
test/CodeGen/WinEH/wineh-multi-parent-cloning.ll
test/CodeGen/WinEH/wineh-no-demotion.ll
test/CodeGen/WinEH/wineh-statenumbering-cleanups.ll
test/CodeGen/WinEH/wineh-statenumbering.ll
test/CodeGen/X86/branchfolding-catchpads.ll
test/CodeGen/X86/catchpad-realign-savexmm.ll
test/CodeGen/X86/catchpad-regmask.ll
test/CodeGen/X86/catchpad-weight.ll
test/CodeGen/X86/catchret-empty-fallthrough.ll
test/CodeGen/X86/catchret-fallthrough.ll
test/CodeGen/X86/cleanuppad-inalloca.ll
test/CodeGen/X86/cleanuppad-large-codemodel.ll
test/CodeGen/X86/cleanuppad-realign.ll
test/CodeGen/X86/funclet-layout.ll
test/CodeGen/X86/late-address-taken.ll
test/CodeGen/X86/seh-catch-all-win32.ll
test/CodeGen/X86/seh-catch-all.ll
test/CodeGen/X86/seh-catchpad.ll
test/CodeGen/X86/seh-except-finally.ll
test/CodeGen/X86/seh-exception-code.ll
test/CodeGen/X86/seh-finally.ll
test/CodeGen/X86/seh-safe-div-win32.ll
test/CodeGen/X86/seh-safe-div.ll
test/CodeGen/X86/seh-stack-realign.ll
test/CodeGen/X86/tail-dup-catchret.ll
test/CodeGen/X86/tail-merge-wineh.ll
test/CodeGen/X86/win-catchpad-csrs.ll
test/CodeGen/X86/win-catchpad-nested-cxx.ll
test/CodeGen/X86/win-catchpad-nested.ll
test/CodeGen/X86/win-catchpad-varargs.ll
test/CodeGen/X86/win-catchpad.ll
test/CodeGen/X86/win-cleanuppad.ll
test/CodeGen/X86/win-funclet-cfi.ll
test/CodeGen/X86/win-mixed-ehpersonality.ll
test/CodeGen/X86/win32-eh-states.ll
test/CodeGen/X86/win32-eh.ll
test/CodeGen/X86/win32-seh-catchpad-realign.ll
test/CodeGen/X86/win32-seh-catchpad.ll
test/CodeGen/X86/win32-seh-cleanupendpad.ll
test/CodeGen/X86/win32-seh-nested-finally.ll
test/CodeGen/X86/wineh-coreclr.ll
test/CodeGen/X86/wineh-exceptionpointer.ll
test/Feature/exception.ll
test/Transforms/CodeGenPrepare/catchpad-phi-cast.ll
test/Transforms/GVN/funclet.ll
test/Transforms/GVN/pre-load.ll
test/Transforms/Inline/PR25155.ll
test/Transforms/InstCombine/token.ll
test/Transforms/LoopStrengthReduce/funclet.ll
test/Transforms/LoopStrengthReduce/pr25541.ll
test/Transforms/LoopUnswitch/cleanuppad.ll
test/Transforms/SimplifyCFG/empty-cleanuppad.ll
test/Transforms/SimplifyCFG/wineh-unreachable.ll
test/Transforms/Sink/catchswitch.ll
test/Verifier/invalid-eh.ll
tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15139.42509.patch
Type: text/x-patch
Size: 539766 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151211/dc4c642a/attachment-0001.bin>
More information about the llvm-commits
mailing list