• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1;; Test where src and dst have the true and false blocks of an if reordered.
2               OpCapability Shader
3          %1 = OpExtInstImport "GLSL.std.450"
4               OpMemoryModel Logical GLSL450
5               OpEntryPoint Fragment %4 "main" %8 %44
6               OpExecutionMode %4 OriginUpperLeft
7               OpSource ESSL 310
8               OpName %4 "main"
9               OpName %8 "v"
10               OpName %44 "color"
11               OpDecorate %8 RelaxedPrecision
12               OpDecorate %8 Location 0
13               OpDecorate %9 RelaxedPrecision
14               OpDecorate %18 RelaxedPrecision
15               OpDecorate %19 RelaxedPrecision
16               OpDecorate %20 RelaxedPrecision
17               OpDecorate %23 RelaxedPrecision
18               OpDecorate %24 RelaxedPrecision
19               OpDecorate %25 RelaxedPrecision
20               OpDecorate %26 RelaxedPrecision
21               OpDecorate %27 RelaxedPrecision
22               OpDecorate %28 RelaxedPrecision
23               OpDecorate %29 RelaxedPrecision
24               OpDecorate %30 RelaxedPrecision
25               OpDecorate %31 RelaxedPrecision
26               OpDecorate %33 RelaxedPrecision
27               OpDecorate %34 RelaxedPrecision
28               OpDecorate %35 RelaxedPrecision
29               OpDecorate %36 RelaxedPrecision
30               OpDecorate %37 RelaxedPrecision
31               OpDecorate %39 RelaxedPrecision
32               OpDecorate %40 RelaxedPrecision
33               OpDecorate %41 RelaxedPrecision
34               OpDecorate %42 RelaxedPrecision
35               OpDecorate %44 RelaxedPrecision
36               OpDecorate %44 Location 0
37               OpDecorate %45 RelaxedPrecision
38          %2 = OpTypeVoid
39          %3 = OpTypeFunction %2
40          %6 = OpTypeFloat 32
41          %7 = OpTypePointer Input %6
42          %8 = OpVariable %7 Input
43         %10 = OpConstant %6 0
44         %11 = OpTypeBool
45         %15 = OpTypeVector %6 4
46         %16 = OpTypePointer Function %15
47         %21 = OpConstant %6 -0.5
48         %22 = OpConstant %6 -0.300000012
49         %38 = OpConstant %6 0.5
50         %43 = OpTypePointer Output %15
51         %44 = OpVariable %43 Output
52          %4 = OpFunction %2 None %3
53          %5 = OpLabel
54          %9 = OpLoad %6 %8
55         %12 = OpFOrdLessThanEqual %11 %9 %10
56               OpSelectionMerge %14 None
57               OpBranchConditional %12 %13 %32
58         %13 = OpLabel
59         %18 = OpLoad %6 %8
60         %19 = OpExtInst %6 %1 Log %18
61         %20 = OpLoad %6 %8
62         %23 = OpExtInst %6 %1 FClamp %20 %21 %22
63         %24 = OpFMul %6 %19 %23
64         %25 = OpLoad %6 %8
65         %26 = OpExtInst %6 %1 Sin %25
66         %27 = OpLoad %6 %8
67         %28 = OpExtInst %6 %1 Cos %27
68         %29 = OpLoad %6 %8
69         %30 = OpExtInst %6 %1 Exp %29
70         %31 = OpCompositeConstruct %15 %24 %26 %28 %30
71               OpBranch %14
72         %32 = OpLabel
73         %33 = OpLoad %6 %8
74         %34 = OpExtInst %6 %1 Sqrt %33
75         %35 = OpLoad %6 %8
76         %36 = OpExtInst %6 %1 FSign %35
77         %37 = OpLoad %6 %8
78         %39 = OpExtInst %6 %1 FMax %37 %38
79         %40 = OpLoad %6 %8
80         %41 = OpExtInst %6 %1 Floor %40
81         %42 = OpCompositeConstruct %15 %34 %36 %39 %41
82               OpBranch %14
83         %14 = OpLabel
84         %45 = OpPhi %15 %31 %13 %42 %32
85               OpStore %44 %45
86               OpReturn
87               OpFunctionEnd
88