@@ -2594,38 +2594,39 @@ void CodeGenModule::GenKernelArgMetadata(llvm::Function *Fn,
25942594
25952595 bool IsEsimdFunction = FD && FD->hasAttr <SYCLSimdAttr>();
25962596
2597- if (LangOpts.SYCLIsDevice && !IsEsimdFunction) {
2598- Fn->setMetadata (" kernel_arg_buffer_location" ,
2599- llvm::MDNode::get (VMContext, argSYCLBufferLocationAttr));
2600- // Generate this metadata only if atleast one kernel argument is an
2601- // accessor.
2602- if (isKernelArgAnAccessor) {
2603- Fn->setMetadata (" kernel_arg_runtime_aligned" ,
2604- llvm::MDNode::get (VMContext, argSYCLAccessorPtrs));
2605- Fn->setMetadata (" kernel_arg_exclusive_ptr" ,
2597+ if (getLangOpts ().SYCLIsDevice ) {
2598+ if (IsEsimdFunction) {
2599+ Fn->setMetadata (" kernel_arg_accessor_ptr" ,
26062600 llvm::MDNode::get (VMContext, argSYCLAccessorPtrs));
2607- }
2608- } else {
2609- if (getLangOpts ().OpenCL || getLangOpts ().SYCLIsDevice ) {
2610- Fn->setMetadata (" kernel_arg_addr_space" ,
2611- llvm::MDNode::get (VMContext, addressQuals));
2612- Fn->setMetadata (" kernel_arg_access_qual" ,
2613- llvm::MDNode::get (VMContext, accessQuals));
2614- Fn->setMetadata (" kernel_arg_type" ,
2615- llvm::MDNode::get (VMContext, argTypeNames));
2616- Fn->setMetadata (" kernel_arg_base_type" ,
2617- llvm::MDNode::get (VMContext, argBaseTypeNames));
2618- Fn->setMetadata (" kernel_arg_type_qual" ,
2619- llvm::MDNode::get (VMContext, argTypeQuals));
2620- if (IsEsimdFunction)
2621- Fn->setMetadata (" kernel_arg_accessor_ptr" ,
2601+ } else {
2602+ Fn->setMetadata (" kernel_arg_buffer_location" ,
2603+ llvm::MDNode::get (VMContext, argSYCLBufferLocationAttr));
2604+ // Generate this metadata only if atleast one kernel argument is an
2605+ // accessor.
2606+ if (isKernelArgAnAccessor) {
2607+ Fn->setMetadata (" kernel_arg_runtime_aligned" ,
2608+ llvm::MDNode::get (VMContext, argSYCLAccessorPtrs));
2609+ Fn->setMetadata (" kernel_arg_exclusive_ptr" ,
26222610 llvm::MDNode::get (VMContext, argSYCLAccessorPtrs));
2611+ }
26232612 }
2624- if (getCodeGenOpts ().EmitOpenCLArgMetadata ||
2625- getCodeGenOpts ().HIPSaveKernelArgName )
2626- Fn->setMetadata (" kernel_arg_name" ,
2627- llvm::MDNode::get (VMContext, argNames));
26282613 }
2614+ if (getLangOpts ().OpenCL ) {
2615+ Fn->setMetadata (" kernel_arg_addr_space" ,
2616+ llvm::MDNode::get (VMContext, addressQuals));
2617+ Fn->setMetadata (" kernel_arg_access_qual" ,
2618+ llvm::MDNode::get (VMContext, accessQuals));
2619+ Fn->setMetadata (" kernel_arg_type" ,
2620+ llvm::MDNode::get (VMContext, argTypeNames));
2621+ Fn->setMetadata (" kernel_arg_base_type" ,
2622+ llvm::MDNode::get (VMContext, argBaseTypeNames));
2623+ Fn->setMetadata (" kernel_arg_type_qual" ,
2624+ llvm::MDNode::get (VMContext, argTypeQuals));
2625+ }
2626+ if (getCodeGenOpts ().EmitOpenCLArgMetadata ||
2627+ getCodeGenOpts ().HIPSaveKernelArgName )
2628+ Fn->setMetadata (" kernel_arg_name" ,
2629+ llvm::MDNode::get (VMContext, argNames));
26292630}
26302631
26312632// / Determines whether the language options require us to model
0 commit comments