[cfe-commits] r126886 - in /cfe/trunk: include/clang/AST/Type.h include/clang/Basic/TargetInfo.h lib/AST/DumpXML.cpp lib/AST/MicrosoftMangle.cpp lib/AST/Type.cpp lib/CodeGen/CGBlocks.cpp lib/CodeGen/CGCall.cpp lib/CodeGen/CGDeclCXX.cpp lib/CodeGen/CGExpr.cpp lib/CodeGen/CGExprCXX.cpp lib/CodeGen/CGObjC.cpp lib/CodeGen/CGVTables.cpp lib/CodeGen/CodeGenFunction.cpp lib/CodeGen/CodeGenFunction.h lib/CodeGen/CodeGenTypes.h lib/CodeGen/TargetInfo.cpp
Tilmann Scheller
tilmann.scheller at googlemail.com
Wed Mar 2 13:36:49 PST 2011
Author: tilmann
Date: Wed Mar 2 15:36:49 2011
New Revision: 126886
URL: http://llvm.org/viewvc/llvm-project?rev=126886&view=rev
Log:
Revert "Add CC_Win64ThisCall and set it in the necessary places."
This reverts commit 126863.
Modified:
cfe/trunk/include/clang/AST/Type.h
cfe/trunk/include/clang/Basic/TargetInfo.h
cfe/trunk/lib/AST/DumpXML.cpp
cfe/trunk/lib/AST/MicrosoftMangle.cpp
cfe/trunk/lib/AST/Type.cpp
cfe/trunk/lib/CodeGen/CGBlocks.cpp
cfe/trunk/lib/CodeGen/CGCall.cpp
cfe/trunk/lib/CodeGen/CGDeclCXX.cpp
cfe/trunk/lib/CodeGen/CGExpr.cpp
cfe/trunk/lib/CodeGen/CGExprCXX.cpp
cfe/trunk/lib/CodeGen/CGObjC.cpp
cfe/trunk/lib/CodeGen/CGVTables.cpp
cfe/trunk/lib/CodeGen/CodeGenFunction.cpp
cfe/trunk/lib/CodeGen/CodeGenFunction.h
cfe/trunk/lib/CodeGen/CodeGenTypes.h
cfe/trunk/lib/CodeGen/TargetInfo.cpp
Modified: cfe/trunk/include/clang/AST/Type.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Type.h?rev=126886&r1=126885&r2=126886&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/Type.h (original)
+++ cfe/trunk/include/clang/AST/Type.h Wed Mar 2 15:36:49 2011
@@ -354,8 +354,7 @@
CC_X86StdCall, // __attribute__((stdcall))
CC_X86FastCall, // __attribute__((fastcall))
CC_X86ThisCall, // __attribute__((thiscall))
- CC_X86Pascal, // __attribute__((pascal))
- CC_Win64ThisCall
+ CC_X86Pascal // __attribute__((pascal))
};
typedef std::pair<const Type*, Qualifiers> SplitQualType;
Modified: cfe/trunk/include/clang/Basic/TargetInfo.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/TargetInfo.h?rev=126886&r1=126885&r2=126886&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/TargetInfo.h (original)
+++ cfe/trunk/include/clang/Basic/TargetInfo.h Wed Mar 2 15:36:49 2011
@@ -530,12 +530,6 @@
virtual const char *getStaticInitSectionSpecifier() const {
return 0;
}
-
- // isWin64 - Whether the target is MSVC Win64.
- bool isWin64() const {
- return (Triple.getArch() == llvm::Triple::x86_64)
- && (Triple.getOS() == llvm::Triple::Win32);
- }
protected:
virtual uint64_t getPointerWidthV(unsigned AddrSpace) const {
return PointerWidth;
Modified: cfe/trunk/lib/AST/DumpXML.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/DumpXML.cpp?rev=126886&r1=126885&r2=126886&view=diff
==============================================================================
--- cfe/trunk/lib/AST/DumpXML.cpp (original)
+++ cfe/trunk/lib/AST/DumpXML.cpp Wed Mar 2 15:36:49 2011
@@ -911,7 +911,6 @@
case CC_X86StdCall: return set("cc", "x86_stdcall");
case CC_X86ThisCall: return set("cc", "x86_thiscall");
case CC_X86Pascal: return set("cc", "x86_pascal");
- case CC_Win64ThisCall: return set("cc", "win64_thiscall");
}
}
Modified: cfe/trunk/lib/AST/MicrosoftMangle.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/MicrosoftMangle.cpp?rev=126886&r1=126885&r2=126886&view=diff
==============================================================================
--- cfe/trunk/lib/AST/MicrosoftMangle.cpp (original)
+++ cfe/trunk/lib/AST/MicrosoftMangle.cpp Wed Mar 2 15:36:49 2011
@@ -879,9 +879,6 @@
case CC_X86ThisCall: Out << 'E'; break;
case CC_X86StdCall: Out << 'G'; break;
case CC_X86FastCall: Out << 'I'; break;
- case CC_Win64ThisCall:
- assert(false && "Don't know how to mangle Win64 thiscall cc yet!");
- break;
}
}
void MicrosoftCXXNameMangler::mangleThrowSpecification(
Modified: cfe/trunk/lib/AST/Type.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/Type.cpp?rev=126886&r1=126885&r2=126886&view=diff
==============================================================================
--- cfe/trunk/lib/AST/Type.cpp (original)
+++ cfe/trunk/lib/AST/Type.cpp Wed Mar 2 15:36:49 2011
@@ -1157,7 +1157,6 @@
case CC_X86FastCall: return "fastcall";
case CC_X86ThisCall: return "thiscall";
case CC_X86Pascal: return "pascal";
- case CC_Win64ThisCall: return "win64_thiscall";
}
llvm_unreachable("Invalid calling convention.");
Modified: cfe/trunk/lib/CodeGen/CGBlocks.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGBlocks.cpp?rev=126886&r1=126885&r2=126886&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGBlocks.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGBlocks.cpp Wed Mar 2 15:36:49 2011
@@ -922,7 +922,7 @@
// Begin generating the function.
StartFunction(blockDecl, fnType->getResultType(), fn, args,
- blockInfo.getBlockExpr()->getBody()->getLocEnd(), CC_Default);
+ blockInfo.getBlockExpr()->getBody()->getLocEnd());
CurFuncDecl = outerFnDecl; // StartFunction sets this to blockDecl
// Okay. Undo some of what StartFunction did.
@@ -1078,7 +1078,7 @@
SC_None,
false,
true);
- StartFunction(FD, C.VoidTy, Fn, args, SourceLocation(), CC_Default);
+ StartFunction(FD, C.VoidTy, Fn, args, SourceLocation());
const llvm::Type *structPtrTy = blockInfo.StructureType->getPointerTo();
@@ -1167,7 +1167,7 @@
SC_Static,
SC_None,
false, true);
- StartFunction(FD, C.VoidTy, Fn, args, SourceLocation(), CC_Default);
+ StartFunction(FD, C.VoidTy, Fn, args, SourceLocation());
const llvm::Type *structPtrTy = blockInfo.StructureType->getPointerTo();
@@ -1270,7 +1270,7 @@
SC_Static,
SC_None,
false, true);
- StartFunction(FD, R, Fn, Args, SourceLocation(), CC_Default);
+ StartFunction(FD, R, Fn, Args, SourceLocation());
// dst->x
llvm::Value *V = GetAddrOfLocalVar(Dst);
@@ -1340,7 +1340,7 @@
SC_Static,
SC_None,
false, true);
- StartFunction(FD, R, Fn, Args, SourceLocation(), CC_Default);
+ StartFunction(FD, R, Fn, Args, SourceLocation());
llvm::Value *V = GetAddrOfLocalVar(Src);
V = Builder.CreateBitCast(V, llvm::PointerType::get(T, 0));
Modified: cfe/trunk/lib/CodeGen/CGCall.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGCall.cpp?rev=126886&r1=126885&r2=126886&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGCall.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGCall.cpp Wed Mar 2 15:36:49 2011
@@ -36,7 +36,6 @@
case CC_X86StdCall: return llvm::CallingConv::X86_StdCall;
case CC_X86FastCall: return llvm::CallingConv::X86_FastCall;
case CC_X86ThisCall: return llvm::CallingConv::X86_ThisCall;
- case CC_Win64ThisCall: return llvm::CallingConv::Win64_ThisCall;
// TODO: add support for CC_X86Pascal to llvm
}
}
@@ -76,23 +75,19 @@
static const CGFunctionInfo &getFunctionInfo(CodeGenTypes &CGT,
llvm::SmallVectorImpl<CanQualType> &ArgTys,
CanQual<FunctionProtoType> FTP,
- CallingConv CC,
bool IsRecursive = false) {
// FIXME: Kill copy.
for (unsigned i = 0, e = FTP->getNumArgs(); i != e; ++i)
ArgTys.push_back(FTP->getArgType(i));
CanQualType ResTy = FTP->getResultType().getUnqualifiedType();
-
- return CGT.getFunctionInfo(ResTy, ArgTys,
- FTP->getExtInfo().withCallingConv(CC),
- IsRecursive);
+ return CGT.getFunctionInfo(ResTy, ArgTys, FTP->getExtInfo(), IsRecursive);
}
const CGFunctionInfo &
CodeGenTypes::getFunctionInfo(CanQual<FunctionProtoType> FTP,
bool IsRecursive) {
llvm::SmallVector<CanQualType, 16> ArgTys;
- return ::getFunctionInfo(*this, ArgTys, FTP, CC_Default, IsRecursive);
+ return ::getFunctionInfo(*this, ArgTys, FTP, IsRecursive);
}
static CallingConv getCallingConventionForDecl(const Decl *D) {
@@ -119,10 +114,8 @@
// Add the 'this' pointer.
ArgTys.push_back(GetThisType(Context, RD));
- CallingConv CC = Context.Target.isWin64() ? CC_Win64ThisCall : CC_Default;
-
return ::getFunctionInfo(*this, ArgTys,
- FTP->getCanonicalTypeUnqualified().getAs<FunctionProtoType>(), CC);
+ FTP->getCanonicalTypeUnqualified().getAs<FunctionProtoType>());
}
const CGFunctionInfo &CodeGenTypes::getFunctionInfo(const CXXMethodDecl *MD) {
@@ -135,9 +128,7 @@
if (MD->isInstance())
ArgTys.push_back(GetThisType(Context, MD->getParent()));
- CallingConv CC = Context.Target.isWin64() ? CC_Win64ThisCall : CC_Default;
-
- return ::getFunctionInfo(*this, ArgTys, GetFormalType(MD), CC);
+ return ::getFunctionInfo(*this, ArgTys, GetFormalType(MD));
}
const CGFunctionInfo &CodeGenTypes::getFunctionInfo(const CXXConstructorDecl *D,
@@ -154,9 +145,7 @@
for (unsigned i = 0, e = FTP->getNumArgs(); i != e; ++i)
ArgTys.push_back(FTP->getArgType(i));
- CallingConv CC = Context.Target.isWin64() ? CC_Win64ThisCall : CC_Default;
-
- return getFunctionInfo(ResTy, ArgTys, FTP->getExtInfo().withCallingConv(CC));
+ return getFunctionInfo(ResTy, ArgTys, FTP->getExtInfo());
}
const CGFunctionInfo &CodeGenTypes::getFunctionInfo(const CXXDestructorDecl *D,
@@ -170,9 +159,7 @@
CanQual<FunctionProtoType> FTP = GetFormalType(D);
assert(FTP->getNumArgs() == 0 && "dtor with formal parameters");
- CallingConv CC = Context.Target.isWin64() ? CC_Win64ThisCall : CC_Default;
-
- return getFunctionInfo(ResTy, ArgTys, FTP->getExtInfo().withCallingConv(CC));
+ return getFunctionInfo(ResTy, ArgTys, FTP->getExtInfo());
}
const CGFunctionInfo &CodeGenTypes::getFunctionInfo(const FunctionDecl *FD) {
@@ -263,8 +250,8 @@
return *FI;
// Construct the function info.
- FI = new CGFunctionInfo(CC, Info.getNoReturn(), Info.getRegParm(),
- ResTy, ArgTys.data(), ArgTys.size());
+ FI = new CGFunctionInfo(CC, Info.getNoReturn(), Info.getRegParm(), ResTy,
+ ArgTys.data(), ArgTys.size());
FunctionInfos.InsertNode(FI, InsertPos);
// Compute ABI information.
Modified: cfe/trunk/lib/CodeGen/CGDeclCXX.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDeclCXX.cpp?rev=126886&r1=126885&r2=126886&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGDeclCXX.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGDeclCXX.cpp Wed Mar 2 15:36:49 2011
@@ -261,7 +261,7 @@
const VarDecl *D,
llvm::GlobalVariable *Addr) {
StartFunction(GlobalDecl(), getContext().VoidTy, Fn, FunctionArgList(),
- SourceLocation(), CC_Default);
+ SourceLocation());
// Use guarded initialization if the global variable is weak due to
// being a class template's static data member.
@@ -278,7 +278,7 @@
llvm::Constant **Decls,
unsigned NumDecls) {
StartFunction(GlobalDecl(), getContext().VoidTy, Fn, FunctionArgList(),
- SourceLocation(), CC_Default);
+ SourceLocation());
for (unsigned i = 0; i != NumDecls; ++i)
if (Decls[i])
@@ -290,10 +290,8 @@
void CodeGenFunction::GenerateCXXGlobalDtorFunc(llvm::Function *Fn,
const std::vector<std::pair<llvm::WeakVH, llvm::Constant*> >
&DtorsAndObjects) {
- const bool IsWin64 = getContext().Target.isWin64();
-
StartFunction(GlobalDecl(), getContext().VoidTy, Fn, FunctionArgList(),
- SourceLocation(), IsWin64 ? CC_Win64ThisCall : CC_Default);
+ SourceLocation());
// Emit the dtors, in reverse order from construction.
for (unsigned i = 0, e = DtorsAndObjects.size(); i != e; ++i) {
@@ -329,8 +327,7 @@
llvm::Function *Fn =
CreateGlobalInitOrDestructFunction(CGM, FTy, "__cxx_global_array_dtor");
- StartFunction(GlobalDecl(), getContext().VoidTy, Fn, Args, SourceLocation(),
- CC_Default);
+ StartFunction(GlobalDecl(), getContext().VoidTy, Fn, Args, SourceLocation());
QualType BaseElementTy = getContext().getBaseElementType(Array);
const llvm::Type *BasePtr = ConvertType(BaseElementTy)->getPointerTo();
Modified: cfe/trunk/lib/CodeGen/CGExpr.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGExpr.cpp?rev=126886&r1=126885&r2=126886&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGExpr.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGExpr.cpp Wed Mar 2 15:36:49 2011
@@ -2121,7 +2121,7 @@
CallArgList Args;
EmitCallArgs(Args, dyn_cast<FunctionProtoType>(FnType), ArgBeg, ArgEnd);
- return EmitCall(CGM.getTypes().getFunctionInfo(Args, FnType, CC_Default),
+ return EmitCall(CGM.getTypes().getFunctionInfo(Args, FnType),
Callee, ReturnValue, Args, TargetDecl);
}
Modified: cfe/trunk/lib/CodeGen/CGExprCXX.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGExprCXX.cpp?rev=126886&r1=126885&r2=126886&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGExprCXX.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGExprCXX.cpp Wed Mar 2 15:36:49 2011
@@ -48,13 +48,8 @@
EmitCallArgs(Args, FPT, ArgBeg, ArgEnd);
QualType ResultType = FPT->getResultType();
- FunctionType::ExtInfo Info = FPT->getExtInfo();
-
- if (getContext().Target.isWin64()) {
- Info = Info.withCallingConv(CC_Win64ThisCall);
- }
-
- return EmitCall(CGM.getTypes().getFunctionInfo(ResultType, Args, Info),
+ return EmitCall(CGM.getTypes().getFunctionInfo(ResultType, Args,
+ FPT->getExtInfo()),
Callee, ReturnValue, Args, MD);
}
@@ -297,11 +292,8 @@
// And the rest of the call args
EmitCallArgs(Args, FPT, E->arg_begin(), E->arg_end());
const FunctionType *BO_FPT = BO->getType()->getAs<FunctionProtoType>();
-
- const CGFunctionInfo &FI = CGM.getTypes().getFunctionInfo(Args, BO_FPT,
- CGM.getContext().Target.isWin64() ? CC_Win64ThisCall : CC_Default);
-
- return EmitCall(FI , Callee, ReturnValue, Args);
+ return EmitCall(CGM.getTypes().getFunctionInfo(Args, BO_FPT), Callee,
+ ReturnValue, Args);
}
RValue
@@ -818,10 +810,8 @@
for (unsigned I = 0; I != NumPlacementArgs; ++I)
DeleteArgs.push_back(std::make_pair(getPlacementArgs()[I], *AI++));
- // FIXME Check whether this needs thiscall on Win64.
// Call 'operator delete'.
- CGF.EmitCall(CGF.CGM.getTypes().getFunctionInfo(DeleteArgs, FPT,
- CC_Default),
+ CGF.EmitCall(CGF.CGM.getTypes().getFunctionInfo(DeleteArgs, FPT),
CGF.CGM.GetAddrOfFunction(OperatorDelete),
ReturnValueSlot(), DeleteArgs, OperatorDelete);
}
@@ -881,10 +871,8 @@
DeleteArgs.push_back(std::make_pair(RV, *AI++));
}
- // FIXME Check whether this needs thiscall on Win64.
// Call 'operator delete'.
- CGF.EmitCall(CGF.CGM.getTypes().getFunctionInfo(DeleteArgs, FPT,
- CC_Default),
+ CGF.EmitCall(CGF.CGM.getTypes().getFunctionInfo(DeleteArgs, FPT),
CGF.CGM.GetAddrOfFunction(OperatorDelete),
ReturnValueSlot(), DeleteArgs, OperatorDelete);
}
@@ -988,7 +976,7 @@
// Emit the call to new.
RValue RV =
- EmitCall(CGM.getTypes().getFunctionInfo(NewArgs, NewFTy, CC_Default),
+ EmitCall(CGM.getTypes().getFunctionInfo(NewArgs, NewFTy),
CGM.GetAddrOfFunction(NewFD), ReturnValueSlot(), NewArgs, NewFD);
// If an allocation function is declared with an empty exception specification
@@ -1098,7 +1086,7 @@
DeleteArgs.push_back(std::make_pair(RValue::get(Size), SizeTy));
// Emit the call to delete.
- EmitCall(CGM.getTypes().getFunctionInfo(DeleteArgs, DeleteFTy, CC_Default),
+ EmitCall(CGM.getTypes().getFunctionInfo(DeleteArgs, DeleteFTy),
CGM.GetAddrOfFunction(DeleteFD), ReturnValueSlot(),
DeleteArgs, DeleteFD);
}
@@ -1219,7 +1207,7 @@
}
// Emit the call to delete.
- CGF.EmitCall(CGF.getTypes().getFunctionInfo(Args, DeleteFTy, CC_Default),
+ CGF.EmitCall(CGF.getTypes().getFunctionInfo(Args, DeleteFTy),
CGF.CGM.GetAddrOfFunction(OperatorDelete),
ReturnValueSlot(), Args, OperatorDelete);
}
Modified: cfe/trunk/lib/CodeGen/CGObjC.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGObjC.cpp?rev=126886&r1=126885&r2=126886&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGObjC.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGObjC.cpp Wed Mar 2 15:36:49 2011
@@ -140,8 +140,7 @@
CurGD = OMD;
- StartFunction(OMD, OMD->getResultType(), Fn, Args, OMD->getLocStart(),
- CC_Default);
+ StartFunction(OMD, OMD->getResultType(), Fn, Args, OMD->getLocStart());
}
void CodeGenFunction::GenerateObjCGetterBody(ObjCIvarDecl *Ivar,
Modified: cfe/trunk/lib/CodeGen/CGVTables.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGVTables.cpp?rev=126886&r1=126885&r2=126886&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGVTables.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGVTables.cpp Wed Mar 2 15:36:49 2011
@@ -2582,11 +2582,8 @@
FunctionArgs.push_back(std::make_pair(Param, Param->getType()));
}
-
- const bool IsWin64 = CGM.getContext().Target.isWin64();
-
- StartFunction(GlobalDecl(), ResultType, Fn, FunctionArgs, SourceLocation(),
- IsWin64 ? CC_Win64ThisCall : CC_Default);
+
+ StartFunction(GlobalDecl(), ResultType, Fn, FunctionArgs, SourceLocation());
CGM.getCXXABI().EmitInstanceFunctionProlog(*this);
@@ -2617,14 +2614,9 @@
FPT->isVariadic());
llvm::Value *Callee = CGM.GetAddrOfFunction(GD, Ty, /*ForVTable=*/true);
- FunctionType::ExtInfo Info = FPT->getExtInfo();
-
- if (IsWin64) {
- Info = Info.withCallingConv(CC_Win64ThisCall);
- }
-
const CGFunctionInfo &FnInfo =
- CGM.getTypes().getFunctionInfo(ResultType, CallArgs, Info);
+ CGM.getTypes().getFunctionInfo(ResultType, CallArgs,
+ FPT->getExtInfo());
// Determine whether we have a return value slot to use.
ReturnValueSlot Slot;
Modified: cfe/trunk/lib/CodeGen/CodeGenFunction.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenFunction.cpp?rev=126886&r1=126885&r2=126886&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CodeGenFunction.cpp (original)
+++ cfe/trunk/lib/CodeGen/CodeGenFunction.cpp Wed Mar 2 15:36:49 2011
@@ -211,8 +211,7 @@
void CodeGenFunction::StartFunction(GlobalDecl GD, QualType RetTy,
llvm::Function *Fn,
const FunctionArgList &Args,
- SourceLocation StartLoc,
- CallingConv CC) {
+ SourceLocation StartLoc) {
const Decl *D = GD.getDecl();
DidCallStackSave = false;
@@ -279,7 +278,7 @@
// FIXME: Leaked.
// CC info is ignored, hopefully?
CurFnInfo = &CGM.getTypes().getFunctionInfo(FnRetTy, Args,
- FunctionType::ExtInfo().withCallingConv(CC));
+ FunctionType::ExtInfo());
if (RetTy->isVoidType()) {
// Void type; nothing to return.
@@ -360,7 +359,7 @@
if (Stmt *Body = FD->getBody()) BodyRange = Body->getSourceRange();
// Emit the standard function prologue.
- StartFunction(GD, ResTy, Fn, Args, BodyRange.getBegin(), CC_Default);
+ StartFunction(GD, ResTy, Fn, Args, BodyRange.getBegin());
// Generate the body of the function.
if (isa<CXXDestructorDecl>(FD))
Modified: cfe/trunk/lib/CodeGen/CodeGenFunction.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenFunction.h?rev=126886&r1=126885&r2=126886&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CodeGenFunction.h (original)
+++ cfe/trunk/lib/CodeGen/CodeGenFunction.h Wed Mar 2 15:36:49 2011
@@ -1126,8 +1126,7 @@
void StartFunction(GlobalDecl GD, QualType RetTy,
llvm::Function *Fn,
const FunctionArgList &Args,
- SourceLocation StartLoc,
- CallingConv CC);
+ SourceLocation StartLoc);
void EmitConstructorBody(FunctionArgList &Args);
void EmitDestructorBody(FunctionArgList &Args);
Modified: cfe/trunk/lib/CodeGen/CodeGenTypes.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenTypes.h?rev=126886&r1=126885&r2=126886&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CodeGenTypes.h (original)
+++ cfe/trunk/lib/CodeGen/CodeGenTypes.h Wed Mar 2 15:36:49 2011
@@ -161,11 +161,9 @@
CXXDtorType Type);
const CGFunctionInfo &getFunctionInfo(const CallArgList &Args,
- const FunctionType *Ty,
- CallingConv CC) {
- FunctionType::ExtInfo Info = Ty->getExtInfo().withCallingConv(CC);
-
- return getFunctionInfo(Ty->getResultType(), Args, Info);
+ const FunctionType *Ty) {
+ return getFunctionInfo(Ty->getResultType(), Args,
+ Ty->getExtInfo());
}
const CGFunctionInfo &getFunctionInfo(CanQual<FunctionProtoType> Ty,
Modified: cfe/trunk/lib/CodeGen/TargetInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/TargetInfo.cpp?rev=126886&r1=126885&r2=126886&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/TargetInfo.cpp (original)
+++ cfe/trunk/lib/CodeGen/TargetInfo.cpp Wed Mar 2 15:36:49 2011
@@ -942,26 +942,6 @@
return false;
}
-
- void SetTargetAttributes(const Decl *D,
- llvm::GlobalValue *GV,
- CodeGen::CodeGenModule &M) const {
- if (M.getContext().Target.isWin64()) {
- if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
- const CXXMethodDecl *M = dyn_cast<CXXMethodDecl>(FD);
-
- if ((M && M->isInstance())
- || dyn_cast<CXXConstructorDecl>(FD)
- || dyn_cast<CXXDestructorDecl>(FD)) {
- // When using the MSVC Win64 ABI, methods/constructors/destructors
- // use the Win64 thiscall calling convention.
- llvm::Function *F = cast<llvm::Function>(GV);
- F->setCallingConv(llvm::CallingConv::Win64_ThisCall);
- }
- }
- }
- }
-
};
}
More information about the cfe-commits
mailing list