Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Simplify code by using the right type.

Removes some comditional compiling by replacing unsigned with llvm::Attributes.
  • Loading branch information...
commit b53544b389451bc4195540a970cb5c2e68e9496c 1 parent dbb5a34
@redstar redstar authored
View
18 gen/functions.cpp
@@ -57,11 +57,8 @@ llvm::FunctionType* DtoFunctionType(Type* type, Type* thistype, Type* nesttype,
else
{
Type* rt = f->next;
-#if LDC_LLVM_VER == 300
- unsigned a = 0;
-#else
llvm::Attributes a = None;
-#endif
+
// sret return
if (abi->returnInArg(f))
{
@@ -77,13 +74,8 @@ llvm::FunctionType* DtoFunctionType(Type* type, Type* thistype, Type* nesttype,
if (f->isref)
t = t->pointerTo();
#endif
-#if LDC_LLVM_VER == 300
- if (unsigned se = DtoShouldExtend(t))
- a = se;
-#else
if (llvm::Attributes atts = DtoShouldExtend(t))
a = atts;
-#endif
}
#if DMDV2
fty.ret = new IrFuncTyArg(rt, f->isref, a);
@@ -157,11 +149,7 @@ llvm::FunctionType* DtoFunctionType(Type* type, Type* thistype, Type* nesttype,
#endif
Type* argtype = arg->type;
-#if LDC_LLVM_VER == 300
- unsigned a = 0;
-#else
llvm::Attributes a = None;
-#endif
// handle lazy args
if (arg->storageClass & STClazy)
@@ -424,11 +412,7 @@ static void set_param_attrs(TypeFunction* f, llvm::Function* func, FuncDeclarati
// set attrs on the rest of the arguments
size_t n = Parameter::dim(f->parameters);
-#if LDC_LLVM_VER == 300
- LLSmallVector<unsigned, 8> attrptr(n, 0);
-#else
LLSmallVector<llvm::Attributes, 8> attrptr(n, None);
-#endif
for (size_t k = 0; k < n; ++k)
{
View
14 gen/tocall.cpp
@@ -277,11 +277,7 @@ void DtoBuildDVarArgList(std::vector<LLValue*>& args,
llvm::AttributeWithIndex Attr;
// specify arguments
args.push_back(DtoLoad(typeinfoarrayparam));
-#if LDC_LLVM_VER == 300
- if (unsigned atts = tf->fty.arg_arguments->attrs) {
-#else
if (llvm::Attributes atts = tf->fty.arg_arguments->attrs) {
-#endif
Attr.Index = argidx;
Attr.Attrs = atts;
attrs.push_back(Attr);
@@ -289,11 +285,7 @@ void DtoBuildDVarArgList(std::vector<LLValue*>& args,
++argidx;
args.push_back(gIR->ir->CreateBitCast(mem, getPtrToType(LLType::getInt8Ty(gIR->context())), "tmp"));
-#if LDC_LLVM_VER == 300
- if (unsigned atts = tf->fty.arg_argptr->attrs) {
-#else
if (llvm::Attributes atts = tf->fty.arg_argptr->attrs) {
-#endif
Attr.Index = argidx;
Attr.Attrs = atts;
attrs.push_back(Attr);
@@ -505,13 +497,7 @@ DValue* DtoCallFunction(Loc& loc, Type* resulttype, DValue* fnval, Expressions*
}
size_t n = Parameter::dim(tf->parameters);
-
-#if LDC_LLVM_VER == 300
- LLSmallVector<unsigned, 10> attrptr(n, 0);
-#else
LLSmallVector<llvm::Attributes, 10> attrptr(n, llvm::Attribute::None);
-#endif
-
std::vector<DValue*> argvals;
if (dfnval && dfnval->func->isArrayOp) {
// slightly different approach for array operators
View
4 gen/todebug.cpp
@@ -2,11 +2,7 @@
#include "llvm/CodeGen/MachineModuleInfo.h"
#include "llvm/Support/Dwarf.h"
#include "llvm/Support/FileSystem.h"
-#if LDC_LLVM_VER == 300
-#include "llvm/Support/PathV2.h"
-#else
#include "llvm/Support/Path.h"
-#endif
#include "declaration.h"
#include "module.h"
View
4 gen/tollvm.cpp
@@ -34,11 +34,7 @@ bool DtoIsPassedByRef(Type* type)
return (t == Tstruct || t == Tsarray);
}
-#if LDC_LLVM_VER == 300
-unsigned DtoShouldExtend(Type* type)
-#else
llvm::Attributes DtoShouldExtend(Type* type)
-#endif
{
type = type->toBasetype();
if (type->isintegral())
View
4 gen/tollvm.h
@@ -19,11 +19,7 @@ LLType* DtoTypeNotVoid(Type* t);
bool DtoIsPassedByRef(Type* type);
// should argument be zero or sign extended
-#if LDC_LLVM_VER == 300
-unsigned DtoShouldExtend(Type* type);
-#else
llvm::Attributes DtoShouldExtend(Type* type);
-#endif
// tuple helper
// takes a arguments list and makes a struct type out of them
View
4 ir/irfunction.cpp
@@ -13,11 +13,7 @@
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
-#if LDC_LLVM_VER == 300
-IrFuncTyArg::IrFuncTyArg(Type* t, bool bref, unsigned a) : type(t)
-#else
IrFuncTyArg::IrFuncTyArg(Type* t, bool bref, llvm::Attributes a) : type(t)
-#endif
{
ltype = t != Type::tvoid && bref ? DtoType(t->pointerTo()) : DtoType(t);
attrs = a;
View
10 ir/irfuncty.h
@@ -3,9 +3,7 @@
#include "ir/ir.h"
#include "llvm/ADT/SmallVector.h"
-#if LDC_LLVM_VER >= 301
#include "llvm/Attributes.h"
-#endif
#include <vector>
@@ -30,11 +28,7 @@ struct IrFuncTyArg : IrBase
/** These are the final LLVM attributes used for the function.
* Must be valid for the LLVM Type and byref setting */
-#if LDC_LLVM_VER == 300
- unsigned attrs;
-#else
llvm::Attributes attrs;
-#endif
/** 'true' if the final LLVM argument is a LLVM reference type.
* Must be true when the D Type is a value type, but the final
@@ -57,11 +51,7 @@ struct IrFuncTyArg : IrBase
* @param byref Initial value for the 'byref' field. If true the initial
* LLVM Type will be of DtoType(type->pointerTo()), instead
* of just DtoType(type) */
-#if LDC_LLVM_VER == 300
- IrFuncTyArg(Type* t, bool byref, unsigned a = 0);
-#else
IrFuncTyArg(Type* t, bool byref, llvm::Attributes a = llvm::Attribute::None);
-#endif
};
// represents a function type
Please sign in to comment.
Something went wrong with that request. Please try again.