Lines Matching full:exec
10 /// This pass performs exec mask handling peephole optimizations which needs
24 #define DEBUG_TYPE "si-optimize-exec-masking-pre-ra"
55 return "SI optimize exec mask operations pre-RA"; in getPassName()
68 "SI optimize exec mask operations pre-RA", false, false)
71 "SI optimize exec mask operations pre-RA", false, false)
110 // $vcc = S_AND_B64 $exec, %cmp
113 // $vcc = S_ANDN2_B64 $exec, %cc
118 // only 3 first instructions are really needed. S_AND_B64 with exec is a
270 // ... instructions not modifying exec ...
271 // %tmp = S_AND $exec, %dst
272 // $exec = S_XOR_term $exec, %tmp
275 // ... instructions not modifying exec ...
276 // $exec = S_XOR_term $exec, %dst
317 // Check for exec modifying instructions. in optimizeElseBranch()
318 // Note: exec defs do not create live ranges beyond the in optimizeElseBranch()
360 ExecReg = MCRegister::from(Wave32 ? AMDGPU::EXEC_LO : AMDGPU::EXEC); in runOnMachineFunction()
442 // If the only user of a logical operation is move to exec, fold it now in runOnMachineFunction()
445 // %0:sreg_64 = COPY $exec in runOnMachineFunction()
448 // %1 = S_AND_B64 $exec, %2:sreg_64 in runOnMachineFunction()
452 // Continue scanning if this is not a full exec copy in runOnMachineFunction()
465 LLVM_DEBUG(dbgs() << "Redundant EXEC COPY: " << *I << '\n'); in runOnMachineFunction()