Convert struct arg to integer when passing inreg to make sure LLVM doesn't

ignore the attribute!
This commit is contained in:
Christian Kamm
2009-02-04 18:39:33 +01:00
parent c1aeab8c07
commit c3cdcab8d2
4 changed files with 17 additions and 11 deletions

View File

@@ -23,6 +23,7 @@
// llvm
#include "../ir/irtype.h"
namespace llvm { class Type; }
struct Scope;
struct Identifier;
@@ -438,7 +439,8 @@ struct TypeFunction : Type
bool retInPtr;
bool usesThis;
bool usesNest;
bool structInregArg;
// when the last arg is a struct and passed in EAX, this holds its real type
const llvm::Type* structInregArg;
unsigned retAttrs;
unsigned thisAttrs; // also used for nest
// parameter index in the llvm function that contains the first not-implicit arg