[PATCH] D115410: [llvm][test] rewrite callbr to use i rather than X constraint NFC

Phoebe Wang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 8 19:39:11 PST 2021


pengfei added inline comments.


================
Comment at: llvm/test/Verifier/callbr.ll:42
+  callbr void asm sideeffect "${0:l} ${1:l} ${2:l}", "i,X,i"(i8* blockaddress(@test3, %4), i8* blockaddress(@test3, %2), i8* blockaddress(@test3, %3))
   to label %1 [label %3, label %4]
 1:
----------------
Does it mean we are able to pass blockaddress out of current function? For that case, we can't put it in the indirect labels list, right?


================
Comment at: llvm/test/tools/llvm-diff/callbr.ll:28-29
 entry:
-  callbr void asm sideeffect "", "X,X,~{dirflag},~{fpsr},~{flags}"(i8* blockaddress(@foo, %t_no), i8* blockaddress(@foo, %return))
+  callbr void asm sideeffect "", "i,i,~{dirflag},~{fpsr},~{flags}"(i8* blockaddress(@foo, %t_no), i8* blockaddress(@foo, %return))
           to label %asm.fallthrough [label %return, label %t_no]
 
----------------
If my above assumption is true, I think we can't replace the `X` with `i` here.
Besides, I'm confused on the indirect labels list. Are they the labels of `bar` or `foo`?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D115410



More information about the llvm-commits mailing list