* Set it for all intrinsics.
*/
attrib_mask |= LP_FUNC_ATTR_NOUNWIND;
- attrib_mask &= ~LP_FUNC_ATTR_LEGACY;
while (attrib_mask) {
enum lp_func_attr attr = 1u << u_bit_scan(&attrib_mask);
{
LLVMModuleRef module = LLVMGetGlobalParent(LLVMGetBasicBlockParent(LLVMGetInsertBlock(builder)));
LLVMValueRef function, call;
- bool set_callsite_attrs = !(attr_mask & LP_FUNC_ATTR_LEGACY);
LLVMTypeRef arg_types[LP_MAX_FUNC_ARGS];
abort();
}
- if (!set_callsite_attrs)
- lp_add_func_attributes(function, attr_mask);
-
if (gallivm_debug & GALLIVM_DEBUG_IR) {
lp_debug_dump_value(function);
}
}
call = LLVMBuildCall2(builder, function_type, function, args, num_args, "");
- if (set_callsite_attrs)
- lp_add_func_attributes(call, attr_mask);
+ lp_add_func_attributes(call, attr_mask);
return call;
}
LP_FUNC_ATTR_WRITEONLY = (1 << 7),
LP_FUNC_ATTR_CONVERGENT = (1 << 8),
LP_FUNC_ATTR_PRESPLITCORO = (1 << 9),
-
- /* Legacy intrinsic that needs attributes on function declarations
- * and they must match the internal LLVM definition exactly, otherwise
- * intrinsic selection fails.
- */
- LP_FUNC_ATTR_LEGACY = (1u << 31),
};
void