[PATCH] D65304: Don't recreate a label if it's already used
Bill Wendling via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 25 15:49:57 PDT 2019
void created this revision.
void added reviewers: nickdesaulniers, craig.topper.
Herald added subscribers: llvm-commits, javed.absar.
Herald added a project: LLVM.
This patch keeps track of MCSymbols created for blocks that were
referenced in inline asm. It prevents creating a new symbol which
doesn't refer to the block.
Inline asm may have a reference to a label. The asm parser however
doesn't recognize it as a label and tries to create a new symbol. The
result being that instead of the original symbol (e.g. ".Ltmp0") the
parser replaces it in the inline asm with the new one (e.g. ".Ltmp00")
without updating it in the symbol table. So the machine basic block
retains the "old" symbol (".Ltmp0"), but the inline asm uses the new one
(".Ltmp00").
Repository:
rL LLVM
https://reviews.llvm.org/D65304
Files:
include/llvm/MC/MCContext.h
lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
lib/MC/MCContext.cpp
lib/MC/MCParser/AsmParser.cpp
test/CodeGen/AArch64/callbr-asm-label.ll
test/CodeGen/X86/callbr-asm-label-addr.ll
test/CodeGen/X86/callbr-asm.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D65304.211845.patch
Type: text/x-patch
Size: 7047 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190725/101e90af/attachment.bin>
More information about the llvm-commits
mailing list