@@ -144,7 +144,7 @@ private module Cached {
144144 TNonUnionContent ( CanonicalField f , int indirectionIndex ) {
145145 // the indirection index for field content starts at 1 (because `TNonUnionContent` is thought of as
146146 // the address of the field, `FieldAddress` in the IR).
147- indirectionIndex = [ 1 .. max ( SsaImpl:: getMaxIndirectionsForType ( f .getAnUnspecifiedType ( ) ) ) ] and
147+ indirectionIndex = [ 1 .. max ( SsaImpl:: getMaxIndirectionsForGLType ( f .getAnUnspecifiedType ( ) ) ) ] and
148148 // Reads and writes of union fields are tracked using `UnionContent`.
149149 not f .getDeclaringType ( ) instanceof Union
150150 } or
@@ -156,7 +156,7 @@ private module Cached {
156156 // field can be read by any read of the union's fields. Again, the indirection index
157157 // is 1-based (because 0 is considered the address).
158158 indirectionIndex =
159- [ 1 .. max ( SsaImpl:: getMaxIndirectionsForType ( getAFieldWithSize ( u , bytes )
159+ [ 1 .. max ( SsaImpl:: getMaxIndirectionsForGLType ( getAFieldWithSize ( u , bytes )
160160 .getAnUnspecifiedType ( ) )
161161 ) ]
162162 )
@@ -184,7 +184,7 @@ private module Cached {
184184 TNode0 ( Node0Impl node ) { DataFlowImplCommon:: forceCachingInSameStage ( ) } or
185185 TGlobalLikeVariableNode ( GlobalLikeVariable var , int indirectionIndex ) {
186186 indirectionIndex =
187- [ getMinIndirectionsForType ( var .getUnspecifiedType ( ) ) .. SsaImpl:: getMaxIndirectionsForType ( var .getUnspecifiedType ( ) ) ]
187+ [ getMinIndirectionsForType ( var .getUnspecifiedType ( ) ) .. SsaImpl:: getMaxIndirectionsForGLType ( var .getUnspecifiedType ( ) ) ]
188188 } or
189189 TPostUpdateNodeImpl ( Operand operand , int indirectionIndex ) {
190190 isPostUpdateNodeImpl ( operand , indirectionIndex )
@@ -209,10 +209,7 @@ private module Cached {
209209 TBodyLessParameterNodeImpl ( Parameter p , int indirectionIndex ) {
210210 // Rule out parameters of catch blocks.
211211 not exists ( p .getCatchBlock ( ) ) and
212- // We subtract one because `getMaxIndirectionsForType` returns the maximum
213- // indirection for a glvalue of a given type, and this doesn't apply to
214- // parameters.
215- indirectionIndex = [ 0 .. SsaImpl:: getMaxIndirectionsForType ( p .getUnspecifiedType ( ) ) - 1 ] and
212+ indirectionIndex = [ 0 .. SsaImpl:: getMaxIndirectionsForPRType ( p .getUnspecifiedType ( ) ) ] and
216213 not any ( InitializeParameterInstruction init ) .getParameter ( ) = p
217214 } or
218215 TFlowSummaryNode ( FlowSummaryImpl:: Private:: SummaryNode sn )
0 commit comments