summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorJustin Lebar <jlebar@google.com>2016-02-17 17:46:50 +0000
committerJustin Lebar <jlebar@google.com>2016-02-17 17:46:50 +0000
commitd596ec93ce51624e514225d9e85bb14e25d8d5a0 (patch)
tree41e292f9a47f0eb6f286aff30e453bef0cb33cf5 /llvm/lib
parentd3bcdd58f7b128bc0a78e9234a23aeeb0028795a (diff)
downloadbcm5719-llvm-d596ec93ce51624e514225d9e85bb14e25d8d5a0.tar.gz
bcm5719-llvm-d596ec93ce51624e514225d9e85bb14e25d8d5a0.zip
[NVPTX] Annotate call machine instructions as calls.
Summary: Otherwise we'll try to do unsafe optimizations on these MIs, such as sinking loads below calls. (I suspect that this is not the only bug in the NVPTX instruction tablegen files; I need to comb through them.) Reviewers: jholewinski, tra Subscribers: jingyue, jhen, llvm-commits Differential Revision: http://reviews.llvm.org/D17315 llvm-svn: 261113
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXInstrInfo.td2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/NVPTX/NVPTXInstrInfo.td b/llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
index 6fdd60f3ed2..54acf72bfbe 100644
--- a/llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
+++ b/llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
@@ -1826,6 +1826,7 @@ class StoreRetvalV4Inst<NVPTXRegClass regclass, string opstr> :
"\t[func_retval0+$a], {{$val, $val2, $val3, $val4}};"),
[]>;
+let isCall = 1 in {
def PrintCallRetInst1 : NVPTXInst<(outs), (ins),
"call (retval0), ",
[(PrintCall (i32 1))]>;
@@ -1883,6 +1884,7 @@ def PrintCallUniRetInst8 : NVPTXInst<(outs), (ins),
def PrintCallUniNoRetInst : NVPTXInst<(outs), (ins), "call.uni ",
[(PrintCallUni (i32 0))]>;
+} // call instructions
def LoadParamMemI64 : LoadParamMemInst<Int64Regs, ".b64">;
def LoadParamMemI32 : LoadParamMemInst<Int32Regs, ".b32">;
OpenPOWER on IntegriCloud