summaryrefslogtreecommitdiff
path: root/lib/LTO
diff options
context:
space:
mode:
authorTom Roeder <tmroeder@google.com>2014-04-25 21:46:51 +0000
committerTom Roeder <tmroeder@google.com>2014-04-25 21:46:51 +0000
commit817f5e2fa137b15b536c952bcc1e75b1dd34b4b1 (patch)
treef514566a78e689fcc0c138b83fde6342a4c26c9a /lib/LTO
parentc744a371534456c1bb6557f053705f066ac33b62 (diff)
downloadllvm-817f5e2fa137b15b536c952bcc1e75b1dd34b4b1.tar.gz
llvm-817f5e2fa137b15b536c952bcc1e75b1dd34b4b1.tar.bz2
llvm-817f5e2fa137b15b536c952bcc1e75b1dd34b4b1.tar.xz
Add an -mattr option to the gold plugin to support subtarget features in LTO
This adds support for an -mattr option to the gold plugin and to llvm-lto. This allows the caller to specify details of the subtarget architecture, like +aes, or +ssse3 on x86. Note that this requires a change to the include/llvm-c/lto.h interface: it adds a function lto_codegen_set_attr and it increments the version of the interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207279 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/LTO')
-rw-r--r--lib/LTO/LTOCodeGenerator.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/LTO/LTOCodeGenerator.cpp b/lib/LTO/LTOCodeGenerator.cpp
index da74c57c58..105fb6900d 100644
--- a/lib/LTO/LTOCodeGenerator.cpp
+++ b/lib/LTO/LTOCodeGenerator.cpp
@@ -301,8 +301,9 @@ bool LTOCodeGenerator::determineTarget(std::string &errMsg) {
break;
}
- // construct LTOModule, hand over ownership of module and target
- SubtargetFeatures Features;
+ // Construct LTOModule, hand over ownership of module and target. Use MAttr as
+ // the default set of features.
+ SubtargetFeatures Features(MAttr);
Features.getDefaultSubtargetFeatures(Triple);
std::string FeatureStr = Features.getString();
// Set a default CPU for Darwin triples.