mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 11:38:05 +02:00
radeon/llvm: Declare the interpolation intrinsics as ReadOnly
This signals to the Dead Code Elimination pass that it is safe to remove these instructions when they are dead.
This commit is contained in:
parent
73a2c4b9db
commit
cf4ac69928
3 changed files with 4 additions and 3 deletions
|
|
@ -364,6 +364,7 @@ class VINTRP <bits <2> op, dag outs, dag ins, string asm, list<dag> pattern> :
|
|||
let EncodingType = 11; // SIInstrEncodingType::VINTRP
|
||||
|
||||
let Uses = [M0];
|
||||
let neverHasSideEffects = 1;
|
||||
}
|
||||
|
||||
class VOP1 <bits<8> op, dag outs, dag ins, string asm, list<dag> pattern> :
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ let TargetPrefix = "SI", isTarget = 1 in {
|
|||
/* Interpolation Intrinsics */
|
||||
|
||||
def int_SI_set_M0 : Intrinsic <[llvm_i32_ty], [llvm_i32_ty]>;
|
||||
class Interp : Intrinsic <[llvm_float_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>;
|
||||
class Interp : Intrinsic <[llvm_float_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrReadMem]>;
|
||||
|
||||
def int_SI_fs_interp_linear_center : Interp;
|
||||
def int_SI_fs_interp_linear_centroid : Interp;
|
||||
|
|
|
|||
|
|
@ -329,8 +329,8 @@ static void declare_input_fs(
|
|||
args[1] = attr_number;
|
||||
args[2] = params;
|
||||
si_shader_ctx->radeon_bld.inputs[soa_index] =
|
||||
lp_build_intrinsic(gallivm->builder, intr_name,
|
||||
input_type, args, 3);
|
||||
build_intrinsic(base->gallivm->builder, intr_name,
|
||||
input_type, args, 3, LLVMReadOnlyAttribute);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue