Renaming AttributeSet to AttributeList to follow trunk changes.
This commit is contained in:
72
cbackend.cpp
72
cbackend.cpp
@@ -529,8 +529,10 @@ namespace {
|
|||||||
bool IgnoreName = false,
|
bool IgnoreName = false,
|
||||||
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
||||||
const llvm::AttrListPtr &PAL = llvm::AttrListPtr()
|
const llvm::AttrListPtr &PAL = llvm::AttrListPtr()
|
||||||
#else // LLVM 3.3+
|
#elif ISPC_LLVM_VERSION <= ISPC_LLVM_4_0
|
||||||
const llvm::AttributeSet &PAL = llvm::AttributeSet()
|
const llvm::AttributeSet &PAL = llvm::AttributeSet()
|
||||||
|
#else // LLVM 5.0+
|
||||||
|
const llvm::AttributeList &PAL = llvm::AttributeList()
|
||||||
#endif
|
#endif
|
||||||
);
|
);
|
||||||
llvm::raw_ostream &printSimpleType(llvm::raw_ostream &Out, llvm::Type *Ty,
|
llvm::raw_ostream &printSimpleType(llvm::raw_ostream &Out, llvm::Type *Ty,
|
||||||
@@ -540,8 +542,10 @@ namespace {
|
|||||||
void printStructReturnPointerFunctionType(llvm::raw_ostream &Out,
|
void printStructReturnPointerFunctionType(llvm::raw_ostream &Out,
|
||||||
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
||||||
const llvm::AttrListPtr &PAL,
|
const llvm::AttrListPtr &PAL,
|
||||||
#else // LLVM 3.3+
|
#elif ISPC_LLVM_VERSION <= ISPC_LLVM_4_0
|
||||||
const llvm::AttributeSet &PAL,
|
const llvm::AttributeSet &PAL,
|
||||||
|
#else // LLVM 5.0+
|
||||||
|
const llvm::AttributeList &PAL,
|
||||||
#endif
|
#endif
|
||||||
llvm::PointerType *Ty);
|
llvm::PointerType *Ty);
|
||||||
|
|
||||||
@@ -786,8 +790,10 @@ std::string CWriter::getArrayName(llvm::ArrayType *AT) {
|
|||||||
void CWriter::printStructReturnPointerFunctionType(llvm::raw_ostream &Out,
|
void CWriter::printStructReturnPointerFunctionType(llvm::raw_ostream &Out,
|
||||||
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
||||||
const llvm::AttrListPtr &PAL,
|
const llvm::AttrListPtr &PAL,
|
||||||
#else // LLVM 3.3+
|
#elif ISPC_LLVM_VERSION <= ISPC_LLVM_4_0
|
||||||
const llvm::AttributeSet &PAL,
|
const llvm::AttributeSet &PAL,
|
||||||
|
#else // LLVM 5.0+
|
||||||
|
const llvm::AttributeList &PAL,
|
||||||
#endif
|
#endif
|
||||||
llvm::PointerType *TheTy) {
|
llvm::PointerType *TheTy) {
|
||||||
llvm::FunctionType *FTy = llvm::cast<llvm::FunctionType>(TheTy->getElementType());
|
llvm::FunctionType *FTy = llvm::cast<llvm::FunctionType>(TheTy->getElementType());
|
||||||
@@ -805,8 +811,10 @@ void CWriter::printStructReturnPointerFunctionType(llvm::raw_ostream &Out,
|
|||||||
llvm::Type *ArgTy = *I;
|
llvm::Type *ArgTy = *I;
|
||||||
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
||||||
if (PAL.getParamAttributes(Idx).hasAttribute(llvm::Attributes::ByVal)) {
|
if (PAL.getParamAttributes(Idx).hasAttribute(llvm::Attributes::ByVal)) {
|
||||||
#else // LLVM 3.3+
|
#elif ISPC_LLVM_VERSION <= ISPC_LLVM_4_0
|
||||||
if (PAL.getParamAttributes(Idx).hasAttribute(llvm::AttributeSet::FunctionIndex, llvm::Attribute::ByVal)) {
|
if (PAL.getParamAttributes(Idx).hasAttribute(llvm::AttributeSet::FunctionIndex, llvm::Attribute::ByVal)) {
|
||||||
|
#else // LLVM 5.0+
|
||||||
|
if (PAL.getParamAttributes(Idx).hasAttribute(llvm::AttributeList::FunctionIndex, llvm::Attribute::ByVal)) {
|
||||||
#endif
|
#endif
|
||||||
assert(ArgTy->isPointerTy());
|
assert(ArgTy->isPointerTy());
|
||||||
ArgTy = llvm::cast<llvm::PointerType>(ArgTy)->getElementType();
|
ArgTy = llvm::cast<llvm::PointerType>(ArgTy)->getElementType();
|
||||||
@@ -814,8 +822,10 @@ void CWriter::printStructReturnPointerFunctionType(llvm::raw_ostream &Out,
|
|||||||
printType(FunctionInnards, ArgTy,
|
printType(FunctionInnards, ArgTy,
|
||||||
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
||||||
PAL.getParamAttributes(Idx).hasAttribute(llvm::Attributes::SExt),
|
PAL.getParamAttributes(Idx).hasAttribute(llvm::Attributes::SExt),
|
||||||
#else // LLVM 3.3+
|
#elif ISPC_LLVM_VERSION <= ISPC_LLVM_4_0
|
||||||
PAL.getParamAttributes(Idx).hasAttribute(llvm::AttributeSet::FunctionIndex, llvm::Attribute::SExt),
|
PAL.getParamAttributes(Idx).hasAttribute(llvm::AttributeSet::FunctionIndex, llvm::Attribute::SExt),
|
||||||
|
#else // LLVM 5.0+
|
||||||
|
PAL.getParamAttributes(Idx).hasAttribute(llvm::AttributeList::FunctionIndex, llvm::Attribute::SExt),
|
||||||
#endif
|
#endif
|
||||||
"");
|
"");
|
||||||
PrintedType = true;
|
PrintedType = true;
|
||||||
@@ -831,8 +841,10 @@ void CWriter::printStructReturnPointerFunctionType(llvm::raw_ostream &Out,
|
|||||||
printType(Out, RetTy,
|
printType(Out, RetTy,
|
||||||
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
||||||
PAL.getParamAttributes(0).hasAttribute(llvm::Attributes::SExt),
|
PAL.getParamAttributes(0).hasAttribute(llvm::Attributes::SExt),
|
||||||
#else // LLVM 3.3+
|
#elif ISPC_LLVM_VERSION <= ISPC_LLVM_4_0
|
||||||
PAL.getParamAttributes(0).hasAttribute(llvm::AttributeSet::ReturnIndex, llvm::Attribute::SExt),
|
PAL.getParamAttributes(0).hasAttribute(llvm::AttributeSet::ReturnIndex, llvm::Attribute::SExt),
|
||||||
|
#else // LLVM 5.0+
|
||||||
|
PAL.getParamAttributes(0).hasAttribute(llvm::AttributeList::ReturnIndex, llvm::Attribute::SExt),
|
||||||
#endif
|
#endif
|
||||||
FunctionInnards.str());
|
FunctionInnards.str());
|
||||||
}
|
}
|
||||||
@@ -929,8 +941,10 @@ llvm::raw_ostream &CWriter::printType(llvm::raw_ostream &Out, llvm::Type *Ty,
|
|||||||
bool IgnoreName,
|
bool IgnoreName,
|
||||||
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
||||||
const llvm::AttrListPtr &PAL
|
const llvm::AttrListPtr &PAL
|
||||||
#else /* LLVM 3.3+ */
|
#elif ISPC_LLVM_VERSION <= ISPC_LLVM_4_0
|
||||||
const llvm::AttributeSet &PAL
|
const llvm::AttributeSet &PAL
|
||||||
|
#else // LLVM 5.0+
|
||||||
|
const llvm::AttributeList &PAL
|
||||||
#endif
|
#endif
|
||||||
) {
|
) {
|
||||||
|
|
||||||
@@ -951,8 +965,10 @@ llvm::raw_ostream &CWriter::printType(llvm::raw_ostream &Out, llvm::Type *Ty,
|
|||||||
llvm::Type *ArgTy = *I;
|
llvm::Type *ArgTy = *I;
|
||||||
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
||||||
if (PAL.getParamAttributes(Idx).hasAttribute(llvm::Attributes::ByVal)) {
|
if (PAL.getParamAttributes(Idx).hasAttribute(llvm::Attributes::ByVal)) {
|
||||||
#else /* LLVM 3.3+ */
|
#elif ISPC_LLVM_VERSION <= ISPC_LLVM_4_0
|
||||||
if (PAL.getParamAttributes(Idx).hasAttribute(llvm::AttributeSet::FunctionIndex, llvm::Attribute::ByVal)) {
|
if (PAL.getParamAttributes(Idx).hasAttribute(llvm::AttributeSet::FunctionIndex, llvm::Attribute::ByVal)) {
|
||||||
|
#else // LLVM 5.0+
|
||||||
|
if (PAL.getParamAttributes(Idx).hasAttribute(llvm::AttributeList::FunctionIndex, llvm::Attribute::ByVal)) {
|
||||||
#endif
|
#endif
|
||||||
assert(ArgTy->isPointerTy());
|
assert(ArgTy->isPointerTy());
|
||||||
ArgTy = llvm::cast<llvm::PointerType>(ArgTy)->getElementType();
|
ArgTy = llvm::cast<llvm::PointerType>(ArgTy)->getElementType();
|
||||||
@@ -962,8 +978,10 @@ llvm::raw_ostream &CWriter::printType(llvm::raw_ostream &Out, llvm::Type *Ty,
|
|||||||
printType(FunctionInnards, ArgTy,
|
printType(FunctionInnards, ArgTy,
|
||||||
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
||||||
PAL.getParamAttributes(Idx).hasAttribute(llvm::Attributes::SExt),
|
PAL.getParamAttributes(Idx).hasAttribute(llvm::Attributes::SExt),
|
||||||
#else /* LLVM 3.3+ */
|
#elif ISPC_LLVM_VERSION <= ISPC_LLVM_4_0
|
||||||
PAL.getParamAttributes(Idx).hasAttribute(llvm::AttributeSet::FunctionIndex, llvm::Attribute::SExt),
|
PAL.getParamAttributes(Idx).hasAttribute(llvm::AttributeSet::FunctionIndex, llvm::Attribute::SExt),
|
||||||
|
#else // LLVM 5.0+
|
||||||
|
PAL.getParamAttributes(Idx).hasAttribute(llvm::AttributeList::FunctionIndex, llvm::Attribute::SExt),
|
||||||
#endif
|
#endif
|
||||||
"");
|
"");
|
||||||
++Idx;
|
++Idx;
|
||||||
@@ -979,8 +997,10 @@ llvm::raw_ostream &CWriter::printType(llvm::raw_ostream &Out, llvm::Type *Ty,
|
|||||||
printType(Out, FTy->getReturnType(),
|
printType(Out, FTy->getReturnType(),
|
||||||
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
||||||
PAL.getParamAttributes(0).hasAttribute(llvm::Attributes::SExt),
|
PAL.getParamAttributes(0).hasAttribute(llvm::Attributes::SExt),
|
||||||
#else /* LLVM 3.3+ */
|
#elif ISPC_LLVM_VERSION <= ISPC_LLVM_4_0
|
||||||
PAL.getParamAttributes(0).hasAttribute(llvm::AttributeSet::ReturnIndex, llvm::Attribute::SExt),
|
PAL.getParamAttributes(0).hasAttribute(llvm::AttributeSet::ReturnIndex, llvm::Attribute::SExt),
|
||||||
|
#else // LLVM 5.0+
|
||||||
|
PAL.getParamAttributes(0).hasAttribute(llvm::AttributeList::ReturnIndex, llvm::Attribute::SExt),
|
||||||
#endif
|
#endif
|
||||||
FunctionInnards.str());
|
FunctionInnards.str());
|
||||||
return Out;
|
return Out;
|
||||||
@@ -3164,8 +3184,10 @@ void CWriter::printFunctionSignature(const llvm::Function *F, bool Prototype) {
|
|||||||
llvm::FunctionType *FT = llvm::cast<llvm::FunctionType>(F->getFunctionType());
|
llvm::FunctionType *FT = llvm::cast<llvm::FunctionType>(F->getFunctionType());
|
||||||
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
||||||
const llvm::AttrListPtr &PAL = F->getAttributes();
|
const llvm::AttrListPtr &PAL = F->getAttributes();
|
||||||
#else /* LLVM 3.3+ */
|
#elif ISPC_LLVM_VERSION <= ISPC_LLVM_4_0
|
||||||
const llvm::AttributeSet &PAL = F->getAttributes();
|
const llvm::AttributeSet &PAL = F->getAttributes();
|
||||||
|
#else // LLVM 5.0+
|
||||||
|
const llvm::AttributeList &PAL = F->getAttributes();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
std::string tstr;
|
std::string tstr;
|
||||||
@@ -3202,8 +3224,10 @@ void CWriter::printFunctionSignature(const llvm::Function *F, bool Prototype) {
|
|||||||
llvm::Type *ArgTy = I->getType();
|
llvm::Type *ArgTy = I->getType();
|
||||||
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
||||||
if (PAL.getParamAttributes(Idx).hasAttribute(llvm::Attributes::ByVal)) {
|
if (PAL.getParamAttributes(Idx).hasAttribute(llvm::Attributes::ByVal)) {
|
||||||
#else /* LLVM 3.3+ */
|
#elif ISPC_LLVM_VERSION <= ISPC_LLVM_4_0
|
||||||
if (PAL.getParamAttributes(Idx).hasAttribute(llvm::AttributeSet::FunctionIndex, llvm::Attribute::ByVal)) {
|
if (PAL.getParamAttributes(Idx).hasAttribute(llvm::AttributeSet::FunctionIndex, llvm::Attribute::ByVal)) {
|
||||||
|
#else // LLVM 5.0+
|
||||||
|
if (PAL.getParamAttributes(Idx).hasAttribute(llvm::AttributeList::FunctionIndex, llvm::Attribute::ByVal)) {
|
||||||
#endif
|
#endif
|
||||||
ArgTy = llvm::cast<llvm::PointerType>(ArgTy)->getElementType();
|
ArgTy = llvm::cast<llvm::PointerType>(ArgTy)->getElementType();
|
||||||
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_7 /* 3.2, 3.3, 3.4, 3.5, 3.6, 3.7 */
|
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_7 /* 3.2, 3.3, 3.4, 3.5, 3.6, 3.7 */
|
||||||
@@ -3215,8 +3239,10 @@ void CWriter::printFunctionSignature(const llvm::Function *F, bool Prototype) {
|
|||||||
printType(FunctionInnards, ArgTy,
|
printType(FunctionInnards, ArgTy,
|
||||||
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
||||||
PAL.getParamAttributes(Idx).hasAttribute(llvm::Attributes::SExt),
|
PAL.getParamAttributes(Idx).hasAttribute(llvm::Attributes::SExt),
|
||||||
#else /* LLVM 3.3+ */
|
#elif ISPC_LLVM_VERSION <= ISPC_LLVM_4_0
|
||||||
PAL.getParamAttributes(Idx).hasAttribute(llvm::AttributeSet::FunctionIndex, llvm::Attribute::SExt),
|
PAL.getParamAttributes(Idx).hasAttribute(llvm::AttributeSet::FunctionIndex, llvm::Attribute::SExt),
|
||||||
|
#else // LLVM 5.0+
|
||||||
|
PAL.getParamAttributes(Idx).hasAttribute(llvm::AttributeList::FunctionIndex, llvm::Attribute::SExt),
|
||||||
#endif
|
#endif
|
||||||
ArgName);
|
ArgName);
|
||||||
PrintedArg = true;
|
PrintedArg = true;
|
||||||
@@ -3241,8 +3267,10 @@ void CWriter::printFunctionSignature(const llvm::Function *F, bool Prototype) {
|
|||||||
llvm::Type *ArgTy = *I;
|
llvm::Type *ArgTy = *I;
|
||||||
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
||||||
if (PAL.getParamAttributes(Idx).hasAttribute(llvm::Attributes::ByVal)) {
|
if (PAL.getParamAttributes(Idx).hasAttribute(llvm::Attributes::ByVal)) {
|
||||||
#else /* LLVM 3.3+ */
|
#elif ISPC_LLVM_VERSION <= ISPC_LLVM_4_0
|
||||||
if (PAL.getParamAttributes(Idx).hasAttribute(llvm::AttributeSet::FunctionIndex, llvm::Attribute::ByVal)) {
|
if (PAL.getParamAttributes(Idx).hasAttribute(llvm::AttributeSet::FunctionIndex, llvm::Attribute::ByVal)) {
|
||||||
|
#else // LLVM 5.0+
|
||||||
|
if (PAL.getParamAttributes(Idx).hasAttribute(llvm::AttributeList::FunctionIndex, llvm::Attribute::ByVal)) {
|
||||||
#endif
|
#endif
|
||||||
assert(ArgTy->isPointerTy());
|
assert(ArgTy->isPointerTy());
|
||||||
ArgTy = llvm::cast<llvm::PointerType>(ArgTy)->getElementType();
|
ArgTy = llvm::cast<llvm::PointerType>(ArgTy)->getElementType();
|
||||||
@@ -3250,8 +3278,10 @@ void CWriter::printFunctionSignature(const llvm::Function *F, bool Prototype) {
|
|||||||
printType(FunctionInnards, ArgTy,
|
printType(FunctionInnards, ArgTy,
|
||||||
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
||||||
PAL.getParamAttributes(Idx).hasAttribute(llvm::Attributes::SExt)
|
PAL.getParamAttributes(Idx).hasAttribute(llvm::Attributes::SExt)
|
||||||
#else /* LLVM 3.3+ */
|
#elif ISPC_LLVM_VERSION <= ISPC_LLVM_4_0
|
||||||
PAL.getParamAttributes(Idx).hasAttribute(llvm::AttributeSet::FunctionIndex, llvm::Attribute::SExt)
|
PAL.getParamAttributes(Idx).hasAttribute(llvm::AttributeSet::FunctionIndex, llvm::Attribute::SExt)
|
||||||
|
#else // LLVM 5.0+
|
||||||
|
PAL.getParamAttributes(Idx).hasAttribute(llvm::AttributeList::FunctionIndex, llvm::Attribute::SExt)
|
||||||
#endif
|
#endif
|
||||||
);
|
);
|
||||||
PrintedArg = true;
|
PrintedArg = true;
|
||||||
@@ -3287,8 +3317,10 @@ void CWriter::printFunctionSignature(const llvm::Function *F, bool Prototype) {
|
|||||||
printType(Out, RetTy,
|
printType(Out, RetTy,
|
||||||
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
||||||
PAL.getParamAttributes(0).hasAttribute(llvm::Attributes::SExt),
|
PAL.getParamAttributes(0).hasAttribute(llvm::Attributes::SExt),
|
||||||
#else /* LLVM 3.3+ */
|
#elif ISPC_LLVM_VERSION <= ISPC_LLVM_4_0
|
||||||
PAL.getParamAttributes(0).hasAttribute(llvm::AttributeSet::ReturnIndex, llvm::Attribute::SExt),
|
PAL.getParamAttributes(0).hasAttribute(llvm::AttributeSet::ReturnIndex, llvm::Attribute::SExt),
|
||||||
|
#else // LLVM 5.0+
|
||||||
|
PAL.getParamAttributes(0).hasAttribute(llvm::AttributeList::ReturnIndex, llvm::Attribute::SExt),
|
||||||
#endif
|
#endif
|
||||||
FunctionInnards.str());
|
FunctionInnards.str());
|
||||||
}
|
}
|
||||||
@@ -4223,8 +4255,10 @@ void CWriter::visitCallInst(llvm::CallInst &I) {
|
|||||||
// parameter instead of passing it to the call.
|
// parameter instead of passing it to the call.
|
||||||
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
||||||
const llvm::AttrListPtr &PAL = I.getAttributes();
|
const llvm::AttrListPtr &PAL = I.getAttributes();
|
||||||
#else /* LLVM 3.3+ */
|
#elif ISPC_LLVM_VERSION <= ISPC_LLVM_4_0
|
||||||
const llvm::AttributeSet &PAL = I.getAttributes();
|
const llvm::AttributeSet &PAL = I.getAttributes();
|
||||||
|
#else // LLVM 5.0+
|
||||||
|
const llvm::AttributeList &PAL = I.getAttributes();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
bool hasByVal = I.hasByValArgument();
|
bool hasByVal = I.hasByValArgument();
|
||||||
@@ -4336,8 +4370,10 @@ void CWriter::visitCallInst(llvm::CallInst &I) {
|
|||||||
printType(Out, FTy->getParamType(ArgNo),
|
printType(Out, FTy->getParamType(ArgNo),
|
||||||
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2
|
||||||
PAL.getParamAttributes(ArgNo+1).hasAttribute(llvm::Attributes::SExt)
|
PAL.getParamAttributes(ArgNo+1).hasAttribute(llvm::Attributes::SExt)
|
||||||
#else /* LLVM 3.3+ */
|
#elif ISPC_LLVM_VERSION <= ISPC_LLVM_4_0
|
||||||
PAL.getParamAttributes(ArgNo+1).hasAttribute(llvm::AttributeSet::FunctionIndex, llvm::Attribute::SExt)
|
PAL.getParamAttributes(ArgNo+1).hasAttribute(llvm::AttributeSet::FunctionIndex, llvm::Attribute::SExt)
|
||||||
|
#else // LLVM 5.0+
|
||||||
|
PAL.getParamAttributes(ArgNo+1).hasAttribute(llvm::AttributeList::FunctionIndex, llvm::Attribute::SExt)
|
||||||
#endif
|
#endif
|
||||||
);
|
);
|
||||||
Out << ')';
|
Out << ')';
|
||||||
|
|||||||
4
func.cpp
4
func.cpp
@@ -420,8 +420,10 @@ Function::emitCode(FunctionEmitContext *ctx, llvm::Function *function,
|
|||||||
(
|
(
|
||||||
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2 // 3.2
|
#if ISPC_LLVM_VERSION == ISPC_LLVM_3_2 // 3.2
|
||||||
(function->getFnAttributes().hasAttribute(llvm::Attributes::AlwaysInline) == false)
|
(function->getFnAttributes().hasAttribute(llvm::Attributes::AlwaysInline) == false)
|
||||||
#else // LLVM 3.3+
|
#elif ISPC_LLVM_VERSION <= ISPC_LLVM_4_0
|
||||||
(function->getAttributes().getFnAttributes().hasAttribute(llvm::AttributeSet::FunctionIndex, llvm::Attribute::AlwaysInline) == false)
|
(function->getAttributes().getFnAttributes().hasAttribute(llvm::AttributeSet::FunctionIndex, llvm::Attribute::AlwaysInline) == false)
|
||||||
|
#else // LLVM 5.0+
|
||||||
|
(function->getAttributes().getFnAttributes().hasAttribute(llvm::AttributeList::FunctionIndex, llvm::Attribute::AlwaysInline) == false)
|
||||||
#endif
|
#endif
|
||||||
&&
|
&&
|
||||||
costEstimate > CHECK_MASK_AT_FUNCTION_START_COST);
|
costEstimate > CHECK_MASK_AT_FUNCTION_START_COST);
|
||||||
|
|||||||
12
ispc.cpp
12
ispc.cpp
@@ -1158,11 +1158,19 @@ Target::Target(const char *arch, const char *cpu, const char *isa, bool pic, boo
|
|||||||
#endif
|
#endif
|
||||||
attrBuilder.addAttribute("target-cpu", this->m_cpu);
|
attrBuilder.addAttribute("target-cpu", this->m_cpu);
|
||||||
attrBuilder.addAttribute("target-features", this->m_attributes);
|
attrBuilder.addAttribute("target-features", this->m_attributes);
|
||||||
|
#if ISPC_LLVM_VERSION <= ISPC_LLVM_4_0
|
||||||
this->m_tf_attributes = new llvm::AttributeSet(
|
this->m_tf_attributes = new llvm::AttributeSet(
|
||||||
llvm::AttributeSet::get(
|
llvm::AttributeSet::get(
|
||||||
*g->ctx,
|
*g->ctx,
|
||||||
llvm::AttributeSet::FunctionIndex,
|
llvm::AttributeSet::FunctionIndex,
|
||||||
attrBuilder));
|
attrBuilder));
|
||||||
|
#else // LLVM 5.0+
|
||||||
|
this->m_tf_attributes = new llvm::AttributeList(
|
||||||
|
llvm::AttributeList::get(
|
||||||
|
*g->ctx,
|
||||||
|
llvm::AttributeList::FunctionIndex,
|
||||||
|
attrBuilder));
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -1477,7 +1485,11 @@ Target::StructOffset(llvm::Type *type, int element,
|
|||||||
void Target::markFuncWithTargetAttr(llvm::Function* func) {
|
void Target::markFuncWithTargetAttr(llvm::Function* func) {
|
||||||
#if ISPC_LLVM_VERSION >= ISPC_LLVM_3_3
|
#if ISPC_LLVM_VERSION >= ISPC_LLVM_3_3
|
||||||
if (m_tf_attributes) {
|
if (m_tf_attributes) {
|
||||||
|
#if ISPC_LLVM_VERSION <= ISPC_LLVM_4_0
|
||||||
func->addAttributes(llvm::AttributeSet::FunctionIndex, *m_tf_attributes);
|
func->addAttributes(llvm::AttributeSet::FunctionIndex, *m_tf_attributes);
|
||||||
|
#else // LLVM 5.0+
|
||||||
|
func->addAttributes(llvm::AttributeList::FunctionIndex, *m_tf_attributes);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|||||||
12
ispc.h
12
ispc.h
@@ -72,7 +72,11 @@
|
|||||||
|
|
||||||
// Forward declarations of a number of widely-used LLVM types
|
// Forward declarations of a number of widely-used LLVM types
|
||||||
namespace llvm {
|
namespace llvm {
|
||||||
|
#if ISPC_LLVM_VERSION <= ISPC_LLVM_4_0
|
||||||
class AttributeSet;
|
class AttributeSet;
|
||||||
|
#else // LLVM 5.0+
|
||||||
|
class AttributeList;
|
||||||
|
#endif
|
||||||
class BasicBlock;
|
class BasicBlock;
|
||||||
class Constant;
|
class Constant;
|
||||||
class ConstantValue;
|
class ConstantValue;
|
||||||
@@ -86,13 +90,11 @@ namespace llvm {
|
|||||||
class TargetMachine;
|
class TargetMachine;
|
||||||
class Type;
|
class Type;
|
||||||
class Value;
|
class Value;
|
||||||
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_6
|
|
||||||
class DIFile;
|
class DIFile;
|
||||||
class DIType;
|
class DIType;
|
||||||
|
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_6
|
||||||
class DIDescriptor;
|
class DIDescriptor;
|
||||||
#else // LLVM 3.7+
|
#else // LLVM 3.7+
|
||||||
class DIFile;
|
|
||||||
class DIType;
|
|
||||||
class DIScope;
|
class DIScope;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -348,7 +350,11 @@ private:
|
|||||||
/** Target-specific LLVM attribute, which has to be attached to every
|
/** Target-specific LLVM attribute, which has to be attached to every
|
||||||
function to ensure that it is generated for correct target architecture.
|
function to ensure that it is generated for correct target architecture.
|
||||||
This is requirement was introduced in LLVM 3.3 */
|
This is requirement was introduced in LLVM 3.3 */
|
||||||
|
#if ISPC_LLVM_VERSION <= ISPC_LLVM_4_0
|
||||||
llvm::AttributeSet* m_tf_attributes;
|
llvm::AttributeSet* m_tf_attributes;
|
||||||
|
#else // LLVM 5.0+
|
||||||
|
llvm::AttributeList* m_tf_attributes;
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** Native vector width of the vector instruction set. Note that this
|
/** Native vector width of the vector instruction set. Note that this
|
||||||
|
|||||||
Reference in New Issue
Block a user