[PATCH] D56571: [RFC prototype] Implementation of asm-goto support in clang

Eli Friedman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Feb 1 15:58:11 PST 2019


efriedma added inline comments.


================
Comment at: lib/Analysis/CFG.cpp:3137
+
+  Block = createBlock(false);
+  Block->setTerminator(G);
----------------
Passing add_successor=false seems suspect; this could probably use more test coverage.


================
Comment at: lib/CodeGen/CGStmt.cpp:2182
+    }
+  }
+
----------------
jyu2 wrote:
> nickdesaulniers wrote:
> > If this new block was moved closer to the new one on L2227, I assume they could be combined and possibly `IsGCCAsmGoto` be removed?  The code currently in between doesn't appear at first site to depend on info from this block, though maybe I may be missing it.
> The labels need be processed before Clobbers
Before the clobbers?  I don't see the relationship; the clobbers are just a string.

Granted, it does need to be before we compute the type, which is shared code.


================
Comment at: lib/CodeGen/CGStmt.cpp:1884
+template <typename T>
+void CodeGenFunction::UpdateCallInst(
+    T &Result, bool HasSideEffect, bool ReadOnly, bool ReadNone,
----------------
rsmith wrote:
> This is not a reasonable function name for a function that is specific to `AsmStmt`s. Please also make this a (static) non-member function, since it cannot be called outside this source file.
Does this really need to be a template function?  I think all the functions you're calling on "Result" are members of CallBase.


================
Comment at: lib/CodeGen/CGStmt.cpp:2188
+                                     std::to_string(NumGccAsmGotoStmts));
+      NumGccAsmGotoStmts++;
+    }
----------------
The NumGccAsmGotoStmts variable is pointless; if names are enabled, createBasicBlock will automatically number all the blocks named "normal".


================
Comment at: test/Parser/asm-goto.c:1
+// RUN: %clang_cc1 %s
+
----------------
What is this testing?


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

https://reviews.llvm.org/D56571





More information about the cfe-commits mailing list