Skip to content

Commit 57aa8ab

Browse files
authored
[SYCL] PR 4 - Remove FPGA Attributes from SYCL FE (#21756)
This removes the following attributes: [[intel::doublepump]] [[intel::singlepump]] [[intel::fpga_memory]] [[intel::fgpa_register]] [[intel::bankwidth]] [[intel::numbanks]] [[intel::private_copies]] [[intel::merge]] [[intel::max_replicates]] [[intel::simple_dual_port]] [[intel::bank_bits]] [[intel::force_pow2_depth]]
1 parent 843e6da commit 57aa8ab

18 files changed

Lines changed: 2 additions & 3835 deletions

clang/include/clang/Basic/Attr.td

Lines changed: 0 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -2933,92 +2933,6 @@ def SYCLIntelMaxInterleaving : StmtAttr {
29332933
let Documentation = [SYCLIntelMaxInterleavingAttrDocs];
29342934
}
29352935

2936-
def SYCLIntelDoublePump : Attr {
2937-
let Spellings = [CXX11<"intel", "doublepump">];
2938-
let LangOpts = [SYCLIsDevice, SilentlyIgnoreSYCLIsHost];
2939-
let Documentation = [SYCLIntelDoublePumpAttrDocs];
2940-
}
2941-
2942-
def SYCLIntelSinglePump : Attr {
2943-
let Spellings = [CXX11<"intel", "singlepump">];
2944-
let LangOpts = [SYCLIsDevice, SilentlyIgnoreSYCLIsHost];
2945-
let Documentation = [SYCLIntelSinglePumpAttrDocs];
2946-
}
2947-
2948-
def SYCLIntelMemory : Attr {
2949-
let Spellings = [CXX11<"intel", "fpga_memory">];
2950-
let Args = [EnumArgument<"Kind", "MemoryKind", /*is_string=*/false,
2951-
["MLAB", "BLOCK_RAM", ""],
2952-
["MLAB", "BlockRAM", "Default"], 1>];
2953-
let AdditionalMembers = [{
2954-
static void generateValidStrings(SmallString<256> &Str) {
2955-
auto Last = BlockRAM;
2956-
for (int I = 0; I <= Last; ++I) {
2957-
Str += ConvertMemoryKindToStr(static_cast<MemoryKind>(I));
2958-
if (I != Last) Str += " ";
2959-
}
2960-
}
2961-
}];
2962-
let LangOpts = [SYCLIsDevice, SilentlyIgnoreSYCLIsHost];
2963-
let Documentation = [SYCLIntelMemoryAttrDocs];
2964-
}
2965-
2966-
def SYCLIntelRegister : Attr {
2967-
let Spellings = [CXX11<"intel", "fpga_register">];
2968-
let LangOpts = [SYCLIsDevice, SilentlyIgnoreSYCLIsHost];
2969-
let Documentation = [SYCLIntelRegisterAttrDocs];
2970-
}
2971-
def : MutualExclusions<[SYCLIntelDoublePump, SYCLIntelSinglePump,
2972-
SYCLIntelRegister]>;
2973-
2974-
// One integral argument.
2975-
def SYCLIntelBankWidth : InheritableAttr {
2976-
let Spellings = [CXX11<"intel", "bankwidth">];
2977-
let Args = [ExprArgument<"Value">];
2978-
let LangOpts = [SYCLIsDevice, SilentlyIgnoreSYCLIsHost];
2979-
let Documentation = [SYCLIntelBankWidthAttrDocs];
2980-
}
2981-
def : MutualExclusions<[SYCLIntelRegister, SYCLIntelBankWidth]>;
2982-
2983-
def SYCLIntelNumBanks : InheritableAttr {
2984-
let Spellings = [CXX11<"intel", "numbanks">];
2985-
let Args = [ExprArgument<"Value">];
2986-
let LangOpts = [SYCLIsDevice, SilentlyIgnoreSYCLIsHost];
2987-
let Documentation = [SYCLIntelNumBanksAttrDocs];
2988-
}
2989-
2990-
def SYCLIntelPrivateCopies : InheritableAttr {
2991-
let Spellings = [CXX11<"intel", "private_copies">];
2992-
let Args = [ExprArgument<"Value">];
2993-
let LangOpts = [SYCLIsDevice, SilentlyIgnoreSYCLIsHost];
2994-
let Documentation = [SYCLIntelPrivateCopiesAttrDocs];
2995-
}
2996-
def : MutualExclusions<[SYCLIntelRegister, SYCLIntelPrivateCopies]>;
2997-
2998-
// Two string arguments.
2999-
def SYCLIntelMerge : Attr {
3000-
let Spellings = [CXX11<"intel", "merge">];
3001-
let Args = [StringArgument<"Name">, StringArgument<"Direction">];
3002-
let LangOpts = [SYCLIsDevice, SilentlyIgnoreSYCLIsHost];
3003-
let Documentation = [SYCLIntelMergeAttrDocs];
3004-
}
3005-
def : MutualExclusions<[SYCLIntelRegister, SYCLIntelMerge]>;
3006-
3007-
def SYCLIntelMaxReplicates : InheritableAttr {
3008-
let Spellings = [CXX11<"intel", "max_replicates">];
3009-
let Args = [ExprArgument<"Value">];
3010-
let LangOpts = [SYCLIsDevice, SilentlyIgnoreSYCLIsHost];
3011-
let Documentation = [SYCLIntelMaxReplicatesAttrDocs];
3012-
}
3013-
def : MutualExclusions<[SYCLIntelRegister, SYCLIntelMaxReplicates]>;
3014-
3015-
def SYCLIntelSimpleDualPort : Attr {
3016-
let Spellings = [CXX11<"intel", "simple_dual_port">];
3017-
let LangOpts = [SYCLIsDevice, SilentlyIgnoreSYCLIsHost];
3018-
let Documentation = [SYCLIntelSimpleDualPortAttrDocs];
3019-
}
3020-
def : MutualExclusions<[SYCLIntelRegister, SYCLIntelSimpleDualPort]>;
3021-
30222936
def SYCLIntelPipe : TypeAttr {
30232937
let Spellings = [GNU<"pipe">];
30242938
let Args = [StringArgument<"Mode">];
@@ -3034,25 +2948,6 @@ def SYCLIntelPipeIO : InheritableAttr {
30342948
let Documentation = [SYCLIntelPipeIOAttrDocs];
30352949
}
30362950

3037-
// Variadic integral arguments.
3038-
def SYCLIntelBankBits : Attr {
3039-
let Spellings = [CXX11<"intel", "bank_bits">];
3040-
let Args = [VariadicExprArgument<"Args">];
3041-
let LangOpts = [SYCLIsDevice, SilentlyIgnoreSYCLIsHost];
3042-
let Documentation = [SYCLIntelBankBitsDocs];
3043-
}
3044-
def : MutualExclusions<[SYCLIntelRegister, SYCLIntelBankBits]>;
3045-
def : MutualExclusions<[SYCLIntelRegister, SYCLIntelNumBanks]>;
3046-
3047-
def SYCLIntelForcePow2Depth : InheritableAttr {
3048-
let Spellings = [CXX11<"intel", "force_pow2_depth">];
3049-
let Args = [ExprArgument<"Value">];
3050-
let LangOpts = [SYCLIsDevice, SilentlyIgnoreSYCLIsHost];
3051-
let Documentation = [SYCLIntelForcePow2DepthAttrDocs];
3052-
}
3053-
def : MutualExclusions<[SYCLIntelRegister, SYCLIntelForcePow2Depth]>;
3054-
def : MutualExclusions<[SYCLIntelRegister, SYCLIntelMemory]>;
3055-
30562951
def Naked : InheritableAttr {
30572952
let Spellings = [GCC<"naked">, Declspec<"naked">];
30582953
let Subjects = SubjectList<[Function]>;

0 commit comments

Comments
 (0)