THIS IS A WIP!
Remove the restrictions that preventing "callbr" from returning non-void
values. The value returned by "callbr" is only valid on the "normal" path.
Values used on "abnormal" paths are poisoned.
Allow output constraints on "asm goto"
Paths
| Differential D69875
Allow "callbr" to return non-void values AbandonedPublic Authored by void on Nov 5 2019, 6:13 PM.
Details
Summary THIS IS A WIP! Remove the restrictions that preventing "callbr" from returning non-void Allow output constraints on "asm goto"
Diff Detail
Revision Contents
Diff 227991 clang/include/clang/AST/Stmt.h
clang/lib/AST/Stmt.cpp
clang/lib/Parse/ParseStmtAsm.cpp
clang/lib/Sema/SemaStmtAsm.cpp
clang/test/Parser/asm-goto.c
clang/test/Parser/asm-goto.cpp
llvm/lib/AsmParser/LLParser.cpp
llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
llvm/lib/IR/Verifier.cpp
llvm/test/CodeGen/X86/callbr-asm-outputs.ll
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||