================ @@ -1534,6 +1567,27 @@ void CIRGenModule::setGVPropertiesAux(mlir::Operation *op, assert(!cir::MissingFeatures::opGlobalPartition()); } +void CIRGenModule::setFunctionAttributes(GlobalDecl globalDecl, + cir::FuncOp func, + bool isIncompleteFunction, + bool isThunk) { + // NOTE(cir): Original CodeGen checks if this is an intrinsic. In CIR we + // represent them in dedicated ops. The correct attributes are ensured during + // translation to LLVM. Thus, we don't need to check for them here. + + assert(!cir::MissingFeatures::setFunctionAttributes()); + assert(!cir::MissingFeatures::setTargetAttributes()); + + // TODO(cir): This needs a lot of work to better match CodeGen. That + // ultimately ends up in setGlobalVisibility, which already has the linkage of + // the LLVM GV (corresponding to our FuncOp) computed, so it doesn't have to + // recompute it here. This is a minimal fix for now. + if (!isLocalLinkage(getFunctionLinkage(globalDecl))) { + const auto *decl = globalDecl.getDecl(); ---------------- Lancern wrote:
Use explicit type here https://github.com/llvm/llvm-project/pull/145600 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits