summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/TargetPassConfig.cpp
diff options
context:
space:
mode:
authorDaniel Sanders <daniel_l_sanders@apple.com>2019-02-22 20:59:07 +0000
committerDaniel Sanders <daniel_l_sanders@apple.com>2019-02-22 20:59:07 +0000
commit07cda257f84ba773ee6dd0b140889c59f6459f39 (patch)
treeb65b6c5b0e04304d4fa620cf98dfdf99d7f02cc8 /llvm/lib/CodeGen/TargetPassConfig.cpp
parentc2d95792d64bcaa8235c0f31747e56ce5d203e0f (diff)
downloadbcm5719-llvm-07cda257f84ba773ee6dd0b140889c59f6459f39.tar.gz
bcm5719-llvm-07cda257f84ba773ee6dd0b140889c59f6459f39.zip
Restore ability for C++ API users to Enable IPRA.
Summary: Prior to r310876 one of our out-of-tree targets was enabling IPRA by modifying the TargetOptions::EnableIPRA. This no longer works on current trunk since the useIPRA() hook overrides any values that are set in advance. This patch adjusts the behaviour of the hook so that API users and useIPRA() can both enable it but useIPRA() cannot disable it if the API user already enabled it. Reviewers: arsenm Reviewed By: arsenm Subscribers: wdng, mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D38043 llvm-svn: 354692
Diffstat (limited to 'llvm/lib/CodeGen/TargetPassConfig.cpp')
-rw-r--r--llvm/lib/CodeGen/TargetPassConfig.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/TargetPassConfig.cpp b/llvm/lib/CodeGen/TargetPassConfig.cpp
index 399f69680af..76275da38fe 100644
--- a/llvm/lib/CodeGen/TargetPassConfig.cpp
+++ b/llvm/lib/CodeGen/TargetPassConfig.cpp
@@ -407,7 +407,7 @@ TargetPassConfig::TargetPassConfig(LLVMTargetMachine &TM, PassManagerBase &pm)
TM.Options.EnableIPRA = EnableIPRA;
else {
// If not explicitly specified, use target default.
- TM.Options.EnableIPRA = TM.useIPRA();
+ TM.Options.EnableIPRA |= TM.useIPRA();
}
if (TM.Options.EnableIPRA)
OpenPOWER on IntegriCloud