[Mesa-dev] [PATCH 3/5] radeonsi: mark most intrinsics as readnone/nounwind
Christian König
deathsimple at vodafone.de
Thu Mar 21 04:38:56 PDT 2013
From: Christian König <christian.koenig at amd.com>
Signed-off-by: Christian König <christian.koenig at amd.com>
---
src/gallium/drivers/radeonsi/radeonsi_shader.c | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.c b/src/gallium/drivers/radeonsi/radeonsi_shader.c
index e78cc85..062e833 100644
--- a/src/gallium/drivers/radeonsi/radeonsi_shader.c
+++ b/src/gallium/drivers/radeonsi/radeonsi_shader.c
@@ -145,8 +145,9 @@ static void declare_input_vs(
args[0] = t_list;
args[1] = attribute_offset;
args[2] = buffer_index_reg;
- input = lp_build_intrinsic(base->gallivm->builder,
- "llvm.SI.vs.load.input", vec4_type, args, 3);
+ input = build_intrinsic(base->gallivm->builder,
+ "llvm.SI.vs.load.input", vec4_type, args, 3,
+ LLVMReadNoneAttribute | LLVMNoUnwindAttribute);
/* Break up the vec4 into individual components */
for (chan = 0; chan < 4; chan++) {
@@ -294,12 +295,12 @@ static void declare_input_fs(
args[1] = attr_number;
front = build_intrinsic(base->gallivm->builder, intr_name,
input_type, args, args[3] ? 4 : 3,
- LLVMReadOnlyAttribute | LLVMNoUnwindAttribute);
+ LLVMReadNoneAttribute | LLVMNoUnwindAttribute);
args[1] = back_attr_number;
back = build_intrinsic(base->gallivm->builder, intr_name,
input_type, args, args[3] ? 4 : 3,
- LLVMReadOnlyAttribute | LLVMNoUnwindAttribute);
+ LLVMReadNoneAttribute | LLVMNoUnwindAttribute);
si_shader_ctx->radeon_bld.inputs[soa_index] =
LLVMBuildSelect(gallivm->builder,
@@ -322,7 +323,7 @@ static void declare_input_fs(
si_shader_ctx->radeon_bld.inputs[soa_index] =
build_intrinsic(base->gallivm->builder, intr_name,
input_type, args, args[3] ? 4 : 3,
- LLVMReadOnlyAttribute | LLVMNoUnwindAttribute);
+ LLVMReadNoneAttribute | LLVMNoUnwindAttribute);
}
}
}
@@ -379,7 +380,7 @@ static LLVMValueRef fetch_constant(
}
result = build_intrinsic(base->gallivm->builder, "llvm.SI.load.const", base->elem_type,
- args, 2, LLVMReadOnlyAttribute | LLVMNoUnwindAttribute);
+ args, 2, LLVMReadNoneAttribute | LLVMNoUnwindAttribute);
return bitcast(bld_base, type, result);
}
@@ -892,9 +893,10 @@ static void build_tex_intrinsic(const struct lp_build_tgsi_action * action,
sprintf(intr_name, "%sv%ui32", action->intr_name,
LLVMGetVectorSize(LLVMTypeOf(emit_data->args[1])));
- emit_data->output[emit_data->chan] = lp_build_intrinsic(
+ emit_data->output[emit_data->chan] = build_intrinsic(
base->gallivm->builder, intr_name, emit_data->dst_type,
- emit_data->args, emit_data->arg_count);
+ emit_data->args, emit_data->arg_count,
+ LLVMReadNoneAttribute | LLVMNoUnwindAttribute);
}
static const struct lp_build_tgsi_action tex_action = {
--
1.7.9.5
More information about the mesa-dev
mailing list