diff options
| author | Francis Visoiu Mistrih <francisvm@yahoo.com> | 2019-04-05 20:18:21 +0000 |
|---|---|---|
| committer | Francis Visoiu Mistrih <francisvm@yahoo.com> | 2019-04-05 20:18:21 +0000 |
| commit | ab051a378c9c84314c3b613cc37d9c424036d481 (patch) | |
| tree | d85df4acbf3f18884d693b23d1d5ffb40b9c00a8 /llvm/test/CodeGen | |
| parent | 3db6ad2bcfc5fb38343cfd7ce6eb56d9415e2b1e (diff) | |
| download | bcm5719-llvm-ab051a378c9c84314c3b613cc37d9c424036d481.tar.gz bcm5719-llvm-ab051a378c9c84314c3b613cc37d9c424036d481.zip | |
[X86] Preserve operand flag when expanding TCRETURNri
The expansion of TCRETURNri(64) would not keep operand flags like
undef/renamable/etc. which can result in machine verifier issues.
Also add plumbing to be able to use `-run-pass=x86-pseudo`.
llvm-svn: 357808
Diffstat (limited to 'llvm/test/CodeGen')
| -rw-r--r-- | llvm/test/CodeGen/X86/tailcall-pseudo-64.mir | 10 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/tailcall-pseudo.mir | 10 |
2 files changed, 20 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/tailcall-pseudo-64.mir b/llvm/test/CodeGen/X86/tailcall-pseudo-64.mir new file mode 100644 index 00000000000..71d2ebdb06b --- /dev/null +++ b/llvm/test/CodeGen/X86/tailcall-pseudo-64.mir @@ -0,0 +1,10 @@ +#RUN: llc -verify-machineinstrs -mtriple=x86_64-apple-darwin -o - -run-pass=x86-pseudo %s | FileCheck %s +--- +name: tail_call_fail_64 +tracksRegLiveness: true +body: | + bb.0: + TCRETURNri64 undef renamable $rax, 0, csr_64, implicit $rsp, implicit $ssp + ; CHECK: TAILJMPr64 killed undef renamable $rax, csr_64, implicit $rsp, implicit $ssp + +... diff --git a/llvm/test/CodeGen/X86/tailcall-pseudo.mir b/llvm/test/CodeGen/X86/tailcall-pseudo.mir new file mode 100644 index 00000000000..af52a4ddef7 --- /dev/null +++ b/llvm/test/CodeGen/X86/tailcall-pseudo.mir @@ -0,0 +1,10 @@ +#RUN: llc -verify-machineinstrs -mtriple=i386-apple-darwin -o - -run-pass=x86-pseudo %s | FileCheck %s +--- +name: tail_call_fail +tracksRegLiveness: true +body: | + bb.0: + TCRETURNri undef renamable $eax, 0, csr_32, implicit $esp, implicit $ssp + ; CHECK: TAILJMPr killed undef renamable $eax, csr_32, implicit $esp, implicit $ssp + +... |

