[PATCH] D53540: [COFF, ARM64] Implement support for SEH extensions __try/__except/__finally

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 17 18:11:14 PST 2018


rnk added inline comments.


================
Comment at: CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:6166
 
+    MF.setHasSEHFunclets(true);
+
----------------
It still seems true that this isn't about seh funclets, it's about localescape / localrecover, which is supposed to be orthogonal (for use in non-ABI visible lambdas), so I'd recommend renaming this boolean.


================
Comment at: Target/AArch64/AArch64AsmPrinter.cpp:680
+    const MCExpr *Expr = Sym->getVariableValue();
+    assert(isa<MCConstantExpr>(Expr) &&
+             "Frame alloc symbol should be a constant");
----------------
I think this assertion will fail if you use localrecover before localescape. I would make a test case for that. Is there really not some pseudo instruction we can use so that the materialization can be relaxed by the assembler?

Otherwise, there's no point to using this MCSymbol hack. We might as well have a simpler side table if we retain the requirement that localescape be code generated first.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D53540/new/

https://reviews.llvm.org/D53540





More information about the llvm-commits mailing list