diff options
| author | David Majnemer <david.majnemer@gmail.com> | 2015-07-10 07:00:44 +0000 |
|---|---|---|
| committer | David Majnemer <david.majnemer@gmail.com> | 2015-07-10 07:00:44 +0000 |
| commit | ae2ffc8a8c825acf46f58f20dc7d0ae5fecbdd0b (patch) | |
| tree | bba694cd7ab6a7a5eb4aca757ebfc3b38b1e949d /llvm/lib/AsmParser/LLParser.h | |
| parent | 83505347724a3eeb42f66a0b58fb8ff5c4c9ea4c (diff) | |
| download | bcm5719-llvm-ae2ffc8a8c825acf46f58f20dc7d0ae5fecbdd0b.tar.gz bcm5719-llvm-ae2ffc8a8c825acf46f58f20dc7d0ae5fecbdd0b.zip | |
New EH representation for MSVC compatibility
Summary:
This introduces new instructions neccessary to implement MSVC-compatible
exception handling support. Most of the middle-end and none of the
back-end haven't been audited or updated to take them into account.
Reviewers: rnk, JosephTremoulet, reames, nlewycky, rjmccall
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D11041
llvm-svn: 241888
Diffstat (limited to 'llvm/lib/AsmParser/LLParser.h')
| -rw-r--r-- | llvm/lib/AsmParser/LLParser.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/AsmParser/LLParser.h b/llvm/lib/AsmParser/LLParser.h index 6e57b3e0667..2a39b6d364d 100644 --- a/llvm/lib/AsmParser/LLParser.h +++ b/llvm/lib/AsmParser/LLParser.h @@ -381,6 +381,9 @@ namespace llvm { bool IsMustTailCall = false, bool InVarArgsFunc = false); + bool ParseExceptionArgs(SmallVectorImpl<Value *> &Args, + PerFunctionState &PFS); + // Constant Parsing. bool ParseValID(ValID &ID, PerFunctionState *PFS = nullptr); bool ParseGlobalValue(Type *Ty, Constant *&V); @@ -441,6 +444,12 @@ namespace llvm { bool ParseIndirectBr(Instruction *&Inst, PerFunctionState &PFS); bool ParseInvoke(Instruction *&Inst, PerFunctionState &PFS); bool ParseResume(Instruction *&Inst, PerFunctionState &PFS); + bool ParseCleanupRet(Instruction *&Inst, PerFunctionState &PFS); + bool ParseCatchRet(Instruction *&Inst, PerFunctionState &PFS); + bool ParseCatchBlock(Instruction *&Inst, PerFunctionState &PFS); + bool ParseTerminateBlock(Instruction *&Inst, PerFunctionState &PFS); + bool ParseCleanupBlock(Instruction *&Inst, PerFunctionState &PFS); + bool ParseCatchEndBlock(Instruction *&Inst, PerFunctionState &PFS); bool ParseArithmetic(Instruction *&I, PerFunctionState &PFS, unsigned Opc, unsigned OperandType); |

