summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2017-12-10 00:03:16 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2017-12-10 00:03:16 +0000
commit3508a09455666fb66242c472fd2305c01bb657a6 (patch)
treeeda16feca929264ff319efcd7a96cb4ba7872466 /llvm/lib
parent5cc21e83ce079136359f19e1a916fedce43aef3e (diff)
downloadbcm5719-llvm-3508a09455666fb66242c472fd2305c01bb657a6.tar.gz
bcm5719-llvm-3508a09455666fb66242c472fd2305c01bb657a6.zip
[X86] Tag ALLOCA/VAARG instructions as system scheduler classes
llvm-svn: 320273
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/X86/X86InstrCompiler.td2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86InstrCompiler.td b/llvm/lib/Target/X86/X86InstrCompiler.td
index 806657a24df..8b298d27ce8 100644
--- a/llvm/lib/Target/X86/X86InstrCompiler.td
+++ b/llvm/lib/Target/X86/X86InstrCompiler.td
@@ -76,6 +76,7 @@ def ADJCALLSTACKUP64 : I<0, Pseudo, (outs), (ins i32imm:$amt1, i32imm:$amt2),
def : Pat<(X86callseq_start timm:$amt1, timm:$amt2),
(ADJCALLSTACKDOWN64 i32imm:$amt1, i32imm:$amt2, 0)>, Requires<[IsLP64]>;
+let SchedRW = [WriteSystem] in {
// x86-64 va_start lowering magic.
let usesCustomInserter = 1, Defs = [EFLAGS] in {
@@ -141,6 +142,7 @@ def WIN_ALLOCA_64 : I<0, Pseudo, (outs), (ins GR64:$size),
"# dynamic stack allocation",
[(X86WinAlloca GR64:$size)]>,
Requires<[In64BitMode]>;
+} // SchedRW
// These instructions XOR the frame pointer into a GPR. They are used in some
// stack protection schemes. These are post-RA pseudos because we only know the
OpenPOWER on IntegriCloud