Properly emit _fltused with FastISel. Refactor to share code with SDAG.

Patch by Joe Groff!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151183 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Michael J. Spencer
2012-02-22 19:06:13 +00:00
parent 2fc0977a98
commit c9c137b463
9 changed files with 68 additions and 27 deletions
+8 -8
View File
@@ -161,10 +161,10 @@ class MachineModuleInfo : public ImmutablePass {
/// in this module.
bool DbgInfoAvailable;
/// CallsExternalVAFunctionWithFloatingPointArguments - True if this module
/// calls VarArg function with floating point arguments. This is used to emit
/// an undefined reference to fltused on Windows targets.
bool CallsExternalVAFunctionWithFloatingPointArguments;
/// UsesVAFloatArgument - True if this module calls VarArg function with
/// floating-point arguments. This is used to emit an undefined reference
/// to _fltused on Windows targets.
bool UsesVAFloatArgument;
public:
static char ID; // Pass identification, replacement for typeid
@@ -223,12 +223,12 @@ public:
bool callsUnwindInit() const { return CallsUnwindInit; }
void setCallsUnwindInit(bool b) { CallsUnwindInit = b; }
bool callsExternalVAFunctionWithFloatingPointArguments() const {
return CallsExternalVAFunctionWithFloatingPointArguments;
bool usesVAFloatArgument() const {
return UsesVAFloatArgument;
}
void setCallsExternalVAFunctionWithFloatingPointArguments(bool b) {
CallsExternalVAFunctionWithFloatingPointArguments = b;
void setUsesVAFloatArgument(bool b) {
UsesVAFloatArgument = b;
}
/// getFrameMoves - Returns a reference to a list of moves done in the current