diagnostic_filtering/loop_continuing_attribute.wgsl:5:11 warning: 'dpdx' must only be called from uniform control flow
      _ = dpdx(1.0);
          ^^^^^^^^^

diagnostic_filtering/loop_continuing_attribute.wgsl:6:7 note: control flow depends on possibly non-uniform value
      break if x > 0.0;
      ^^^^^

diagnostic_filtering/loop_continuing_attribute.wgsl:6:16 note: user-defined input 'x' of 'main' may be non-uniform
      break if x > 0.0;
               ^

; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 21
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %x_1
               OpExecutionMode %main OriginUpperLeft
               OpName %x_1 "x_1"
               OpName %main_inner "main_inner"
               OpName %x "x"
               OpName %main "main"
               OpDecorate %x_1 Location 0
      %float = OpTypeFloat 32
%_ptr_Input_float = OpTypePointer Input %float
        %x_1 = OpVariable %_ptr_Input_float Input
       %void = OpTypeVoid
          %4 = OpTypeFunction %void %float
         %13 = OpConstantNull %float
       %bool = OpTypeBool
         %16 = OpTypeFunction %void
 %main_inner = OpFunction %void None %4
          %x = OpFunctionParameter %float
          %8 = OpLabel
               OpBranch %9
          %9 = OpLabel
               OpLoopMerge %10 %11 None
               OpBranch %12
         %12 = OpLabel
               OpBranch %11
         %11 = OpLabel
         %14 = OpFOrdGreaterThan %bool %x %13
               OpBranchConditional %14 %10 %9
         %10 = OpLabel
               OpReturn
               OpFunctionEnd
       %main = OpFunction %void None %16
         %18 = OpLabel
         %20 = OpLoad %float %x_1
         %19 = OpFunctionCall %void %main_inner %20
               OpReturn
               OpFunctionEnd
