mirror of
https://github.com/github/codeql.git
synced 2026-04-27 17:55:19 +02:00
Merge pull request #2154 from rdmarsh2/rdmarsh/cpp/ir-callee-side-effects
C++: add InitializeIndirection for pointer params
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
| BarrierGuard.cpp:60:11:60:16 | BarrierGuard.cpp:62:14:62:14 | AST only |
|
||||
| BarrierGuard.cpp:60:11:60:16 | BarrierGuard.cpp:64:14:64:14 | AST only |
|
||||
| BarrierGuard.cpp:60:11:60:16 | BarrierGuard.cpp:66:14:66:14 | AST only |
|
||||
| clang.cpp:12:9:12:20 | clang.cpp:18:8:18:19 | AST only |
|
||||
| clang.cpp:12:9:12:20 | clang.cpp:22:8:22:20 | AST only |
|
||||
| clang.cpp:28:27:28:32 | clang.cpp:29:27:29:28 | AST only |
|
||||
| clang.cpp:28:27:28:32 | clang.cpp:30:27:30:34 | AST only |
|
||||
|
||||
@@ -7,8 +7,6 @@
|
||||
| BarrierGuard.cpp:55:13:55:13 | x | BarrierGuard.cpp:49:10:49:15 | call to source |
|
||||
| acrossLinkTargets.cpp:12:8:12:8 | (int)... | acrossLinkTargets.cpp:19:27:19:32 | call to source |
|
||||
| acrossLinkTargets.cpp:12:8:12:8 | x | acrossLinkTargets.cpp:19:27:19:32 | call to source |
|
||||
| clang.cpp:18:8:18:19 | (const int *)... | clang.cpp:12:9:12:20 | sourceArray1 |
|
||||
| clang.cpp:18:8:18:19 | sourceArray1 | clang.cpp:12:9:12:20 | sourceArray1 |
|
||||
| clang.cpp:37:10:37:11 | m2 | clang.cpp:34:32:34:37 | call to source |
|
||||
| clang.cpp:41:18:41:19 | m2 | clang.cpp:39:42:39:47 | call to source |
|
||||
| clang.cpp:45:17:45:18 | m2 | clang.cpp:43:35:43:40 | call to source |
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -6,12 +6,15 @@ ssa.cpp:
|
||||
# 13| mu13_3(unknown) = UnmodeledDefinition :
|
||||
# 13| r13_4(glval<Point *>) = VariableAddress[p] :
|
||||
# 13| m13_5(Point *) = InitializeParameter[p] : &:r13_4
|
||||
# 13| r13_6(glval<bool>) = VariableAddress[which1] :
|
||||
# 13| m13_7(bool) = InitializeParameter[which1] : &:r13_6
|
||||
# 13| r13_8(glval<bool>) = VariableAddress[which2] :
|
||||
# 13| m13_9(bool) = InitializeParameter[which2] : &:r13_8
|
||||
# 13| r13_6(Point *) = Load : &:r13_4, m13_5
|
||||
# 13| m13_7(unknown) = InitializeIndirection[p] : &:r13_6
|
||||
# 13| m13_8(unknown) = Chi : total:m13_2, partial:m13_7
|
||||
# 13| r13_9(glval<bool>) = VariableAddress[which1] :
|
||||
# 13| m13_10(bool) = InitializeParameter[which1] : &:r13_9
|
||||
# 13| r13_11(glval<bool>) = VariableAddress[which2] :
|
||||
# 13| m13_12(bool) = InitializeParameter[which2] : &:r13_11
|
||||
# 14| r14_1(glval<bool>) = VariableAddress[which1] :
|
||||
# 14| r14_2(bool) = Load : &:r14_1, m13_7
|
||||
# 14| r14_2(bool) = Load : &:r14_1, m13_10
|
||||
# 14| v14_3(void) = ConditionalBranch : r14_2
|
||||
#-----| False -> Block 2
|
||||
#-----| True -> Block 1
|
||||
@@ -20,28 +23,28 @@ ssa.cpp:
|
||||
# 15| r15_1(glval<Point *>) = VariableAddress[p] :
|
||||
# 15| r15_2(Point *) = Load : &:r15_1, m13_5
|
||||
# 15| r15_3(glval<int>) = FieldAddress[x] : r15_2
|
||||
# 15| r15_4(int) = Load : &:r15_3, ~m13_2
|
||||
# 15| r15_4(int) = Load : &:r15_3, ~m13_8
|
||||
# 15| r15_5(int) = Constant[1] :
|
||||
# 15| r15_6(int) = Add : r15_4, r15_5
|
||||
# 15| m15_7(int) = Store : &:r15_3, r15_6
|
||||
# 15| m15_8(unknown) = Chi : total:m13_2, partial:m15_7
|
||||
# 15| m15_8(unknown) = Chi : total:m13_8, partial:m15_7
|
||||
#-----| Goto -> Block 3
|
||||
|
||||
# 18| Block 2
|
||||
# 18| r18_1(glval<Point *>) = VariableAddress[p] :
|
||||
# 18| r18_2(Point *) = Load : &:r18_1, m13_5
|
||||
# 18| r18_3(glval<int>) = FieldAddress[y] : r18_2
|
||||
# 18| r18_4(int) = Load : &:r18_3, ~m13_2
|
||||
# 18| r18_4(int) = Load : &:r18_3, ~m13_8
|
||||
# 18| r18_5(int) = Constant[1] :
|
||||
# 18| r18_6(int) = Add : r18_4, r18_5
|
||||
# 18| m18_7(int) = Store : &:r18_3, r18_6
|
||||
# 18| m18_8(unknown) = Chi : total:m13_2, partial:m18_7
|
||||
# 18| m18_8(unknown) = Chi : total:m13_8, partial:m18_7
|
||||
#-----| Goto -> Block 3
|
||||
|
||||
# 21| Block 3
|
||||
# 21| m21_1(unknown) = Phi : from 1:~m15_8, from 2:~m18_8
|
||||
# 21| r21_2(glval<bool>) = VariableAddress[which2] :
|
||||
# 21| r21_3(bool) = Load : &:r21_2, m13_9
|
||||
# 21| r21_3(bool) = Load : &:r21_2, m13_12
|
||||
# 21| v21_4(void) = ConditionalBranch : r21_3
|
||||
#-----| False -> Block 5
|
||||
#-----| True -> Block 4
|
||||
@@ -81,11 +84,12 @@ ssa.cpp:
|
||||
# 28| r28_10(int) = Load : &:r28_9, ~m28_1
|
||||
# 28| r28_11(int) = Add : r28_6, r28_10
|
||||
# 28| m28_12(int) = Store : &:r28_2, r28_11
|
||||
# 13| r13_10(glval<int>) = VariableAddress[#return] :
|
||||
# 13| v13_11(void) = ReturnValue : &:r13_10, m28_12
|
||||
# 13| v13_12(void) = UnmodeledUse : mu*
|
||||
# 13| v13_13(void) = AliasedUse : ~m28_1
|
||||
# 13| v13_14(void) = ExitFunction :
|
||||
# 13| v13_13(void) = ReturnIndirection : &:r13_6, ~m28_1
|
||||
# 13| r13_14(glval<int>) = VariableAddress[#return] :
|
||||
# 13| v13_15(void) = ReturnValue : &:r13_14, m28_12
|
||||
# 13| v13_16(void) = UnmodeledUse : mu*
|
||||
# 13| v13_17(void) = AliasedUse : ~m28_1
|
||||
# 13| v13_18(void) = ExitFunction :
|
||||
|
||||
# 31| int UnreachableViaGoto()
|
||||
# 31| Block 0
|
||||
@@ -199,13 +203,16 @@ ssa.cpp:
|
||||
|
||||
# 68| void chiNodeAtEndOfLoop(int, char*)
|
||||
# 68| Block 0
|
||||
# 68| v68_1(void) = EnterFunction :
|
||||
# 68| m68_2(unknown) = AliasedDefinition :
|
||||
# 68| mu68_3(unknown) = UnmodeledDefinition :
|
||||
# 68| r68_4(glval<int>) = VariableAddress[n] :
|
||||
# 68| m68_5(int) = InitializeParameter[n] : &:r68_4
|
||||
# 68| r68_6(glval<char *>) = VariableAddress[p] :
|
||||
# 68| m68_7(char *) = InitializeParameter[p] : &:r68_6
|
||||
# 68| v68_1(void) = EnterFunction :
|
||||
# 68| m68_2(unknown) = AliasedDefinition :
|
||||
# 68| mu68_3(unknown) = UnmodeledDefinition :
|
||||
# 68| r68_4(glval<int>) = VariableAddress[n] :
|
||||
# 68| m68_5(int) = InitializeParameter[n] : &:r68_4
|
||||
# 68| r68_6(glval<char *>) = VariableAddress[p] :
|
||||
# 68| m68_7(char *) = InitializeParameter[p] : &:r68_6
|
||||
# 68| r68_8(char *) = Load : &:r68_6, m68_7
|
||||
# 68| m68_9(unknown) = InitializeIndirection[p] : &:r68_8
|
||||
# 68| m68_10(unknown) = Chi : total:m68_2, partial:m68_9
|
||||
#-----| Goto -> Block 3
|
||||
|
||||
# 70| Block 1
|
||||
@@ -221,16 +228,17 @@ ssa.cpp:
|
||||
#-----| Goto (back edge) -> Block 3
|
||||
|
||||
# 71| Block 2
|
||||
# 71| v71_1(void) = NoOp :
|
||||
# 68| v68_8(void) = ReturnVoid :
|
||||
# 68| v68_9(void) = UnmodeledUse : mu*
|
||||
# 68| v68_10(void) = AliasedUse : ~m69_3
|
||||
# 68| v68_11(void) = ExitFunction :
|
||||
# 71| v71_1(void) = NoOp :
|
||||
# 68| v68_11(void) = ReturnIndirection : &:r68_8, ~m69_3
|
||||
# 68| v68_12(void) = ReturnVoid :
|
||||
# 68| v68_13(void) = UnmodeledUse : mu*
|
||||
# 68| v68_14(void) = AliasedUse : ~m69_3
|
||||
# 68| v68_15(void) = ExitFunction :
|
||||
|
||||
# 69| Block 3
|
||||
# 69| m69_1(char *) = Phi : from 0:m68_7, from 1:m70_6
|
||||
# 69| m69_2(int) = Phi : from 0:m68_5, from 1:m69_8
|
||||
# 69| m69_3(unknown) = Phi : from 0:~m68_2, from 1:~m70_9
|
||||
# 69| m69_3(unknown) = Phi : from 0:~m68_10, from 1:~m70_9
|
||||
# 69| r69_4(glval<int>) = VariableAddress[n] :
|
||||
# 69| r69_5(int) = Load : &:r69_4, m69_2
|
||||
# 69| r69_6(int) = Constant[1] :
|
||||
@@ -749,101 +757,129 @@ ssa.cpp:
|
||||
# 179| mu179_3(unknown) = UnmodeledDefinition :
|
||||
# 179| r179_4(glval<int *>) = VariableAddress[p] :
|
||||
# 179| m179_5(int *) = InitializeParameter[p] : &:r179_4
|
||||
# 179| r179_6(int *) = Load : &:r179_4, m179_5
|
||||
# 179| m179_7(unknown) = InitializeIndirection[p] : &:r179_6
|
||||
# 179| m179_8(unknown) = Chi : total:m179_2, partial:m179_7
|
||||
# 180| m180_1(unknown) = InlineAsm : ~mu179_3
|
||||
# 180| m180_2(unknown) = Chi : total:m179_2, partial:m180_1
|
||||
# 180| m180_2(unknown) = Chi : total:m179_8, partial:m180_1
|
||||
# 181| r181_1(glval<int>) = VariableAddress[#return] :
|
||||
# 181| r181_2(glval<int *>) = VariableAddress[p] :
|
||||
# 181| r181_3(int *) = Load : &:r181_2, m179_5
|
||||
# 181| r181_4(int) = Load : &:r181_3, ~m180_2
|
||||
# 181| m181_5(int) = Store : &:r181_1, r181_4
|
||||
# 179| r179_6(glval<int>) = VariableAddress[#return] :
|
||||
# 179| v179_7(void) = ReturnValue : &:r179_6, m181_5
|
||||
# 179| v179_8(void) = UnmodeledUse : mu*
|
||||
# 179| v179_9(void) = AliasedUse : ~m180_2
|
||||
# 179| v179_10(void) = ExitFunction :
|
||||
# 179| v179_9(void) = ReturnIndirection : &:r179_6, ~m180_2
|
||||
# 179| r179_10(glval<int>) = VariableAddress[#return] :
|
||||
# 179| v179_11(void) = ReturnValue : &:r179_10, m181_5
|
||||
# 179| v179_12(void) = UnmodeledUse : mu*
|
||||
# 179| v179_13(void) = AliasedUse : ~m180_2
|
||||
# 179| v179_14(void) = ExitFunction :
|
||||
|
||||
# 184| void AsmStmtWithOutputs(unsigned int&, unsigned int&, unsigned int&, unsigned int&)
|
||||
# 184| Block 0
|
||||
# 184| v184_1(void) = EnterFunction :
|
||||
# 184| m184_2(unknown) = AliasedDefinition :
|
||||
# 184| mu184_3(unknown) = UnmodeledDefinition :
|
||||
# 184| r184_4(glval<unsigned int &>) = VariableAddress[a] :
|
||||
# 184| m184_5(unsigned int &) = InitializeParameter[a] : &:r184_4
|
||||
# 184| r184_6(glval<unsigned int &>) = VariableAddress[b] :
|
||||
# 184| m184_7(unsigned int &) = InitializeParameter[b] : &:r184_6
|
||||
# 184| r184_8(glval<unsigned int &>) = VariableAddress[c] :
|
||||
# 184| m184_9(unsigned int &) = InitializeParameter[c] : &:r184_8
|
||||
# 184| r184_10(glval<unsigned int &>) = VariableAddress[d] :
|
||||
# 184| m184_11(unsigned int &) = InitializeParameter[d] : &:r184_10
|
||||
# 189| r189_1(glval<unsigned int &>) = VariableAddress[a] :
|
||||
# 189| r189_2(unsigned int &) = Load : &:r189_1, m184_5
|
||||
# 189| r189_3(glval<unsigned int>) = CopyValue : r189_2
|
||||
# 189| r189_4(glval<unsigned int &>) = VariableAddress[b] :
|
||||
# 189| r189_5(unsigned int &) = Load : &:r189_4, m184_7
|
||||
# 189| r189_6(glval<unsigned int>) = CopyValue : r189_5
|
||||
# 190| r190_1(glval<unsigned int &>) = VariableAddress[c] :
|
||||
# 190| r190_2(unsigned int &) = Load : &:r190_1, m184_9
|
||||
# 190| r190_3(unsigned int) = Load : &:r190_2, ~m184_2
|
||||
# 190| r190_4(glval<unsigned int &>) = VariableAddress[d] :
|
||||
# 190| r190_5(unsigned int &) = Load : &:r190_4, m184_11
|
||||
# 190| r190_6(unsigned int) = Load : &:r190_5, ~m184_2
|
||||
# 186| m186_1(unknown) = InlineAsm : ~mu184_3, 0:r189_3, 1:r189_6, 2:r190_3, 3:r190_6
|
||||
# 186| m186_2(unknown) = Chi : total:m184_2, partial:m186_1
|
||||
# 192| v192_1(void) = NoOp :
|
||||
# 184| v184_12(void) = ReturnVoid :
|
||||
# 184| v184_13(void) = UnmodeledUse : mu*
|
||||
# 184| v184_14(void) = AliasedUse : ~m186_2
|
||||
# 184| v184_15(void) = ExitFunction :
|
||||
# 184| v184_1(void) = EnterFunction :
|
||||
# 184| m184_2(unknown) = AliasedDefinition :
|
||||
# 184| mu184_3(unknown) = UnmodeledDefinition :
|
||||
# 184| r184_4(glval<unsigned int &>) = VariableAddress[a] :
|
||||
# 184| m184_5(unsigned int &) = InitializeParameter[a] : &:r184_4
|
||||
# 184| r184_6(unsigned int &) = Load : &:r184_4, m184_5
|
||||
# 184| m184_7(unknown) = InitializeIndirection[a] : &:r184_6
|
||||
# 184| m184_8(unknown) = Chi : total:m184_2, partial:m184_7
|
||||
# 184| r184_9(glval<unsigned int &>) = VariableAddress[b] :
|
||||
# 184| m184_10(unsigned int &) = InitializeParameter[b] : &:r184_9
|
||||
# 184| r184_11(unsigned int &) = Load : &:r184_9, m184_10
|
||||
# 184| m184_12(unknown) = InitializeIndirection[b] : &:r184_11
|
||||
# 184| m184_13(unknown) = Chi : total:m184_8, partial:m184_12
|
||||
# 184| r184_14(glval<unsigned int &>) = VariableAddress[c] :
|
||||
# 184| m184_15(unsigned int &) = InitializeParameter[c] : &:r184_14
|
||||
# 184| r184_16(unsigned int &) = Load : &:r184_14, m184_15
|
||||
# 184| m184_17(unknown) = InitializeIndirection[c] : &:r184_16
|
||||
# 184| m184_18(unknown) = Chi : total:m184_13, partial:m184_17
|
||||
# 184| r184_19(glval<unsigned int &>) = VariableAddress[d] :
|
||||
# 184| m184_20(unsigned int &) = InitializeParameter[d] : &:r184_19
|
||||
# 184| r184_21(unsigned int &) = Load : &:r184_19, m184_20
|
||||
# 184| m184_22(unknown) = InitializeIndirection[d] : &:r184_21
|
||||
# 184| m184_23(unknown) = Chi : total:m184_18, partial:m184_22
|
||||
# 189| r189_1(glval<unsigned int &>) = VariableAddress[a] :
|
||||
# 189| r189_2(unsigned int &) = Load : &:r189_1, m184_5
|
||||
# 189| r189_3(glval<unsigned int>) = CopyValue : r189_2
|
||||
# 189| r189_4(glval<unsigned int &>) = VariableAddress[b] :
|
||||
# 189| r189_5(unsigned int &) = Load : &:r189_4, m184_10
|
||||
# 189| r189_6(glval<unsigned int>) = CopyValue : r189_5
|
||||
# 190| r190_1(glval<unsigned int &>) = VariableAddress[c] :
|
||||
# 190| r190_2(unsigned int &) = Load : &:r190_1, m184_15
|
||||
# 190| r190_3(unsigned int) = Load : &:r190_2, ~m184_23
|
||||
# 190| r190_4(glval<unsigned int &>) = VariableAddress[d] :
|
||||
# 190| r190_5(unsigned int &) = Load : &:r190_4, m184_20
|
||||
# 190| r190_6(unsigned int) = Load : &:r190_5, ~m184_23
|
||||
# 186| m186_1(unknown) = InlineAsm : ~mu184_3, 0:r189_3, 1:r189_6, 2:r190_3, 3:r190_6
|
||||
# 186| m186_2(unknown) = Chi : total:m184_23, partial:m186_1
|
||||
# 192| v192_1(void) = NoOp :
|
||||
# 184| v184_24(void) = ReturnIndirection : &:r184_6, ~m186_2
|
||||
# 184| v184_25(void) = ReturnIndirection : &:r184_11, ~m186_2
|
||||
# 184| v184_26(void) = ReturnIndirection : &:r184_16, ~m186_2
|
||||
# 184| v184_27(void) = ReturnIndirection : &:r184_21, ~m186_2
|
||||
# 184| v184_28(void) = ReturnVoid :
|
||||
# 184| v184_29(void) = UnmodeledUse : mu*
|
||||
# 184| v184_30(void) = AliasedUse : ~m186_2
|
||||
# 184| v184_31(void) = ExitFunction :
|
||||
|
||||
# 198| int PureFunctions(char*, char*, int)
|
||||
# 198| Block 0
|
||||
# 198| v198_1(void) = EnterFunction :
|
||||
# 198| m198_2(unknown) = AliasedDefinition :
|
||||
# 198| mu198_3(unknown) = UnmodeledDefinition :
|
||||
# 198| r198_4(glval<char *>) = VariableAddress[str1] :
|
||||
# 198| m198_5(char *) = InitializeParameter[str1] : &:r198_4
|
||||
# 198| r198_6(glval<char *>) = VariableAddress[str2] :
|
||||
# 198| m198_7(char *) = InitializeParameter[str2] : &:r198_6
|
||||
# 198| r198_8(glval<int>) = VariableAddress[x] :
|
||||
# 198| m198_9(int) = InitializeParameter[x] : &:r198_8
|
||||
# 199| r199_1(glval<int>) = VariableAddress[ret] :
|
||||
# 199| r199_2(glval<unknown>) = FunctionAddress[strcmp] :
|
||||
# 199| r199_3(glval<char *>) = VariableAddress[str1] :
|
||||
# 199| r199_4(char *) = Load : &:r199_3, m198_5
|
||||
# 199| r199_5(char *) = Convert : r199_4
|
||||
# 199| r199_6(glval<char *>) = VariableAddress[str2] :
|
||||
# 199| r199_7(char *) = Load : &:r199_6, m198_7
|
||||
# 199| r199_8(char *) = Convert : r199_7
|
||||
# 199| r199_9(int) = Call : func:r199_2, 0:r199_5, 1:r199_8
|
||||
# 199| v199_10(void) = ^CallReadSideEffect : ~m198_2
|
||||
# 199| m199_11(int) = Store : &:r199_1, r199_9
|
||||
# 200| r200_1(glval<unknown>) = FunctionAddress[strlen] :
|
||||
# 200| r200_2(glval<char *>) = VariableAddress[str1] :
|
||||
# 200| r200_3(char *) = Load : &:r200_2, m198_5
|
||||
# 200| r200_4(char *) = Convert : r200_3
|
||||
# 200| r200_5(int) = Call : func:r200_1, 0:r200_4
|
||||
# 200| v200_6(void) = ^CallReadSideEffect : ~m198_2
|
||||
# 200| r200_7(glval<int>) = VariableAddress[ret] :
|
||||
# 200| r200_8(int) = Load : &:r200_7, m199_11
|
||||
# 200| r200_9(int) = Add : r200_8, r200_5
|
||||
# 200| m200_10(int) = Store : &:r200_7, r200_9
|
||||
# 201| r201_1(glval<unknown>) = FunctionAddress[abs] :
|
||||
# 201| r201_2(glval<int>) = VariableAddress[x] :
|
||||
# 201| r201_3(int) = Load : &:r201_2, m198_9
|
||||
# 201| r201_4(int) = Call : func:r201_1, 0:r201_3
|
||||
# 201| r201_5(glval<int>) = VariableAddress[ret] :
|
||||
# 201| r201_6(int) = Load : &:r201_5, m200_10
|
||||
# 201| r201_7(int) = Add : r201_6, r201_4
|
||||
# 201| m201_8(int) = Store : &:r201_5, r201_7
|
||||
# 202| r202_1(glval<int>) = VariableAddress[#return] :
|
||||
# 202| r202_2(glval<int>) = VariableAddress[ret] :
|
||||
# 202| r202_3(int) = Load : &:r202_2, m201_8
|
||||
# 202| m202_4(int) = Store : &:r202_1, r202_3
|
||||
# 198| r198_10(glval<int>) = VariableAddress[#return] :
|
||||
# 198| v198_11(void) = ReturnValue : &:r198_10, m202_4
|
||||
# 198| v198_12(void) = UnmodeledUse : mu*
|
||||
# 198| v198_13(void) = AliasedUse : ~m198_2
|
||||
# 198| v198_14(void) = ExitFunction :
|
||||
# 198| v198_1(void) = EnterFunction :
|
||||
# 198| m198_2(unknown) = AliasedDefinition :
|
||||
# 198| mu198_3(unknown) = UnmodeledDefinition :
|
||||
# 198| r198_4(glval<char *>) = VariableAddress[str1] :
|
||||
# 198| m198_5(char *) = InitializeParameter[str1] : &:r198_4
|
||||
# 198| r198_6(char *) = Load : &:r198_4, m198_5
|
||||
# 198| m198_7(unknown) = InitializeIndirection[str1] : &:r198_6
|
||||
# 198| m198_8(unknown) = Chi : total:m198_2, partial:m198_7
|
||||
# 198| r198_9(glval<char *>) = VariableAddress[str2] :
|
||||
# 198| m198_10(char *) = InitializeParameter[str2] : &:r198_9
|
||||
# 198| r198_11(char *) = Load : &:r198_9, m198_10
|
||||
# 198| m198_12(unknown) = InitializeIndirection[str2] : &:r198_11
|
||||
# 198| m198_13(unknown) = Chi : total:m198_8, partial:m198_12
|
||||
# 198| r198_14(glval<int>) = VariableAddress[x] :
|
||||
# 198| m198_15(int) = InitializeParameter[x] : &:r198_14
|
||||
# 199| r199_1(glval<int>) = VariableAddress[ret] :
|
||||
# 199| r199_2(glval<unknown>) = FunctionAddress[strcmp] :
|
||||
# 199| r199_3(glval<char *>) = VariableAddress[str1] :
|
||||
# 199| r199_4(char *) = Load : &:r199_3, m198_5
|
||||
# 199| r199_5(char *) = Convert : r199_4
|
||||
# 199| r199_6(glval<char *>) = VariableAddress[str2] :
|
||||
# 199| r199_7(char *) = Load : &:r199_6, m198_10
|
||||
# 199| r199_8(char *) = Convert : r199_7
|
||||
# 199| r199_9(int) = Call : func:r199_2, 0:r199_5, 1:r199_8
|
||||
# 199| v199_10(void) = ^CallReadSideEffect : ~m198_13
|
||||
# 199| m199_11(int) = Store : &:r199_1, r199_9
|
||||
# 200| r200_1(glval<unknown>) = FunctionAddress[strlen] :
|
||||
# 200| r200_2(glval<char *>) = VariableAddress[str1] :
|
||||
# 200| r200_3(char *) = Load : &:r200_2, m198_5
|
||||
# 200| r200_4(char *) = Convert : r200_3
|
||||
# 200| r200_5(int) = Call : func:r200_1, 0:r200_4
|
||||
# 200| v200_6(void) = ^CallReadSideEffect : ~m198_13
|
||||
# 200| r200_7(glval<int>) = VariableAddress[ret] :
|
||||
# 200| r200_8(int) = Load : &:r200_7, m199_11
|
||||
# 200| r200_9(int) = Add : r200_8, r200_5
|
||||
# 200| m200_10(int) = Store : &:r200_7, r200_9
|
||||
# 201| r201_1(glval<unknown>) = FunctionAddress[abs] :
|
||||
# 201| r201_2(glval<int>) = VariableAddress[x] :
|
||||
# 201| r201_3(int) = Load : &:r201_2, m198_15
|
||||
# 201| r201_4(int) = Call : func:r201_1, 0:r201_3
|
||||
# 201| r201_5(glval<int>) = VariableAddress[ret] :
|
||||
# 201| r201_6(int) = Load : &:r201_5, m200_10
|
||||
# 201| r201_7(int) = Add : r201_6, r201_4
|
||||
# 201| m201_8(int) = Store : &:r201_5, r201_7
|
||||
# 202| r202_1(glval<int>) = VariableAddress[#return] :
|
||||
# 202| r202_2(glval<int>) = VariableAddress[ret] :
|
||||
# 202| r202_3(int) = Load : &:r202_2, m201_8
|
||||
# 202| m202_4(int) = Store : &:r202_1, r202_3
|
||||
# 198| v198_16(void) = ReturnIndirection : &:r198_6, ~m198_13
|
||||
# 198| v198_17(void) = ReturnIndirection : &:r198_11, ~m198_13
|
||||
# 198| r198_18(glval<int>) = VariableAddress[#return] :
|
||||
# 198| v198_19(void) = ReturnValue : &:r198_18, m202_4
|
||||
# 198| v198_20(void) = UnmodeledUse : mu*
|
||||
# 198| v198_21(void) = AliasedUse : ~m198_13
|
||||
# 198| v198_22(void) = ExitFunction :
|
||||
|
||||
# 207| int ModeledCallTarget(int)
|
||||
# 207| Block 0
|
||||
|
||||
@@ -6,12 +6,14 @@ ssa.cpp:
|
||||
# 13| mu13_3(unknown) = UnmodeledDefinition :
|
||||
# 13| r13_4(glval<Point *>) = VariableAddress[p] :
|
||||
# 13| m13_5(Point *) = InitializeParameter[p] : &:r13_4
|
||||
# 13| r13_6(glval<bool>) = VariableAddress[which1] :
|
||||
# 13| m13_7(bool) = InitializeParameter[which1] : &:r13_6
|
||||
# 13| r13_8(glval<bool>) = VariableAddress[which2] :
|
||||
# 13| m13_9(bool) = InitializeParameter[which2] : &:r13_8
|
||||
# 13| r13_6(Point *) = Load : &:r13_4, m13_5
|
||||
# 13| mu13_7(unknown) = InitializeIndirection[p] : &:r13_6
|
||||
# 13| r13_8(glval<bool>) = VariableAddress[which1] :
|
||||
# 13| m13_9(bool) = InitializeParameter[which1] : &:r13_8
|
||||
# 13| r13_10(glval<bool>) = VariableAddress[which2] :
|
||||
# 13| m13_11(bool) = InitializeParameter[which2] : &:r13_10
|
||||
# 14| r14_1(glval<bool>) = VariableAddress[which1] :
|
||||
# 14| r14_2(bool) = Load : &:r14_1, m13_7
|
||||
# 14| r14_2(bool) = Load : &:r14_1, m13_9
|
||||
# 14| v14_3(void) = ConditionalBranch : r14_2
|
||||
#-----| False -> Block 2
|
||||
#-----| True -> Block 1
|
||||
@@ -38,7 +40,7 @@ ssa.cpp:
|
||||
|
||||
# 21| Block 3
|
||||
# 21| r21_1(glval<bool>) = VariableAddress[which2] :
|
||||
# 21| r21_2(bool) = Load : &:r21_1, m13_9
|
||||
# 21| r21_2(bool) = Load : &:r21_1, m13_11
|
||||
# 21| v21_3(void) = ConditionalBranch : r21_2
|
||||
#-----| False -> Block 5
|
||||
#-----| True -> Block 4
|
||||
@@ -75,11 +77,12 @@ ssa.cpp:
|
||||
# 28| r28_9(int) = Load : &:r28_8, ~mu13_3
|
||||
# 28| r28_10(int) = Add : r28_5, r28_9
|
||||
# 28| m28_11(int) = Store : &:r28_1, r28_10
|
||||
# 13| r13_10(glval<int>) = VariableAddress[#return] :
|
||||
# 13| v13_11(void) = ReturnValue : &:r13_10, m28_11
|
||||
# 13| v13_12(void) = UnmodeledUse : mu*
|
||||
# 13| v13_13(void) = AliasedUse : ~mu13_3
|
||||
# 13| v13_14(void) = ExitFunction :
|
||||
# 13| v13_12(void) = ReturnIndirection : &:r13_6, ~mu13_3
|
||||
# 13| r13_13(glval<int>) = VariableAddress[#return] :
|
||||
# 13| v13_14(void) = ReturnValue : &:r13_13, m28_11
|
||||
# 13| v13_15(void) = UnmodeledUse : mu*
|
||||
# 13| v13_16(void) = AliasedUse : ~mu13_3
|
||||
# 13| v13_17(void) = ExitFunction :
|
||||
|
||||
# 31| int UnreachableViaGoto()
|
||||
# 31| Block 0
|
||||
@@ -202,13 +205,15 @@ ssa.cpp:
|
||||
|
||||
# 68| void chiNodeAtEndOfLoop(int, char*)
|
||||
# 68| Block 0
|
||||
# 68| v68_1(void) = EnterFunction :
|
||||
# 68| mu68_2(unknown) = AliasedDefinition :
|
||||
# 68| mu68_3(unknown) = UnmodeledDefinition :
|
||||
# 68| r68_4(glval<int>) = VariableAddress[n] :
|
||||
# 68| m68_5(int) = InitializeParameter[n] : &:r68_4
|
||||
# 68| r68_6(glval<char *>) = VariableAddress[p] :
|
||||
# 68| m68_7(char *) = InitializeParameter[p] : &:r68_6
|
||||
# 68| v68_1(void) = EnterFunction :
|
||||
# 68| mu68_2(unknown) = AliasedDefinition :
|
||||
# 68| mu68_3(unknown) = UnmodeledDefinition :
|
||||
# 68| r68_4(glval<int>) = VariableAddress[n] :
|
||||
# 68| m68_5(int) = InitializeParameter[n] : &:r68_4
|
||||
# 68| r68_6(glval<char *>) = VariableAddress[p] :
|
||||
# 68| m68_7(char *) = InitializeParameter[p] : &:r68_6
|
||||
# 68| r68_8(char *) = Load : &:r68_6, m68_7
|
||||
# 68| mu68_9(unknown) = InitializeIndirection[p] : &:r68_8
|
||||
#-----| Goto -> Block 3
|
||||
|
||||
# 70| Block 1
|
||||
@@ -223,11 +228,12 @@ ssa.cpp:
|
||||
#-----| Goto (back edge) -> Block 3
|
||||
|
||||
# 71| Block 2
|
||||
# 71| v71_1(void) = NoOp :
|
||||
# 68| v68_8(void) = ReturnVoid :
|
||||
# 68| v68_9(void) = UnmodeledUse : mu*
|
||||
# 68| v68_10(void) = AliasedUse : ~mu68_3
|
||||
# 68| v68_11(void) = ExitFunction :
|
||||
# 71| v71_1(void) = NoOp :
|
||||
# 68| v68_10(void) = ReturnIndirection : &:r68_8, ~mu68_3
|
||||
# 68| v68_11(void) = ReturnVoid :
|
||||
# 68| v68_12(void) = UnmodeledUse : mu*
|
||||
# 68| v68_13(void) = AliasedUse : ~mu68_3
|
||||
# 68| v68_14(void) = ExitFunction :
|
||||
|
||||
# 69| Block 3
|
||||
# 69| m69_1(char *) = Phi : from 0:m68_7, from 1:m70_6
|
||||
@@ -718,99 +724,120 @@ ssa.cpp:
|
||||
# 179| mu179_3(unknown) = UnmodeledDefinition :
|
||||
# 179| r179_4(glval<int *>) = VariableAddress[p] :
|
||||
# 179| m179_5(int *) = InitializeParameter[p] : &:r179_4
|
||||
# 179| r179_6(int *) = Load : &:r179_4, m179_5
|
||||
# 179| mu179_7(unknown) = InitializeIndirection[p] : &:r179_6
|
||||
# 180| mu180_1(unknown) = InlineAsm : ~mu179_3
|
||||
# 181| r181_1(glval<int>) = VariableAddress[#return] :
|
||||
# 181| r181_2(glval<int *>) = VariableAddress[p] :
|
||||
# 181| r181_3(int *) = Load : &:r181_2, m179_5
|
||||
# 181| r181_4(int) = Load : &:r181_3, ~mu179_3
|
||||
# 181| m181_5(int) = Store : &:r181_1, r181_4
|
||||
# 179| r179_6(glval<int>) = VariableAddress[#return] :
|
||||
# 179| v179_7(void) = ReturnValue : &:r179_6, m181_5
|
||||
# 179| v179_8(void) = UnmodeledUse : mu*
|
||||
# 179| v179_9(void) = AliasedUse : ~mu179_3
|
||||
# 179| v179_10(void) = ExitFunction :
|
||||
# 179| v179_8(void) = ReturnIndirection : &:r179_6, ~mu179_3
|
||||
# 179| r179_9(glval<int>) = VariableAddress[#return] :
|
||||
# 179| v179_10(void) = ReturnValue : &:r179_9, m181_5
|
||||
# 179| v179_11(void) = UnmodeledUse : mu*
|
||||
# 179| v179_12(void) = AliasedUse : ~mu179_3
|
||||
# 179| v179_13(void) = ExitFunction :
|
||||
|
||||
# 184| void AsmStmtWithOutputs(unsigned int&, unsigned int&, unsigned int&, unsigned int&)
|
||||
# 184| Block 0
|
||||
# 184| v184_1(void) = EnterFunction :
|
||||
# 184| mu184_2(unknown) = AliasedDefinition :
|
||||
# 184| mu184_3(unknown) = UnmodeledDefinition :
|
||||
# 184| r184_4(glval<unsigned int &>) = VariableAddress[a] :
|
||||
# 184| m184_5(unsigned int &) = InitializeParameter[a] : &:r184_4
|
||||
# 184| r184_6(glval<unsigned int &>) = VariableAddress[b] :
|
||||
# 184| m184_7(unsigned int &) = InitializeParameter[b] : &:r184_6
|
||||
# 184| r184_8(glval<unsigned int &>) = VariableAddress[c] :
|
||||
# 184| m184_9(unsigned int &) = InitializeParameter[c] : &:r184_8
|
||||
# 184| r184_10(glval<unsigned int &>) = VariableAddress[d] :
|
||||
# 184| m184_11(unsigned int &) = InitializeParameter[d] : &:r184_10
|
||||
# 189| r189_1(glval<unsigned int &>) = VariableAddress[a] :
|
||||
# 189| r189_2(unsigned int &) = Load : &:r189_1, m184_5
|
||||
# 189| r189_3(glval<unsigned int>) = CopyValue : r189_2
|
||||
# 189| r189_4(glval<unsigned int &>) = VariableAddress[b] :
|
||||
# 189| r189_5(unsigned int &) = Load : &:r189_4, m184_7
|
||||
# 189| r189_6(glval<unsigned int>) = CopyValue : r189_5
|
||||
# 190| r190_1(glval<unsigned int &>) = VariableAddress[c] :
|
||||
# 190| r190_2(unsigned int &) = Load : &:r190_1, m184_9
|
||||
# 190| r190_3(unsigned int) = Load : &:r190_2, ~mu184_3
|
||||
# 190| r190_4(glval<unsigned int &>) = VariableAddress[d] :
|
||||
# 190| r190_5(unsigned int &) = Load : &:r190_4, m184_11
|
||||
# 190| r190_6(unsigned int) = Load : &:r190_5, ~mu184_3
|
||||
# 186| mu186_1(unknown) = InlineAsm : ~mu184_3, 0:r189_3, 1:r189_6, 2:r190_3, 3:r190_6
|
||||
# 192| v192_1(void) = NoOp :
|
||||
# 184| v184_12(void) = ReturnVoid :
|
||||
# 184| v184_13(void) = UnmodeledUse : mu*
|
||||
# 184| v184_14(void) = AliasedUse : ~mu184_3
|
||||
# 184| v184_15(void) = ExitFunction :
|
||||
# 184| v184_1(void) = EnterFunction :
|
||||
# 184| mu184_2(unknown) = AliasedDefinition :
|
||||
# 184| mu184_3(unknown) = UnmodeledDefinition :
|
||||
# 184| r184_4(glval<unsigned int &>) = VariableAddress[a] :
|
||||
# 184| m184_5(unsigned int &) = InitializeParameter[a] : &:r184_4
|
||||
# 184| r184_6(unsigned int &) = Load : &:r184_4, m184_5
|
||||
# 184| mu184_7(unknown) = InitializeIndirection[a] : &:r184_6
|
||||
# 184| r184_8(glval<unsigned int &>) = VariableAddress[b] :
|
||||
# 184| m184_9(unsigned int &) = InitializeParameter[b] : &:r184_8
|
||||
# 184| r184_10(unsigned int &) = Load : &:r184_8, m184_9
|
||||
# 184| mu184_11(unknown) = InitializeIndirection[b] : &:r184_10
|
||||
# 184| r184_12(glval<unsigned int &>) = VariableAddress[c] :
|
||||
# 184| m184_13(unsigned int &) = InitializeParameter[c] : &:r184_12
|
||||
# 184| r184_14(unsigned int &) = Load : &:r184_12, m184_13
|
||||
# 184| mu184_15(unknown) = InitializeIndirection[c] : &:r184_14
|
||||
# 184| r184_16(glval<unsigned int &>) = VariableAddress[d] :
|
||||
# 184| m184_17(unsigned int &) = InitializeParameter[d] : &:r184_16
|
||||
# 184| r184_18(unsigned int &) = Load : &:r184_16, m184_17
|
||||
# 184| mu184_19(unknown) = InitializeIndirection[d] : &:r184_18
|
||||
# 189| r189_1(glval<unsigned int &>) = VariableAddress[a] :
|
||||
# 189| r189_2(unsigned int &) = Load : &:r189_1, m184_5
|
||||
# 189| r189_3(glval<unsigned int>) = CopyValue : r189_2
|
||||
# 189| r189_4(glval<unsigned int &>) = VariableAddress[b] :
|
||||
# 189| r189_5(unsigned int &) = Load : &:r189_4, m184_9
|
||||
# 189| r189_6(glval<unsigned int>) = CopyValue : r189_5
|
||||
# 190| r190_1(glval<unsigned int &>) = VariableAddress[c] :
|
||||
# 190| r190_2(unsigned int &) = Load : &:r190_1, m184_13
|
||||
# 190| r190_3(unsigned int) = Load : &:r190_2, ~mu184_3
|
||||
# 190| r190_4(glval<unsigned int &>) = VariableAddress[d] :
|
||||
# 190| r190_5(unsigned int &) = Load : &:r190_4, m184_17
|
||||
# 190| r190_6(unsigned int) = Load : &:r190_5, ~mu184_3
|
||||
# 186| mu186_1(unknown) = InlineAsm : ~mu184_3, 0:r189_3, 1:r189_6, 2:r190_3, 3:r190_6
|
||||
# 192| v192_1(void) = NoOp :
|
||||
# 184| v184_20(void) = ReturnIndirection : &:r184_6, ~mu184_3
|
||||
# 184| v184_21(void) = ReturnIndirection : &:r184_10, ~mu184_3
|
||||
# 184| v184_22(void) = ReturnIndirection : &:r184_14, ~mu184_3
|
||||
# 184| v184_23(void) = ReturnIndirection : &:r184_18, ~mu184_3
|
||||
# 184| v184_24(void) = ReturnVoid :
|
||||
# 184| v184_25(void) = UnmodeledUse : mu*
|
||||
# 184| v184_26(void) = AliasedUse : ~mu184_3
|
||||
# 184| v184_27(void) = ExitFunction :
|
||||
|
||||
# 198| int PureFunctions(char*, char*, int)
|
||||
# 198| Block 0
|
||||
# 198| v198_1(void) = EnterFunction :
|
||||
# 198| mu198_2(unknown) = AliasedDefinition :
|
||||
# 198| mu198_3(unknown) = UnmodeledDefinition :
|
||||
# 198| r198_4(glval<char *>) = VariableAddress[str1] :
|
||||
# 198| m198_5(char *) = InitializeParameter[str1] : &:r198_4
|
||||
# 198| r198_6(glval<char *>) = VariableAddress[str2] :
|
||||
# 198| m198_7(char *) = InitializeParameter[str2] : &:r198_6
|
||||
# 198| r198_8(glval<int>) = VariableAddress[x] :
|
||||
# 198| m198_9(int) = InitializeParameter[x] : &:r198_8
|
||||
# 199| r199_1(glval<int>) = VariableAddress[ret] :
|
||||
# 199| r199_2(glval<unknown>) = FunctionAddress[strcmp] :
|
||||
# 199| r199_3(glval<char *>) = VariableAddress[str1] :
|
||||
# 199| r199_4(char *) = Load : &:r199_3, m198_5
|
||||
# 199| r199_5(char *) = Convert : r199_4
|
||||
# 199| r199_6(glval<char *>) = VariableAddress[str2] :
|
||||
# 199| r199_7(char *) = Load : &:r199_6, m198_7
|
||||
# 199| r199_8(char *) = Convert : r199_7
|
||||
# 199| r199_9(int) = Call : func:r199_2, 0:r199_5, 1:r199_8
|
||||
# 199| v199_10(void) = ^CallReadSideEffect : ~mu198_3
|
||||
# 199| m199_11(int) = Store : &:r199_1, r199_9
|
||||
# 200| r200_1(glval<unknown>) = FunctionAddress[strlen] :
|
||||
# 200| r200_2(glval<char *>) = VariableAddress[str1] :
|
||||
# 200| r200_3(char *) = Load : &:r200_2, m198_5
|
||||
# 200| r200_4(char *) = Convert : r200_3
|
||||
# 200| r200_5(int) = Call : func:r200_1, 0:r200_4
|
||||
# 200| v200_6(void) = ^CallReadSideEffect : ~mu198_3
|
||||
# 200| r200_7(glval<int>) = VariableAddress[ret] :
|
||||
# 200| r200_8(int) = Load : &:r200_7, m199_11
|
||||
# 200| r200_9(int) = Add : r200_8, r200_5
|
||||
# 200| m200_10(int) = Store : &:r200_7, r200_9
|
||||
# 201| r201_1(glval<unknown>) = FunctionAddress[abs] :
|
||||
# 201| r201_2(glval<int>) = VariableAddress[x] :
|
||||
# 201| r201_3(int) = Load : &:r201_2, m198_9
|
||||
# 201| r201_4(int) = Call : func:r201_1, 0:r201_3
|
||||
# 201| r201_5(glval<int>) = VariableAddress[ret] :
|
||||
# 201| r201_6(int) = Load : &:r201_5, m200_10
|
||||
# 201| r201_7(int) = Add : r201_6, r201_4
|
||||
# 201| m201_8(int) = Store : &:r201_5, r201_7
|
||||
# 202| r202_1(glval<int>) = VariableAddress[#return] :
|
||||
# 202| r202_2(glval<int>) = VariableAddress[ret] :
|
||||
# 202| r202_3(int) = Load : &:r202_2, m201_8
|
||||
# 202| m202_4(int) = Store : &:r202_1, r202_3
|
||||
# 198| r198_10(glval<int>) = VariableAddress[#return] :
|
||||
# 198| v198_11(void) = ReturnValue : &:r198_10, m202_4
|
||||
# 198| v198_12(void) = UnmodeledUse : mu*
|
||||
# 198| v198_13(void) = AliasedUse : ~mu198_3
|
||||
# 198| v198_14(void) = ExitFunction :
|
||||
# 198| v198_1(void) = EnterFunction :
|
||||
# 198| mu198_2(unknown) = AliasedDefinition :
|
||||
# 198| mu198_3(unknown) = UnmodeledDefinition :
|
||||
# 198| r198_4(glval<char *>) = VariableAddress[str1] :
|
||||
# 198| m198_5(char *) = InitializeParameter[str1] : &:r198_4
|
||||
# 198| r198_6(char *) = Load : &:r198_4, m198_5
|
||||
# 198| mu198_7(unknown) = InitializeIndirection[str1] : &:r198_6
|
||||
# 198| r198_8(glval<char *>) = VariableAddress[str2] :
|
||||
# 198| m198_9(char *) = InitializeParameter[str2] : &:r198_8
|
||||
# 198| r198_10(char *) = Load : &:r198_8, m198_9
|
||||
# 198| mu198_11(unknown) = InitializeIndirection[str2] : &:r198_10
|
||||
# 198| r198_12(glval<int>) = VariableAddress[x] :
|
||||
# 198| m198_13(int) = InitializeParameter[x] : &:r198_12
|
||||
# 199| r199_1(glval<int>) = VariableAddress[ret] :
|
||||
# 199| r199_2(glval<unknown>) = FunctionAddress[strcmp] :
|
||||
# 199| r199_3(glval<char *>) = VariableAddress[str1] :
|
||||
# 199| r199_4(char *) = Load : &:r199_3, m198_5
|
||||
# 199| r199_5(char *) = Convert : r199_4
|
||||
# 199| r199_6(glval<char *>) = VariableAddress[str2] :
|
||||
# 199| r199_7(char *) = Load : &:r199_6, m198_9
|
||||
# 199| r199_8(char *) = Convert : r199_7
|
||||
# 199| r199_9(int) = Call : func:r199_2, 0:r199_5, 1:r199_8
|
||||
# 199| v199_10(void) = ^CallReadSideEffect : ~mu198_3
|
||||
# 199| m199_11(int) = Store : &:r199_1, r199_9
|
||||
# 200| r200_1(glval<unknown>) = FunctionAddress[strlen] :
|
||||
# 200| r200_2(glval<char *>) = VariableAddress[str1] :
|
||||
# 200| r200_3(char *) = Load : &:r200_2, m198_5
|
||||
# 200| r200_4(char *) = Convert : r200_3
|
||||
# 200| r200_5(int) = Call : func:r200_1, 0:r200_4
|
||||
# 200| v200_6(void) = ^CallReadSideEffect : ~mu198_3
|
||||
# 200| r200_7(glval<int>) = VariableAddress[ret] :
|
||||
# 200| r200_8(int) = Load : &:r200_7, m199_11
|
||||
# 200| r200_9(int) = Add : r200_8, r200_5
|
||||
# 200| m200_10(int) = Store : &:r200_7, r200_9
|
||||
# 201| r201_1(glval<unknown>) = FunctionAddress[abs] :
|
||||
# 201| r201_2(glval<int>) = VariableAddress[x] :
|
||||
# 201| r201_3(int) = Load : &:r201_2, m198_13
|
||||
# 201| r201_4(int) = Call : func:r201_1, 0:r201_3
|
||||
# 201| r201_5(glval<int>) = VariableAddress[ret] :
|
||||
# 201| r201_6(int) = Load : &:r201_5, m200_10
|
||||
# 201| r201_7(int) = Add : r201_6, r201_4
|
||||
# 201| m201_8(int) = Store : &:r201_5, r201_7
|
||||
# 202| r202_1(glval<int>) = VariableAddress[#return] :
|
||||
# 202| r202_2(glval<int>) = VariableAddress[ret] :
|
||||
# 202| r202_3(int) = Load : &:r202_2, m201_8
|
||||
# 202| m202_4(int) = Store : &:r202_1, r202_3
|
||||
# 198| v198_14(void) = ReturnIndirection : &:r198_6, ~mu198_3
|
||||
# 198| v198_15(void) = ReturnIndirection : &:r198_10, ~mu198_3
|
||||
# 198| r198_16(glval<int>) = VariableAddress[#return] :
|
||||
# 198| v198_17(void) = ReturnValue : &:r198_16, m202_4
|
||||
# 198| v198_18(void) = UnmodeledUse : mu*
|
||||
# 198| v198_19(void) = AliasedUse : ~mu198_3
|
||||
# 198| v198_20(void) = ExitFunction :
|
||||
|
||||
# 207| int ModeledCallTarget(int)
|
||||
# 207| Block 0
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
| test.c:93:12:93:12 | Store: x | positive strictlyPositive |
|
||||
| test.c:95:10:95:10 | Constant: 1 | positive strictlyPositive |
|
||||
| test.c:95:10:95:10 | Store: 1 | positive strictlyPositive |
|
||||
| test.c:98:5:98:10 | Phi: test11 | positive |
|
||||
| test.c:98:18:98:18 | Phi: p | positive |
|
||||
| test.c:102:6:102:8 | Constant: ... ++ | positive strictlyPositive |
|
||||
| test.c:104:12:104:14 | Constant: 58 | positive strictlyPositive |
|
||||
| test.c:107:8:107:10 | Constant: ... ++ | positive strictlyPositive |
|
||||
|
||||
@@ -36,14 +36,14 @@ missingOperandType
|
||||
duplicateChiOperand
|
||||
sideEffectWithoutPrimary
|
||||
instructionWithoutSuccessor
|
||||
| VacuousDestructorCall.cpp:2:29:2:29 | InitializeParameter: y |
|
||||
| VacuousDestructorCall.cpp:2:29:2:29 | Chi: y |
|
||||
| condition_decls.cpp:16:19:16:20 | Chi: call to BoxedInt |
|
||||
| condition_decls.cpp:26:23:26:24 | Chi: call to BoxedInt |
|
||||
| condition_decls.cpp:41:22:41:23 | Chi: call to BoxedInt |
|
||||
| condition_decls.cpp:48:52:48:53 | Chi: call to BoxedInt |
|
||||
| cpp17.cpp:15:11:15:21 | Convert: (void *)... |
|
||||
| misc.c:171:10:171:13 | Uninitialized: definition of str2 |
|
||||
| misc.c:219:47:219:48 | InitializeParameter: sp |
|
||||
| misc.c:219:47:219:48 | Chi: sp |
|
||||
| ms_try_except.cpp:3:9:3:9 | Uninitialized: definition of x |
|
||||
| ms_try_mix.cpp:11:12:11:15 | Chi: call to C |
|
||||
| ms_try_mix.cpp:28:12:28:15 | Chi: call to C |
|
||||
|
||||
@@ -51,7 +51,7 @@ missingOperandType
|
||||
duplicateChiOperand
|
||||
sideEffectWithoutPrimary
|
||||
instructionWithoutSuccessor
|
||||
| VacuousDestructorCall.cpp:2:29:2:29 | InitializeParameter: y |
|
||||
| VacuousDestructorCall.cpp:2:29:2:29 | InitializeIndirection: y |
|
||||
| VacuousDestructorCall.cpp:3:3:3:3 | VariableAddress: x |
|
||||
| VacuousDestructorCall.cpp:4:3:4:3 | Load: y |
|
||||
| condition_decls.cpp:16:19:16:20 | IndirectMayWriteSideEffect: call to BoxedInt |
|
||||
@@ -70,7 +70,7 @@ instructionWithoutSuccessor
|
||||
| misc.c:174:17:174:22 | CallSideEffect: call to getInt |
|
||||
| misc.c:174:30:174:35 | CallSideEffect: call to getInt |
|
||||
| misc.c:174:55:174:60 | Store: (char ****)... |
|
||||
| misc.c:219:47:219:48 | InitializeParameter: sp |
|
||||
| misc.c:219:47:219:48 | InitializeIndirection: sp |
|
||||
| misc.c:221:10:221:10 | Store: 1 |
|
||||
| misc.c:222:10:222:10 | Store: 2 |
|
||||
| ms_try_except.cpp:3:9:3:9 | Uninitialized: definition of x |
|
||||
@@ -638,10 +638,13 @@ lostReachability
|
||||
| range_analysis.c:371:37:371:39 | Constant: 500 |
|
||||
backEdgeCountMismatch
|
||||
useNotDominatedByDefinition
|
||||
| VacuousDestructorCall.cpp:2:29:2:29 | Address | Operand 'Address' is not dominated by its definition in function '$@'. | VacuousDestructorCall.cpp:2:6:2:6 | IR: CallDestructor | void CallDestructor<int>(int, int*) |
|
||||
| misc.c:219:47:219:48 | Address | Operand 'Address' is not dominated by its definition in function '$@'. | misc.c:219:5:219:26 | IR: assign_designated_init | int assign_designated_init(someStruct*) |
|
||||
| pointer_to_member.cpp:36:11:36:30 | Unary | Operand 'Unary' is not dominated by its definition in function '$@'. | pointer_to_member.cpp:32:6:32:14 | IR: pmIsConst | void pmIsConst() |
|
||||
| pointer_to_member.cpp:36:13:36:19 | Address | Operand 'Address' is not dominated by its definition in function '$@'. | pointer_to_member.cpp:32:6:32:14 | IR: pmIsConst | void pmIsConst() |
|
||||
| pointer_to_member.cpp:36:22:36:28 | Address | Operand 'Address' is not dominated by its definition in function '$@'. | pointer_to_member.cpp:32:6:32:14 | IR: pmIsConst | void pmIsConst() |
|
||||
| try_catch.cpp:21:13:21:24 | Address | Operand 'Address' is not dominated by its definition in function '$@'. | try_catch.cpp:19:6:19:23 | IR: throw_from_nonstmt | void throw_from_nonstmt(int) |
|
||||
| vla.c:3:27:3:30 | Address | Operand 'Address' is not dominated by its definition in function '$@'. | vla.c:3:5:3:8 | IR: main | int main(int, char**) |
|
||||
missingCanonicalLanguageType
|
||||
multipleCanonicalLanguageTypes
|
||||
missingIRType
|
||||
|
||||
@@ -44,14 +44,14 @@ missingOperandType
|
||||
duplicateChiOperand
|
||||
sideEffectWithoutPrimary
|
||||
instructionWithoutSuccessor
|
||||
| VacuousDestructorCall.cpp:2:29:2:29 | InitializeParameter: y |
|
||||
| VacuousDestructorCall.cpp:2:29:2:29 | InitializeIndirection: y |
|
||||
| condition_decls.cpp:16:19:16:20 | IndirectMayWriteSideEffect: call to BoxedInt |
|
||||
| condition_decls.cpp:26:23:26:24 | IndirectMayWriteSideEffect: call to BoxedInt |
|
||||
| condition_decls.cpp:41:22:41:23 | IndirectMayWriteSideEffect: call to BoxedInt |
|
||||
| condition_decls.cpp:48:52:48:53 | IndirectMayWriteSideEffect: call to BoxedInt |
|
||||
| cpp17.cpp:15:11:15:21 | Convert: (void *)... |
|
||||
| misc.c:171:10:171:13 | Uninitialized: definition of str2 |
|
||||
| misc.c:219:47:219:48 | InitializeParameter: sp |
|
||||
| misc.c:219:47:219:48 | InitializeIndirection: sp |
|
||||
| ms_try_except.cpp:3:9:3:9 | Uninitialized: definition of x |
|
||||
| ms_try_mix.cpp:11:12:11:15 | IndirectMayWriteSideEffect: call to C |
|
||||
| ms_try_mix.cpp:28:12:28:15 | IndirectMayWriteSideEffect: call to C |
|
||||
|
||||
@@ -262,6 +262,12 @@ test.cpp:
|
||||
# 39| valnum = r39_8
|
||||
# 39| m39_9(int *) = InitializeParameter[p2] : &:r39_8
|
||||
# 39| valnum = m39_9
|
||||
# 39| r39_10(int *) = Load : &:r39_8, m39_9
|
||||
# 39| valnum = m39_9
|
||||
# 39| m39_11(unknown) = InitializeIndirection[p2] : &:r39_10
|
||||
# 39| valnum = unique
|
||||
# 39| m39_12(unknown) = Chi : total:m39_2, partial:m39_11
|
||||
# 39| valnum = unique
|
||||
# 40| r40_1(glval<int>) = VariableAddress[x] :
|
||||
# 40| valnum = r40_1
|
||||
# 40| m40_2(int) = Uninitialized[x] : &:r40_1
|
||||
@@ -286,7 +292,7 @@ test.cpp:
|
||||
# 43| valnum = r43_5
|
||||
# 43| r43_6(glval<int>) = VariableAddress[global03] :
|
||||
# 43| valnum = r43_6
|
||||
# 43| r43_7(int) = Load : &:r43_6, ~m39_2
|
||||
# 43| r43_7(int) = Load : &:r43_6, ~m39_12
|
||||
# 43| valnum = unique
|
||||
# 43| r43_8(int) = Add : r43_5, r43_7
|
||||
# 43| valnum = r43_8
|
||||
@@ -304,7 +310,7 @@ test.cpp:
|
||||
# 44| valnum = m39_9
|
||||
# 44| m44_5(int) = Store : &:r44_4, r44_1
|
||||
# 44| valnum = r44_1
|
||||
# 44| m44_6(unknown) = Chi : total:m39_2, partial:m44_5
|
||||
# 44| m44_6(unknown) = Chi : total:m39_12, partial:m44_5
|
||||
# 44| valnum = unique
|
||||
# 45| r45_1(glval<int>) = VariableAddress[p0] :
|
||||
# 45| valnum = r39_4
|
||||
@@ -335,37 +341,50 @@ test.cpp:
|
||||
# 46| m46_4(int) = Store : &:r46_3, r46_2
|
||||
# 46| valnum = r45_8
|
||||
# 47| v47_1(void) = NoOp :
|
||||
# 39| r39_10(glval<int>) = VariableAddress[#return] :
|
||||
# 39| v39_13(void) = ReturnIndirection : &:r39_10, ~m44_6
|
||||
# 39| r39_14(glval<int>) = VariableAddress[#return] :
|
||||
# 39| valnum = unique
|
||||
# 39| v39_11(void) = ReturnValue : &:r39_10
|
||||
# 39| v39_12(void) = UnmodeledUse : mu*
|
||||
# 39| v39_13(void) = AliasedUse : ~m44_6
|
||||
# 39| v39_14(void) = ExitFunction :
|
||||
# 39| v39_15(void) = ReturnValue : &:r39_14
|
||||
# 39| v39_16(void) = UnmodeledUse : mu*
|
||||
# 39| v39_17(void) = AliasedUse : ~m44_6
|
||||
# 39| v39_18(void) = ExitFunction :
|
||||
|
||||
# 49| unsigned int my_strspn(char const*, char const*)
|
||||
# 49| Block 0
|
||||
# 49| v49_1(void) = EnterFunction :
|
||||
# 49| m49_2(unknown) = AliasedDefinition :
|
||||
# 49| v49_1(void) = EnterFunction :
|
||||
# 49| m49_2(unknown) = AliasedDefinition :
|
||||
# 49| valnum = unique
|
||||
# 49| mu49_3(unknown) = UnmodeledDefinition :
|
||||
# 49| mu49_3(unknown) = UnmodeledDefinition :
|
||||
# 49| valnum = unique
|
||||
# 49| r49_4(glval<char *>) = VariableAddress[str] :
|
||||
# 49| r49_4(glval<char *>) = VariableAddress[str] :
|
||||
# 49| valnum = r49_4
|
||||
# 49| m49_5(char *) = InitializeParameter[str] : &:r49_4
|
||||
# 49| m49_5(char *) = InitializeParameter[str] : &:r49_4
|
||||
# 49| valnum = m49_5
|
||||
# 49| r49_6(glval<char *>) = VariableAddress[chars] :
|
||||
# 49| valnum = r49_6
|
||||
# 49| m49_7(char *) = InitializeParameter[chars] : &:r49_6
|
||||
# 49| valnum = m49_7
|
||||
# 50| r50_1(glval<char *>) = VariableAddress[ptr] :
|
||||
# 49| r49_6(char *) = Load : &:r49_4, m49_5
|
||||
# 49| valnum = m49_5
|
||||
# 49| m49_7(unknown) = InitializeIndirection[str] : &:r49_6
|
||||
# 49| valnum = unique
|
||||
# 49| m49_8(unknown) = Chi : total:m49_2, partial:m49_7
|
||||
# 49| valnum = unique
|
||||
# 49| r49_9(glval<char *>) = VariableAddress[chars] :
|
||||
# 49| valnum = r49_9
|
||||
# 49| m49_10(char *) = InitializeParameter[chars] : &:r49_9
|
||||
# 49| valnum = m49_10
|
||||
# 49| r49_11(char *) = Load : &:r49_9, m49_10
|
||||
# 49| valnum = m49_10
|
||||
# 49| m49_12(unknown) = InitializeIndirection[chars] : &:r49_11
|
||||
# 49| valnum = unique
|
||||
# 49| m49_13(unknown) = Chi : total:m49_8, partial:m49_12
|
||||
# 49| valnum = unique
|
||||
# 50| r50_1(glval<char *>) = VariableAddress[ptr] :
|
||||
# 50| valnum = r50_1
|
||||
# 50| m50_2(char *) = Uninitialized[ptr] : &:r50_1
|
||||
# 50| m50_2(char *) = Uninitialized[ptr] : &:r50_1
|
||||
# 50| valnum = unique
|
||||
# 51| r51_1(glval<unsigned int>) = VariableAddress[result] :
|
||||
# 51| r51_1(glval<unsigned int>) = VariableAddress[result] :
|
||||
# 51| valnum = r51_1
|
||||
# 51| r51_2(unsigned int) = Constant[0] :
|
||||
# 51| r51_2(unsigned int) = Constant[0] :
|
||||
# 51| valnum = r51_2
|
||||
# 51| m51_3(unsigned int) = Store : &:r51_1, r51_2
|
||||
# 51| m51_3(unsigned int) = Store : &:r51_1, r51_2
|
||||
# 51| valnum = r51_2
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
@@ -376,7 +395,7 @@ test.cpp:
|
||||
# 53| valnum = r49_4
|
||||
# 53| r53_3(char *) = Load : &:r53_2, m49_5
|
||||
# 53| valnum = m49_5
|
||||
# 53| r53_4(char) = Load : &:r53_3, ~m49_2
|
||||
# 53| r53_4(char) = Load : &:r53_3, ~m49_13
|
||||
# 53| valnum = unique
|
||||
# 53| r53_5(int) = Convert : r53_4
|
||||
# 53| valnum = unique
|
||||
@@ -390,13 +409,13 @@ test.cpp:
|
||||
|
||||
# 55| Block 2
|
||||
# 55| r55_1(glval<char *>) = VariableAddress[chars] :
|
||||
# 55| valnum = r49_6
|
||||
# 55| r55_2(char *) = Load : &:r55_1, m49_7
|
||||
# 55| valnum = m49_7
|
||||
# 55| valnum = r49_9
|
||||
# 55| r55_2(char *) = Load : &:r55_1, m49_10
|
||||
# 55| valnum = m49_10
|
||||
# 55| r55_3(glval<char *>) = VariableAddress[ptr] :
|
||||
# 55| valnum = r50_1
|
||||
# 55| m55_4(char *) = Store : &:r55_3, r55_2
|
||||
# 55| valnum = m49_7
|
||||
# 55| valnum = m49_10
|
||||
#-----| Goto -> Block 3
|
||||
|
||||
# 56| Block 3
|
||||
@@ -406,7 +425,7 @@ test.cpp:
|
||||
# 56| valnum = r50_1
|
||||
# 56| r56_3(char *) = Load : &:r56_2, m56_1
|
||||
# 56| valnum = m56_1
|
||||
# 56| r56_4(char) = Load : &:r56_3, ~m49_2
|
||||
# 56| r56_4(char) = Load : &:r56_3, ~m49_13
|
||||
# 56| valnum = unique
|
||||
# 56| r56_5(int) = Convert : r56_4
|
||||
# 56| valnum = unique
|
||||
@@ -414,7 +433,7 @@ test.cpp:
|
||||
# 56| valnum = r49_4
|
||||
# 56| r56_7(char *) = Load : &:r56_6, m49_5
|
||||
# 56| valnum = m49_5
|
||||
# 56| r56_8(char) = Load : &:r56_7, ~m49_2
|
||||
# 56| r56_8(char) = Load : &:r56_7, ~m49_13
|
||||
# 56| valnum = unique
|
||||
# 56| r56_9(int) = Convert : r56_8
|
||||
# 56| valnum = unique
|
||||
@@ -429,7 +448,7 @@ test.cpp:
|
||||
# 56| valnum = r50_1
|
||||
# 56| r56_13(char *) = Load : &:r56_12, m56_1
|
||||
# 56| valnum = m56_1
|
||||
# 56| r56_14(char) = Load : &:r56_13, ~m49_2
|
||||
# 56| r56_14(char) = Load : &:r56_13, ~m49_13
|
||||
# 56| valnum = unique
|
||||
# 56| r56_15(int) = Convert : r56_14
|
||||
# 56| valnum = unique
|
||||
@@ -459,7 +478,7 @@ test.cpp:
|
||||
# 59| valnum = r50_1
|
||||
# 59| r59_2(char *) = Load : &:r59_1, m56_1
|
||||
# 59| valnum = m56_1
|
||||
# 59| r59_3(char) = Load : &:r59_2, ~m49_2
|
||||
# 59| r59_3(char) = Load : &:r59_2, ~m49_13
|
||||
# 59| valnum = unique
|
||||
# 59| r59_4(int) = Convert : r59_3
|
||||
# 59| valnum = unique
|
||||
@@ -489,78 +508,86 @@ test.cpp:
|
||||
#-----| Goto (back edge) -> Block 1
|
||||
|
||||
# 63| Block 9
|
||||
# 63| v63_1(void) = NoOp :
|
||||
# 65| r65_1(glval<unsigned int>) = VariableAddress[#return] :
|
||||
# 63| v63_1(void) = NoOp :
|
||||
# 65| r65_1(glval<unsigned int>) = VariableAddress[#return] :
|
||||
# 65| valnum = r65_1
|
||||
# 65| r65_2(glval<unsigned int>) = VariableAddress[result] :
|
||||
# 65| r65_2(glval<unsigned int>) = VariableAddress[result] :
|
||||
# 65| valnum = r51_1
|
||||
# 65| r65_3(unsigned int) = Load : &:r65_2, m53_1
|
||||
# 65| r65_3(unsigned int) = Load : &:r65_2, m53_1
|
||||
# 65| valnum = m53_1
|
||||
# 65| m65_4(unsigned int) = Store : &:r65_1, r65_3
|
||||
# 65| m65_4(unsigned int) = Store : &:r65_1, r65_3
|
||||
# 65| valnum = m53_1
|
||||
# 49| r49_8(glval<unsigned int>) = VariableAddress[#return] :
|
||||
# 49| v49_14(void) = ReturnIndirection : &:r49_6, ~m49_13
|
||||
# 49| v49_15(void) = ReturnIndirection : &:r49_11, ~m49_13
|
||||
# 49| r49_16(glval<unsigned int>) = VariableAddress[#return] :
|
||||
# 49| valnum = r65_1
|
||||
# 49| v49_9(void) = ReturnValue : &:r49_8, m65_4
|
||||
# 49| v49_10(void) = UnmodeledUse : mu*
|
||||
# 49| v49_11(void) = AliasedUse : ~m49_2
|
||||
# 49| v49_12(void) = ExitFunction :
|
||||
# 49| v49_17(void) = ReturnValue : &:r49_16, m65_4
|
||||
# 49| v49_18(void) = UnmodeledUse : mu*
|
||||
# 49| v49_19(void) = AliasedUse : ~m49_13
|
||||
# 49| v49_20(void) = ExitFunction :
|
||||
|
||||
# 75| void test04(two_values*)
|
||||
# 75| Block 0
|
||||
# 75| v75_1(void) = EnterFunction :
|
||||
# 75| m75_2(unknown) = AliasedDefinition :
|
||||
# 75| v75_1(void) = EnterFunction :
|
||||
# 75| m75_2(unknown) = AliasedDefinition :
|
||||
# 75| valnum = unique
|
||||
# 75| mu75_3(unknown) = UnmodeledDefinition :
|
||||
# 75| mu75_3(unknown) = UnmodeledDefinition :
|
||||
# 75| valnum = unique
|
||||
# 75| r75_4(glval<two_values *>) = VariableAddress[vals] :
|
||||
# 75| r75_4(glval<two_values *>) = VariableAddress[vals] :
|
||||
# 75| valnum = r75_4
|
||||
# 75| m75_5(two_values *) = InitializeParameter[vals] : &:r75_4
|
||||
# 75| m75_5(two_values *) = InitializeParameter[vals] : &:r75_4
|
||||
# 75| valnum = m75_5
|
||||
# 77| r77_1(glval<signed short>) = VariableAddress[v] :
|
||||
# 75| r75_6(two_values *) = Load : &:r75_4, m75_5
|
||||
# 75| valnum = m75_5
|
||||
# 75| m75_7(unknown) = InitializeIndirection[vals] : &:r75_6
|
||||
# 75| valnum = unique
|
||||
# 75| m75_8(unknown) = Chi : total:m75_2, partial:m75_7
|
||||
# 75| valnum = unique
|
||||
# 77| r77_1(glval<signed short>) = VariableAddress[v] :
|
||||
# 77| valnum = r77_1
|
||||
# 77| r77_2(glval<unknown>) = FunctionAddress[getAValue] :
|
||||
# 77| r77_2(glval<unknown>) = FunctionAddress[getAValue] :
|
||||
# 77| valnum = unique
|
||||
# 77| r77_3(int) = Call : func:r77_2
|
||||
# 77| r77_3(int) = Call : func:r77_2
|
||||
# 77| valnum = unique
|
||||
# 77| m77_4(unknown) = ^CallSideEffect : ~m75_2
|
||||
# 77| m77_4(unknown) = ^CallSideEffect : ~m75_8
|
||||
# 77| valnum = unique
|
||||
# 77| m77_5(unknown) = Chi : total:m75_2, partial:m77_4
|
||||
# 77| m77_5(unknown) = Chi : total:m75_8, partial:m77_4
|
||||
# 77| valnum = unique
|
||||
# 77| r77_6(signed short) = Convert : r77_3
|
||||
# 77| r77_6(signed short) = Convert : r77_3
|
||||
# 77| valnum = r77_6
|
||||
# 77| m77_7(signed short) = Store : &:r77_1, r77_6
|
||||
# 77| m77_7(signed short) = Store : &:r77_1, r77_6
|
||||
# 77| valnum = r77_6
|
||||
# 79| r79_1(glval<signed short>) = VariableAddress[v] :
|
||||
# 79| r79_1(glval<signed short>) = VariableAddress[v] :
|
||||
# 79| valnum = r77_1
|
||||
# 79| r79_2(signed short) = Load : &:r79_1, m77_7
|
||||
# 79| r79_2(signed short) = Load : &:r79_1, m77_7
|
||||
# 79| valnum = r77_6
|
||||
# 79| r79_3(int) = Convert : r79_2
|
||||
# 79| r79_3(int) = Convert : r79_2
|
||||
# 79| valnum = unique
|
||||
# 79| r79_4(glval<two_values *>) = VariableAddress[vals] :
|
||||
# 79| r79_4(glval<two_values *>) = VariableAddress[vals] :
|
||||
# 79| valnum = r75_4
|
||||
# 79| r79_5(two_values *) = Load : &:r79_4, m75_5
|
||||
# 79| r79_5(two_values *) = Load : &:r79_4, m75_5
|
||||
# 79| valnum = m75_5
|
||||
# 79| r79_6(glval<signed short>) = FieldAddress[val1] : r79_5
|
||||
# 79| r79_6(glval<signed short>) = FieldAddress[val1] : r79_5
|
||||
# 79| valnum = unique
|
||||
# 79| r79_7(signed short) = Load : &:r79_6, ~m77_5
|
||||
# 79| r79_7(signed short) = Load : &:r79_6, ~m77_5
|
||||
# 79| valnum = unique
|
||||
# 79| r79_8(int) = Convert : r79_7
|
||||
# 79| r79_8(int) = Convert : r79_7
|
||||
# 79| valnum = unique
|
||||
# 79| r79_9(glval<two_values *>) = VariableAddress[vals] :
|
||||
# 79| r79_9(glval<two_values *>) = VariableAddress[vals] :
|
||||
# 79| valnum = r75_4
|
||||
# 79| r79_10(two_values *) = Load : &:r79_9, m75_5
|
||||
# 79| r79_10(two_values *) = Load : &:r79_9, m75_5
|
||||
# 79| valnum = m75_5
|
||||
# 79| r79_11(glval<signed short>) = FieldAddress[val2] : r79_10
|
||||
# 79| r79_11(glval<signed short>) = FieldAddress[val2] : r79_10
|
||||
# 79| valnum = unique
|
||||
# 79| r79_12(signed short) = Load : &:r79_11, ~m77_5
|
||||
# 79| r79_12(signed short) = Load : &:r79_11, ~m77_5
|
||||
# 79| valnum = unique
|
||||
# 79| r79_13(int) = Convert : r79_12
|
||||
# 79| r79_13(int) = Convert : r79_12
|
||||
# 79| valnum = unique
|
||||
# 79| r79_14(int) = Add : r79_8, r79_13
|
||||
# 79| r79_14(int) = Add : r79_8, r79_13
|
||||
# 79| valnum = unique
|
||||
# 79| r79_15(bool) = CompareLT : r79_3, r79_14
|
||||
# 79| r79_15(bool) = CompareLT : r79_3, r79_14
|
||||
# 79| valnum = unique
|
||||
# 79| v79_16(void) = ConditionalBranch : r79_15
|
||||
# 79| v79_16(void) = ConditionalBranch : r79_15
|
||||
#-----| False -> Block 2
|
||||
#-----| True -> Block 1
|
||||
|
||||
@@ -582,87 +609,95 @@ test.cpp:
|
||||
#-----| Goto -> Block 2
|
||||
|
||||
# 82| Block 2
|
||||
# 82| m82_1(unknown) = Phi : from 0:~m77_5, from 1:~m80_4
|
||||
# 82| m82_1(unknown) = Phi : from 0:~m77_5, from 1:~m80_4
|
||||
# 82| valnum = unique
|
||||
# 82| v82_2(void) = NoOp :
|
||||
# 75| v75_6(void) = ReturnVoid :
|
||||
# 75| v75_7(void) = UnmodeledUse : mu*
|
||||
# 75| v75_8(void) = AliasedUse : ~m82_1
|
||||
# 75| v75_9(void) = ExitFunction :
|
||||
# 82| v82_2(void) = NoOp :
|
||||
# 75| v75_9(void) = ReturnIndirection : &:r75_6, ~m82_1
|
||||
# 75| v75_10(void) = ReturnVoid :
|
||||
# 75| v75_11(void) = UnmodeledUse : mu*
|
||||
# 75| v75_12(void) = AliasedUse : ~m82_1
|
||||
# 75| v75_13(void) = ExitFunction :
|
||||
|
||||
# 84| void test05(int, int, void*)
|
||||
# 84| Block 0
|
||||
# 84| v84_1(void) = EnterFunction :
|
||||
# 84| m84_2(unknown) = AliasedDefinition :
|
||||
# 84| v84_1(void) = EnterFunction :
|
||||
# 84| m84_2(unknown) = AliasedDefinition :
|
||||
# 84| valnum = unique
|
||||
# 84| mu84_3(unknown) = UnmodeledDefinition :
|
||||
# 84| mu84_3(unknown) = UnmodeledDefinition :
|
||||
# 84| valnum = unique
|
||||
# 84| r84_4(glval<int>) = VariableAddress[x] :
|
||||
# 84| r84_4(glval<int>) = VariableAddress[x] :
|
||||
# 84| valnum = r84_4
|
||||
# 84| m84_5(int) = InitializeParameter[x] : &:r84_4
|
||||
# 84| m84_5(int) = InitializeParameter[x] : &:r84_4
|
||||
# 84| valnum = m84_5
|
||||
# 84| r84_6(glval<int>) = VariableAddress[y] :
|
||||
# 84| r84_6(glval<int>) = VariableAddress[y] :
|
||||
# 84| valnum = r84_6
|
||||
# 84| m84_7(int) = InitializeParameter[y] : &:r84_6
|
||||
# 84| m84_7(int) = InitializeParameter[y] : &:r84_6
|
||||
# 84| valnum = m84_7
|
||||
# 84| r84_8(glval<void *>) = VariableAddress[p] :
|
||||
# 84| r84_8(glval<void *>) = VariableAddress[p] :
|
||||
# 84| valnum = r84_8
|
||||
# 84| m84_9(void *) = InitializeParameter[p] : &:r84_8
|
||||
# 84| m84_9(void *) = InitializeParameter[p] : &:r84_8
|
||||
# 84| valnum = m84_9
|
||||
# 86| r86_1(glval<int>) = VariableAddress[v] :
|
||||
# 84| r84_10(void *) = Load : &:r84_8, m84_9
|
||||
# 84| valnum = m84_9
|
||||
# 84| m84_11(unknown) = InitializeIndirection[p] : &:r84_10
|
||||
# 84| valnum = unique
|
||||
# 84| m84_12(unknown) = Chi : total:m84_2, partial:m84_11
|
||||
# 84| valnum = unique
|
||||
# 86| r86_1(glval<int>) = VariableAddress[v] :
|
||||
# 86| valnum = r86_1
|
||||
# 86| m86_2(int) = Uninitialized[v] : &:r86_1
|
||||
# 86| m86_2(int) = Uninitialized[v] : &:r86_1
|
||||
# 86| valnum = unique
|
||||
# 88| r88_1(glval<void *>) = VariableAddress[p] :
|
||||
# 88| r88_1(glval<void *>) = VariableAddress[p] :
|
||||
# 88| valnum = r84_8
|
||||
# 88| r88_2(void *) = Load : &:r88_1, m84_9
|
||||
# 88| r88_2(void *) = Load : &:r88_1, m84_9
|
||||
# 88| valnum = m84_9
|
||||
# 88| r88_3(void *) = Constant[0] :
|
||||
# 88| r88_3(void *) = Constant[0] :
|
||||
# 88| valnum = unique
|
||||
# 88| r88_4(bool) = CompareNE : r88_2, r88_3
|
||||
# 88| r88_4(bool) = CompareNE : r88_2, r88_3
|
||||
# 88| valnum = unique
|
||||
# 88| v88_5(void) = ConditionalBranch : r88_4
|
||||
#-----| False -> Block 2
|
||||
#-----| True -> Block 1
|
||||
# 88| v88_5(void) = ConditionalBranch : r88_4
|
||||
#-----| False -> Block 3
|
||||
#-----| True -> Block 2
|
||||
|
||||
# 88| Block 1
|
||||
# 88| r88_6(glval<int>) = VariableAddress[x] :
|
||||
# 88| valnum = r84_4
|
||||
# 88| r88_7(int) = Load : &:r88_6, m84_5
|
||||
# 88| valnum = m84_5
|
||||
# 88| r88_8(glval<int>) = VariableAddress[#temp88:7] :
|
||||
# 88| valnum = r88_8
|
||||
# 88| m88_9(int) = Store : &:r88_8, r88_7
|
||||
# 88| valnum = m84_5
|
||||
#-----| Goto -> Block 3
|
||||
# 88| m88_6(int) = Phi : from 2:m88_14, from 3:m88_18
|
||||
# 88| valnum = m88_6
|
||||
# 88| r88_7(glval<int>) = VariableAddress[#temp88:7] :
|
||||
# 88| valnum = r88_7
|
||||
# 88| r88_8(int) = Load : &:r88_7, m88_6
|
||||
# 88| valnum = m88_6
|
||||
# 88| r88_9(glval<int>) = VariableAddress[v] :
|
||||
# 88| valnum = r86_1
|
||||
# 88| m88_10(int) = Store : &:r88_9, r88_8
|
||||
# 88| valnum = m88_6
|
||||
# 89| v89_1(void) = NoOp :
|
||||
# 84| v84_13(void) = ReturnIndirection : &:r84_10, ~m84_12
|
||||
# 84| v84_14(void) = ReturnVoid :
|
||||
# 84| v84_15(void) = UnmodeledUse : mu*
|
||||
# 84| v84_16(void) = AliasedUse : ~m84_12
|
||||
# 84| v84_17(void) = ExitFunction :
|
||||
|
||||
# 88| Block 2
|
||||
# 88| r88_10(glval<int>) = VariableAddress[y] :
|
||||
# 88| valnum = r84_6
|
||||
# 88| r88_11(int) = Load : &:r88_10, m84_7
|
||||
# 88| valnum = m84_7
|
||||
# 88| r88_12(glval<int>) = VariableAddress[#temp88:7] :
|
||||
# 88| valnum = r88_8
|
||||
# 88| m88_13(int) = Store : &:r88_12, r88_11
|
||||
# 88| valnum = m84_7
|
||||
#-----| Goto -> Block 3
|
||||
# 88| r88_11(glval<int>) = VariableAddress[x] :
|
||||
# 88| valnum = r84_4
|
||||
# 88| r88_12(int) = Load : &:r88_11, m84_5
|
||||
# 88| valnum = m84_5
|
||||
# 88| r88_13(glval<int>) = VariableAddress[#temp88:7] :
|
||||
# 88| valnum = r88_7
|
||||
# 88| m88_14(int) = Store : &:r88_13, r88_12
|
||||
# 88| valnum = m84_5
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 88| Block 3
|
||||
# 88| m88_14(int) = Phi : from 1:m88_9, from 2:m88_13
|
||||
# 88| valnum = m88_14
|
||||
# 88| r88_15(glval<int>) = VariableAddress[#temp88:7] :
|
||||
# 88| valnum = r88_8
|
||||
# 88| r88_16(int) = Load : &:r88_15, m88_14
|
||||
# 88| valnum = m88_14
|
||||
# 88| r88_17(glval<int>) = VariableAddress[v] :
|
||||
# 88| valnum = r86_1
|
||||
# 88| r88_15(glval<int>) = VariableAddress[y] :
|
||||
# 88| valnum = r84_6
|
||||
# 88| r88_16(int) = Load : &:r88_15, m84_7
|
||||
# 88| valnum = m84_7
|
||||
# 88| r88_17(glval<int>) = VariableAddress[#temp88:7] :
|
||||
# 88| valnum = r88_7
|
||||
# 88| m88_18(int) = Store : &:r88_17, r88_16
|
||||
# 88| valnum = m88_14
|
||||
# 89| v89_1(void) = NoOp :
|
||||
# 84| v84_10(void) = ReturnVoid :
|
||||
# 84| v84_11(void) = UnmodeledUse : mu*
|
||||
# 84| v84_12(void) = AliasedUse : ~m84_2
|
||||
# 84| v84_13(void) = ExitFunction :
|
||||
# 88| valnum = m84_7
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 91| int regression_test00()
|
||||
# 91| Block 0
|
||||
@@ -709,6 +744,12 @@ test.cpp:
|
||||
# 104| valnum = r104_4
|
||||
# 104| m104_5(Derived *) = InitializeParameter[pd] : &:r104_4
|
||||
# 104| valnum = m104_5
|
||||
# 104| r104_6(Derived *) = Load : &:r104_4, m104_5
|
||||
# 104| valnum = m104_5
|
||||
# 104| m104_7(unknown) = InitializeIndirection[pd] : &:r104_6
|
||||
# 104| valnum = unique
|
||||
# 104| m104_8(unknown) = Chi : total:m104_2, partial:m104_7
|
||||
# 104| valnum = unique
|
||||
# 105| r105_1(glval<int>) = VariableAddress[x] :
|
||||
# 105| valnum = unique
|
||||
# 105| r105_2(glval<Derived *>) = VariableAddress[pd] :
|
||||
@@ -719,7 +760,7 @@ test.cpp:
|
||||
# 105| valnum = r105_4
|
||||
# 105| r105_5(glval<int>) = FieldAddress[b] : r105_4
|
||||
# 105| valnum = r105_5
|
||||
# 105| r105_6(int) = Load : &:r105_5, ~m104_2
|
||||
# 105| r105_6(int) = Load : &:r105_5, ~m104_8
|
||||
# 105| valnum = r105_6
|
||||
# 105| m105_7(int) = Store : &:r105_1, r105_6
|
||||
# 105| valnum = r105_6
|
||||
@@ -741,7 +782,7 @@ test.cpp:
|
||||
# 107| valnum = r105_4
|
||||
# 107| r107_4(glval<int>) = FieldAddress[b] : r107_3
|
||||
# 107| valnum = r105_5
|
||||
# 107| r107_5(int) = Load : &:r107_4, ~m104_2
|
||||
# 107| r107_5(int) = Load : &:r107_4, ~m104_8
|
||||
# 107| valnum = r107_5
|
||||
# 107| m107_6(int) = Store : &:r107_1, r107_5
|
||||
# 107| valnum = r107_5
|
||||
@@ -753,12 +794,13 @@ test.cpp:
|
||||
# 109| valnum = r107_5
|
||||
# 109| m109_4(int) = Store : &:r109_1, r109_3
|
||||
# 109| valnum = r107_5
|
||||
# 104| r104_6(glval<int>) = VariableAddress[#return] :
|
||||
# 104| v104_9(void) = ReturnIndirection : &:r104_6, ~m104_8
|
||||
# 104| r104_10(glval<int>) = VariableAddress[#return] :
|
||||
# 104| valnum = r109_1
|
||||
# 104| v104_7(void) = ReturnValue : &:r104_6, m109_4
|
||||
# 104| v104_8(void) = UnmodeledUse : mu*
|
||||
# 104| v104_9(void) = AliasedUse : ~m104_2
|
||||
# 104| v104_10(void) = ExitFunction :
|
||||
# 104| v104_11(void) = ReturnValue : &:r104_10, m109_4
|
||||
# 104| v104_12(void) = UnmodeledUse : mu*
|
||||
# 104| v104_13(void) = AliasedUse : ~m104_8
|
||||
# 104| v104_14(void) = ExitFunction :
|
||||
|
||||
# 112| void test06()
|
||||
# 112| Block 0
|
||||
|
||||
Reference in New Issue
Block a user