[PATCH] D24108: X86: Fold tail calls into conditional branches where possible (PR26302)
Hans Wennborg via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 6 15:40:15 PDT 2016
hans updated this revision to Diff 70480.
hans marked 2 inline comments as done.
hans added a comment.
Addressing comments, doing optsize only and avoiding adding so many instructions.
I'm a little bit confused by the multiple levels of pseudo-instructions here actually. We have TCRETURNdi which is expanded in X86ExpandPseudo to a TCRETURNdi, but that is actually replaced by a JMP_1 when it comes to MC lowering. IIUC, this is because we want to put different flags and stuff on TCRETURNdi and JMP_1, but there can't be two real instructions with the same encoding, so the first one is marked isCodeGenOnly.
Anyway, I think this version of the patch is a little less messier than the first.
https://reviews.llvm.org/D24108
Files:
include/llvm/Target/TargetInstrInfo.h
lib/CodeGen/BranchFolding.cpp
lib/Target/X86/X86ExpandPseudo.cpp
lib/Target/X86/X86InstrControl.td
lib/Target/X86/X86InstrInfo.cpp
lib/Target/X86/X86InstrInfo.h
lib/Target/X86/X86MCInstLower.cpp
test/CodeGen/X86/conditional-tailcall.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D24108.70480.patch
Type: text/x-patch
Size: 13762 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160906/9b41ee3d/attachment.bin>
More information about the llvm-commits
mailing list