Restore ability for C++ API users to Enable IPRA.
authorDaniel Sanders <daniel_l_sanders@apple.com>
Fri, 22 Feb 2019 20:59:07 +0000 (20:59 +0000)
committerDaniel Sanders <daniel_l_sanders@apple.com>
Fri, 22 Feb 2019 20:59:07 +0000 (20:59 +0000)
commit07cda257f84ba773ee6dd0b140889c59f6459f39
treeb65b6c5b0e04304d4fa620cf98dfdf99d7f02cc8
parentc2d95792d64bcaa8235c0f31747e56ce5d203e0f
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
llvm/lib/CodeGen/TargetPassConfig.cpp
llvm/unittests/CodeGen/CMakeLists.txt
llvm/unittests/CodeGen/TargetOptionsTest.cpp [new file with mode: 0644]