[PATCH] D79978: Call Frame Information (CFI) Handling for Basic Block Sections

David Blaikie via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 8 11:07:48 PDT 2020


dblaikie added inline comments.


================
Comment at: llvm/test/DebugInfo/X86/basic-block-sections-cfiinstr_1.ll:20-30
+; Exhaust caller-saved parameter registers and  force callee saved registers to
+; be used in the computation.  This tests that CFI directives for callee saved
+; registers are generated with basic block sections.
+; extern int f1(int, int, int);
+;
+; int compute(bool k, int p1, int p2, int p3, int p4, int p5, int p6) {
+;   int result = p1;
----------------
this looks nicer - though I'd still like a bit more commentary on exactly how/why these constructs are here? Why two function calls with interleaved parameters rather than one, etc?

Mostly I'm hoping the test would explain why these constructs are used and which parts are relevant. (does the function need a non-void return type? or could the function calls be void-returning but conditional? (it's not like they can be optimized away, since they might have side effects anyway))


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

https://reviews.llvm.org/D79978





More information about the llvm-commits mailing list