mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 04:38:24 +00:00
The getDefaultSubtargetFeatures method of SubtargetFeature did actually return a
string of features for that target. However LTO was using that string to pass into the "create target machine" stuff. That stuff needed the feature string to be in a particular form. In particular, it needed the CPU specified first and then the attributes. If there isn't a CPU specified, it required it to be blank -- e.g., ",+altivec". Yuck. Modify the getDefaultSubtargetFeatures method to be a non-static member function. For all attributes for a specific subtarget, it will add them in like normal. It will also take a CPU string so that it can satisfy this horrible syntax. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103451 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -300,8 +300,9 @@ bool LTOCodeGenerator::determineTarget(std::string& errMsg)
|
||||
}
|
||||
|
||||
// construct LTModule, hand over ownership of module and target
|
||||
const std::string FeatureStr =
|
||||
SubtargetFeatures::getDefaultSubtargetFeatures(llvm::Triple(Triple));
|
||||
SubtargetFeatures Features;
|
||||
Features.getDefaultSubtargetFeatures("" /* cpu */, llvm::Triple(Triple));
|
||||
std::string FeatureStr = Features.getString();
|
||||
_target = march->createTargetMachine(Triple, FeatureStr);
|
||||
}
|
||||
return false;
|
||||
|
Reference in New Issue
Block a user