@@ -38,7 +38,7 @@ void createSchedGroupBarrier(PatternRewriter &rewriter, Location loc,
3838 InstructionKindMask maskValue, int sizeValue,
3939 int groupIdValue) {
4040 MLIRContext *ctx = rewriter.getContext ();
41- auto intrinsicName = str_attr ( " llvm.amdgcn.sched.group.barrier" ) ;
41+ const char * intrinsicName = " llvm.amdgcn.sched.group.barrier" ;
4242
4343 Value mask =
4444 LLVM::createConstantI32 (loc, rewriter, static_cast <int32_t >(maskValue));
@@ -47,36 +47,34 @@ void createSchedGroupBarrier(PatternRewriter &rewriter, Location loc,
4747 Value groupId = LLVM::createConstantI32 (loc, rewriter,
4848 static_cast <int32_t >(groupIdValue));
4949
50- LLVM::FastmathFlagsAttr defaultFlags{};
51- rewriter.create <LLVM::CallIntrinsicOp>(loc, TypeRange{}, intrinsicName,
52- ValueRange{mask, size, groupId},
53- defaultFlags);
50+ LLVM::createLLVMIntrinsicCallOp (rewriter, loc, intrinsicName, TypeRange{},
51+ ValueRange{mask, size, groupId});
5452}
5553
5654// Insert intrinsic that controls the types of instructions that may be
5755// allowed to cross the intrinsic during instruction scheduling
5856Operation *createSchedBarrier (PatternRewriter &rewriter, Location loc,
5957 int64_t maskValue) {
6058 MLIRContext *ctx = rewriter.getContext ();
61- auto intrinsicName = str_attr ( " llvm.amdgcn.sched.barrier" ) ;
59+ const char * intrinsicName = " llvm.amdgcn.sched.barrier" ;
6260 LLVM::FastmathFlagsAttr defaultFlags{};
6361
6462 Value mask =
6563 LLVM::createConstantI32 (loc, rewriter, static_cast <int32_t >(maskValue));
66- return rewriter. create < LLVM::CallIntrinsicOp>(loc, TypeRange{} , intrinsicName,
67- ValueRange{mask}, defaultFlags );
64+ return LLVM::createLLVMIntrinsicCallOp (rewriter, loc , intrinsicName,
65+ TypeRange{}, ValueRange{mask});
6866}
6967
7068// Insert an experimental intrinsic for instruction group level parallelism.
7169// The intrinsic takes a value that specifies the strategy.
7270Operation *createIglpOpt (PatternRewriter &rewriter, Location loc, int value) {
7371 MLIRContext *ctx = rewriter.getContext ();
74- auto intrinsicName = str_attr ( " llvm.amdgcn.iglp.opt" ) ;
72+ const char * intrinsicName = " llvm.amdgcn.iglp.opt" ;
7573 LLVM::FastmathFlagsAttr defaultFlags{};
7674 Value iglpValue =
7775 LLVM::createConstantI32 (loc, rewriter, static_cast <int32_t >(value));
78- return rewriter. create < LLVM::CallIntrinsicOp>(
79- loc, TypeRange{}, intrinsicName, ValueRange{iglpValue}, defaultFlags );
76+ return LLVM::createLLVMIntrinsicCallOp (rewriter, loc, intrinsicName,
77+ TypeRange{}, ValueRange{iglpValue});
8078}
8179
8280struct InstructionSchedHintsRewriter
0 commit comments