summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
diff options
context:
space:
mode:
authorJingyue Wu <jingyue@google.com>2014-11-10 18:38:25 +0000
committerJingyue Wu <jingyue@google.com>2014-11-10 18:38:25 +0000
commit0c981bd7df705511866e908efb4da61ce40a8aaa (patch)
tree67c2a9e5a2215bd5657f3a8d9636234946e8df41 /llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
parent4aa6bea7a2d79ddbb0023baaa7ce5009d1f6dfbd (diff)
downloadbcm5719-llvm-0c981bd7df705511866e908efb4da61ce40a8aaa.tar.gz
bcm5719-llvm-0c981bd7df705511866e908efb4da61ce40a8aaa.zip
[NVPTX] Add an NVPTX-specific TargetTransformInfo
Summary: It currently only implements hasBranchDivergence, and will be extended in later diffs. Split from D6188. Test Plan: make check-all Reviewers: jholewinski Reviewed By: jholewinski Subscribers: llvm-commits, meheff, eliben, jholewinski Differential Revision: http://reviews.llvm.org/D6195 llvm-svn: 221619
Diffstat (limited to 'llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp')
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp b/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
index 75df2c5bcae..dd7a6818a08 100644
--- a/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
+++ b/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
@@ -121,6 +121,14 @@ TargetPassConfig *NVPTXTargetMachine::createPassConfig(PassManagerBase &PM) {
return PassConfig;
}
+void NVPTXTargetMachine::addAnalysisPasses(PassManagerBase &PM) {
+ // Add first the target-independent BasicTTI pass, then our NVPTX pass. This
+ // allows the NVPTX pass to delegate to the target independent layer when
+ // appropriate.
+ PM.add(createBasicTargetTransformInfoPass(this));
+ PM.add(createNVPTXTargetTransformInfoPass(this));
+}
+
void NVPTXPassConfig::addIRPasses() {
// The following passes are known to not play well with virtual regs hanging
// around after register allocation (which in our case, is *all* registers).
OpenPOWER on IntegriCloud