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:
Bill Wendling
2010-05-11 00:30:02 +00:00
parent 31b9c44cc1
commit 81043ee5dc
4 changed files with 30 additions and 15 deletions

View File

@@ -108,9 +108,10 @@ public:
// Dump feature info.
void dump() const;
/// Retrieve a formatted string of the default features for
/// the specified target triple.
static std::string getDefaultSubtargetFeatures(const Triple &Triple);
/// Retrieve a formatted string of the default features for the specified
/// target triple.
void getDefaultSubtargetFeatures(const std::string &CPU,
const Triple& Triple);
};
} // End namespace llvm