Includes: Fold divide and multiply by same value. Allow ADCE to remove more instructions. Remove dead Workgroup variables in ADCE. Fold fclamp feeding compare. Add pass to fold a load feeding an extract. Remove redundant stores. SROA: Only create symbols that are loaded. Get ADCE to handle OpCopyMemory Remove the limit on struct size in SROA.
82 lines
3.7 KiB
Plaintext
Executable File
82 lines
3.7 KiB
Plaintext
Executable File
hlsl.partialFlattenLocal.vert
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80006
|
|
// Id's are bound by 158
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Vertex 4 "main" 83 86
|
|
Source HLSL 500
|
|
Name 4 "main"
|
|
Name 83 "pos"
|
|
Name 86 "@entryPointOutput"
|
|
Decorate 83(pos) Location 0
|
|
Decorate 86(@entryPointOutput) BuiltIn Position
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 4
|
|
14: TypeVector 6(float) 3
|
|
15: TypeInt 32 0
|
|
16: 15(int) Constant 3
|
|
17: TypeArray 14(fvec3) 16
|
|
18: TypeVector 6(float) 2
|
|
19: 15(int) Constant 2
|
|
20: TypeArray 18(fvec2) 19
|
|
21: TypeInt 32 1
|
|
25: 21(int) Constant 0
|
|
31: 21(int) Constant 1
|
|
32: 6(float) Constant 0
|
|
33: 14(fvec3) ConstantComposite 32 32 32
|
|
34: TypePointer Function 14(fvec3)
|
|
37: 6(float) Constant 1065353216
|
|
38: 18(fvec2) ConstantComposite 32 37
|
|
39: TypePointer Function 18(fvec2)
|
|
54: TypeBool
|
|
82: TypePointer Input 7(fvec4)
|
|
83(pos): 82(ptr) Variable Input
|
|
85: TypePointer Output 7(fvec4)
|
|
86(@entryPointOutput): 85(ptr) Variable Output
|
|
130: TypePointer Function 17
|
|
132: TypePointer Function 20
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
133: 132(ptr) Variable Function
|
|
131: 130(ptr) Variable Function
|
|
84: 7(fvec4) Load 83(pos)
|
|
136: 34(ptr) AccessChain 131 25
|
|
Store 136 33
|
|
137: 39(ptr) AccessChain 133 25
|
|
Store 137 38
|
|
Branch 100
|
|
100: Label
|
|
157: 21(int) Phi 25 5 119 106
|
|
105: 54(bool) SLessThan 157 31
|
|
LoopMerge 101 106 None
|
|
BranchConditional 105 106 101
|
|
106: Label
|
|
138: 39(ptr) AccessChain 133 157
|
|
110: 18(fvec2) Load 138
|
|
139: 34(ptr) AccessChain 131 157
|
|
112: 14(fvec3) Load 139
|
|
113: 18(fvec2) VectorShuffle 112 112 0 1
|
|
114: 18(fvec2) FAdd 113 110
|
|
140: 34(ptr) AccessChain 131 157
|
|
116: 14(fvec3) Load 140
|
|
117: 14(fvec3) VectorShuffle 116 114 3 4 2
|
|
Store 140 117
|
|
119: 21(int) IAdd 157 31
|
|
Branch 100
|
|
101: Label
|
|
142: 17 Load 131
|
|
156: 14(fvec3) CompositeExtract 142 0
|
|
124: 6(float) CompositeExtract 156 0
|
|
125: 6(float) CompositeExtract 156 1
|
|
126: 6(float) CompositeExtract 156 2
|
|
127: 7(fvec4) CompositeConstruct 124 125 126 32
|
|
128: 7(fvec4) FAdd 84 127
|
|
Store 86(@entryPointOutput) 128
|
|
Return
|
|
FunctionEnd
|