@@ -6271,6 +6271,82 @@ ir.cpp:
62716271# 1225| mu1225_9(bool) = Store : &:r1225_1, r1225_8
62726272#-----| Goto -> Block 1
62736273
6274+ # 1231| void staticLocalWithConstructor(char const*)
6275+ # 1231| Block 0
6276+ # 1231| v1231_1(void) = EnterFunction :
6277+ # 1231| mu1231_2(unknown) = AliasedDefinition :
6278+ # 1231| mu1231_3(unknown) = InitializeNonLocal :
6279+ # 1231| mu1231_4(unknown) = UnmodeledDefinition :
6280+ # 1231| r1231_5(glval<char *>) = VariableAddress[dynamic] :
6281+ # 1231| mu1231_6(char *) = InitializeParameter[dynamic] : &:r1231_5
6282+ # 1231| r1231_7(char *) = Load : &:r1231_5, ~mu1231_6
6283+ # 1231| mu1231_8(unknown) = InitializeIndirection[dynamic] : &:r1231_7
6284+ # 1232| r1232_1(glval<bool>) = VariableAddress[a#init] :
6285+ # 1232| r1232_2(bool) = Load : &:r1232_1, ~mu1231_4
6286+ # 1232| v1232_3(void) = ConditionalBranch : r1232_2
6287+ #-----| False -> Block 6
6288+ #-----| True -> Block 1
6289+
6290+ # 1233| Block 1
6291+ # 1233| r1233_1(glval<bool>) = VariableAddress[b#init] :
6292+ # 1233| r1233_2(bool) = Load : &:r1233_1, ~mu1231_4
6293+ # 1233| v1233_3(void) = ConditionalBranch : r1233_2
6294+ #-----| False -> Block 2
6295+ #-----| True -> Block 3
6296+
6297+ # 1233| Block 2
6298+ # 1233| r1233_4(glval<String>) = VariableAddress[b] :
6299+ # 1233| r1233_5(glval<unknown>) = FunctionAddress[String] :
6300+ # 1233| r1233_6(glval<char[7]>) = StringConstant["static"] :
6301+ # 1233| r1233_7(char *) = Convert : r1233_6
6302+ # 1233| v1233_8(void) = Call : func:r1233_5, this:r1233_4, 0:r1233_7
6303+ # 1233| mu1233_9(unknown) = ^CallSideEffect : ~mu1231_4
6304+ # 1233| mu1233_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r1233_4
6305+ # 1233| v1233_11(void) = ^BufferReadSideEffect[0] : &:r1233_7, ~mu1231_4
6306+ # 1233| mu1233_12(unknown) = ^BufferMayWriteSideEffect[0] : &:r1233_7
6307+ # 1233| r1233_13(bool) = Constant[1] :
6308+ # 1233| mu1233_14(bool) = Store : &:r1233_1, r1233_13
6309+ #-----| Goto -> Block 3
6310+
6311+ # 1234| Block 3
6312+ # 1234| r1234_1(glval<bool>) = VariableAddress[c#init] :
6313+ # 1234| r1234_2(bool) = Load : &:r1234_1, ~mu1231_4
6314+ # 1234| v1234_3(void) = ConditionalBranch : r1234_2
6315+ #-----| False -> Block 4
6316+ #-----| True -> Block 5
6317+
6318+ # 1234| Block 4
6319+ # 1234| r1234_4(glval<String>) = VariableAddress[c] :
6320+ # 1234| r1234_5(glval<unknown>) = FunctionAddress[String] :
6321+ # 1234| r1234_6(glval<char *>) = VariableAddress[dynamic] :
6322+ # 1234| r1234_7(char *) = Load : &:r1234_6, ~mu1231_4
6323+ # 1234| v1234_8(void) = Call : func:r1234_5, this:r1234_4, 0:r1234_7
6324+ # 1234| mu1234_9(unknown) = ^CallSideEffect : ~mu1231_4
6325+ # 1234| mu1234_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r1234_4
6326+ # 1234| v1234_11(void) = ^BufferReadSideEffect[0] : &:r1234_7, ~mu1231_4
6327+ # 1234| mu1234_12(unknown) = ^BufferMayWriteSideEffect[0] : &:r1234_7
6328+ # 1234| r1234_13(bool) = Constant[1] :
6329+ # 1234| mu1234_14(bool) = Store : &:r1234_1, r1234_13
6330+ #-----| Goto -> Block 5
6331+
6332+ # 1235| Block 5
6333+ # 1235| v1235_1(void) = NoOp :
6334+ # 1231| v1231_9(void) = ReturnIndirection : &:r1231_7, ~mu1231_4
6335+ # 1231| v1231_10(void) = ReturnVoid :
6336+ # 1231| v1231_11(void) = UnmodeledUse : mu*
6337+ # 1231| v1231_12(void) = AliasedUse : ~mu1231_4
6338+ # 1231| v1231_13(void) = ExitFunction :
6339+
6340+ # 1232| Block 6
6341+ # 1232| r1232_4(glval<String>) = VariableAddress[a] :
6342+ #-----| r0_1(glval<unknown>) = FunctionAddress[String] :
6343+ #-----| v0_2(void) = Call : func:r0_1, this:r1232_4
6344+ #-----| mu0_3(unknown) = ^CallSideEffect : ~mu1231_4
6345+ #-----| mu0_4(String) = ^IndirectMayWriteSideEffect[-1] : &:r1232_4
6346+ # 1232| r1232_5(bool) = Constant[1] :
6347+ # 1232| mu1232_6(bool) = Store : &:r1232_1, r1232_5
6348+ #-----| Goto -> Block 1
6349+
62746350perf-regression.cpp:
62756351# 6| void Big::Big()
62766352# 6| Block 0
@@ -6430,26 +6506,25 @@ struct_init.cpp:
64306506
64316507# 37| Block 2
64326508# 37| r37_4(glval<Info[2]>) = VariableAddress[static_infos] :
6433- # 37| mu37_5(Info[2]) = Uninitialized[static_infos] : &:r37_4
6434- # 37| r37_6(int) = Constant[0] :
6435- # 37| r37_7(glval<Info>) = PointerAdd[16] : r37_4, r37_6
6436- # 38| r38_1(glval<char *>) = FieldAddress[name] : r37_7
6509+ # 37| r37_5(int) = Constant[0] :
6510+ # 37| r37_6(glval<Info>) = PointerAdd[16] : r37_4, r37_5
6511+ # 38| r38_1(glval<char *>) = FieldAddress[name] : r37_6
64376512# 38| r38_2(glval<char *>) = VariableAddress[name1] :
64386513# 38| r38_3(char *) = Load : &:r38_2, ~mu36_4
64396514# 38| mu38_4(char *) = Store : &:r38_1, r38_3
6440- # 38| r38_5(glval<..(*)(..)>) = FieldAddress[handler] : r37_7
6515+ # 38| r38_5(glval<..(*)(..)>) = FieldAddress[handler] : r37_6
64416516# 38| r38_6(..(*)(..)) = FunctionAddress[handler1] :
64426517# 38| mu38_7(..(*)(..)) = Store : &:r38_5, r38_6
6443- # 37| r37_8 (int) = Constant[1] :
6444- # 37| r37_9 (glval<Info>) = PointerAdd[16] : r37_4, r37_8
6445- # 39| r39_1(glval<char *>) = FieldAddress[name] : r37_9
6518+ # 37| r37_7 (int) = Constant[1] :
6519+ # 37| r37_8 (glval<Info>) = PointerAdd[16] : r37_4, r37_7
6520+ # 39| r39_1(glval<char *>) = FieldAddress[name] : r37_8
64466521# 39| r39_2(glval<char[2]>) = StringConstant["2"] :
64476522# 39| r39_3(char *) = Convert : r39_2
64486523# 39| mu39_4(char *) = Store : &:r39_1, r39_3
6449- # 39| r39_5(glval<..(*)(..)>) = FieldAddress[handler] : r37_9
6524+ # 39| r39_5(glval<..(*)(..)>) = FieldAddress[handler] : r37_8
64506525# 39| r39_6(glval<..()(..)>) = FunctionAddress[handler2] :
64516526# 39| r39_7(..(*)(..)) = CopyValue : r39_6
64526527# 39| mu39_8(..(*)(..)) = Store : &:r39_5, r39_7
6453- # 37| r37_10 (bool) = Constant[1] :
6454- # 37| mu37_11 (bool) = Store : &:r37_1, r37_10
6528+ # 37| r37_9 (bool) = Constant[1] :
6529+ # 37| mu37_10 (bool) = Store : &:r37_1, r37_9
64556530#-----| Goto -> Block 1
0 commit comments