mirror of
https://github.com/github/codeql.git
synced 2026-04-28 02:05:14 +02:00
Merge pull request #4498 from dbartol/dbartol/PrintCallTargets
C++: Print static call target for `Call` instruction in dumps
This commit is contained in:
@@ -1501,6 +1501,12 @@ class SwitchInstruction extends Instruction {
|
||||
class CallInstruction extends Instruction {
|
||||
CallInstruction() { getOpcode() instanceof Opcode::Call }
|
||||
|
||||
final override string getImmediateString() {
|
||||
result = getStaticCallTarget().toString()
|
||||
or
|
||||
not exists(getStaticCallTarget()) and result = "?"
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the operand the specifies the target function of the call.
|
||||
*/
|
||||
|
||||
@@ -1501,6 +1501,12 @@ class SwitchInstruction extends Instruction {
|
||||
class CallInstruction extends Instruction {
|
||||
CallInstruction() { getOpcode() instanceof Opcode::Call }
|
||||
|
||||
final override string getImmediateString() {
|
||||
result = getStaticCallTarget().toString()
|
||||
or
|
||||
not exists(getStaticCallTarget()) and result = "?"
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the operand the specifies the target function of the call.
|
||||
*/
|
||||
|
||||
@@ -1501,6 +1501,12 @@ class SwitchInstruction extends Instruction {
|
||||
class CallInstruction extends Instruction {
|
||||
CallInstruction() { getOpcode() instanceof Opcode::Call }
|
||||
|
||||
final override string getImmediateString() {
|
||||
result = getStaticCallTarget().toString()
|
||||
or
|
||||
not exists(getStaticCallTarget()) and result = "?"
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the operand the specifies the target function of the call.
|
||||
*/
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -346,7 +346,7 @@ ssa.cpp:
|
||||
# 97| r97_2(glval<Point>) = VariableAddress[a] :
|
||||
# 97| r97_3(Point *) = CopyValue : r97_2
|
||||
# 97| r97_4(void *) = Convert : r97_3
|
||||
# 97| v97_5(void) = Call : func:r97_1, 0:r97_4
|
||||
# 97| v97_5(void) = Call[Escape] : func:r97_1, 0:r97_4
|
||||
# 97| m97_6(unknown) = ^CallSideEffect : ~m95_7
|
||||
# 97| m97_7(unknown) = Chi : total:m95_7, partial:m97_6
|
||||
# 97| v97_8(void) = ^BufferReadSideEffect[0] : &:r97_4, ~m97_7
|
||||
@@ -403,7 +403,7 @@ ssa.cpp:
|
||||
# 108| r108_2(glval<Point>) = VariableAddress[a] :
|
||||
# 108| r108_3(Point *) = CopyValue : r108_2
|
||||
# 108| r108_4(void *) = Convert : r108_3
|
||||
# 108| v108_5(void) = Call : func:r108_1, 0:r108_4
|
||||
# 108| v108_5(void) = Call[Escape] : func:r108_1, 0:r108_4
|
||||
# 108| m108_6(unknown) = ^CallSideEffect : ~m105_7
|
||||
# 108| m108_7(unknown) = Chi : total:m105_7, partial:m108_6
|
||||
# 108| v108_8(void) = ^BufferReadSideEffect[0] : &:r108_4, ~m108_7
|
||||
@@ -476,7 +476,7 @@ ssa.cpp:
|
||||
# 119| r119_2(glval<Point>) = VariableAddress[a] :
|
||||
# 119| r119_3(Point *) = CopyValue : r119_2
|
||||
# 119| r119_4(void *) = Convert : r119_3
|
||||
# 119| v119_5(void) = Call : func:r119_1, 0:r119_4
|
||||
# 119| v119_5(void) = Call[Escape] : func:r119_1, 0:r119_4
|
||||
# 119| m119_6(unknown) = ^CallSideEffect : ~m117_13
|
||||
# 119| m119_7(unknown) = Chi : total:m117_13, partial:m119_6
|
||||
# 119| v119_8(void) = ^BufferReadSideEffect[0] : &:r119_4, ~m119_7
|
||||
@@ -848,7 +848,7 @@ ssa.cpp:
|
||||
# 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| r199_9(int) = Call[strcmp] : func:r199_2, 0:r199_5, 1:r199_8
|
||||
# 199| v199_10(void) = ^BufferReadSideEffect[0] : &:r199_5, ~m198_8
|
||||
# 199| v199_11(void) = ^BufferReadSideEffect[1] : &:r199_8, ~m198_12
|
||||
# 199| m199_12(int) = Store : &:r199_1, r199_9
|
||||
@@ -856,7 +856,7 @@ ssa.cpp:
|
||||
# 200| r200_2(glval<char *>) = VariableAddress[str1] :
|
||||
# 200| r200_3(char *) = Load : &:r200_2, m198_6
|
||||
# 200| r200_4(char *) = Convert : r200_3
|
||||
# 200| r200_5(int) = Call : func:r200_1, 0:r200_4
|
||||
# 200| r200_5(int) = Call[strlen] : func:r200_1, 0:r200_4
|
||||
# 200| v200_6(void) = ^BufferReadSideEffect[0] : &:r200_4, ~m198_8
|
||||
# 200| r200_7(glval<int>) = VariableAddress[ret] :
|
||||
# 200| r200_8(int) = Load : &:r200_7, m199_12
|
||||
@@ -865,7 +865,7 @@ ssa.cpp:
|
||||
# 201| r201_1(glval<unknown>) = FunctionAddress[abs] :
|
||||
# 201| r201_2(glval<int>) = VariableAddress[x] :
|
||||
# 201| r201_3(int) = Load : &:r201_2, m198_14
|
||||
# 201| r201_4(int) = Call : func:r201_1, 0:r201_3
|
||||
# 201| r201_4(int) = Call[abs] : 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
|
||||
@@ -901,7 +901,7 @@ ssa.cpp:
|
||||
# 209| r209_6(int *) = CopyValue : r209_5
|
||||
# 209| r209_7(void *) = Convert : r209_6
|
||||
# 209| r209_8(int) = Constant[4] :
|
||||
# 209| r209_9(void *) = Call : func:r209_1, 0:r209_4, 1:r209_7, 2:r209_8
|
||||
# 209| r209_9(void *) = Call[memcpy] : func:r209_1, 0:r209_4, 1:r209_7, 2:r209_8
|
||||
# 209| v209_10(void) = ^SizedBufferReadSideEffect[1] : &:r209_7, r209_8, ~m207_6
|
||||
# 209| m209_11(unknown) = ^SizedBufferMustWriteSideEffect[0] : &:r209_4, r209_8
|
||||
# 209| m209_12(unknown) = Chi : total:m208_3, partial:m209_11
|
||||
@@ -988,7 +988,7 @@ ssa.cpp:
|
||||
# 226| m226_3(unknown) = InitializeNonLocal :
|
||||
# 226| m226_4(unknown) = Chi : total:m226_2, partial:m226_3
|
||||
# 227| r227_1(glval<unknown>) = FunctionAddress[ExternalFunc] :
|
||||
# 227| v227_2(void) = Call : func:r227_1
|
||||
# 227| v227_2(void) = Call[ExternalFunc] : func:r227_1
|
||||
# 227| m227_3(unknown) = ^CallSideEffect : ~m226_4
|
||||
# 227| m227_4(unknown) = Chi : total:m226_4, partial:m227_3
|
||||
# 229| r229_1(glval<char *>) = VariableAddress[s] :
|
||||
@@ -1051,14 +1051,14 @@ ssa.cpp:
|
||||
# 240| m240_2(Constructible) = Uninitialized[c] : &:r240_1
|
||||
# 240| r240_3(glval<unknown>) = FunctionAddress[Constructible] :
|
||||
# 240| r240_4(int) = Constant[1] :
|
||||
# 240| v240_5(void) = Call : func:r240_3, this:r240_1, 0:r240_4
|
||||
# 240| v240_5(void) = Call[Constructible] : func:r240_3, this:r240_1, 0:r240_4
|
||||
# 240| m240_6(unknown) = ^CallSideEffect : ~m239_4
|
||||
# 240| m240_7(unknown) = Chi : total:m239_4, partial:m240_6
|
||||
# 240| m240_8(Constructible) = ^IndirectMayWriteSideEffect[-1] : &:r240_1
|
||||
# 240| m240_9(Constructible) = Chi : total:m240_2, partial:m240_8
|
||||
# 241| r241_1(glval<Constructible>) = VariableAddress[c] :
|
||||
# 241| r241_2(glval<unknown>) = FunctionAddress[g] :
|
||||
# 241| v241_3(void) = Call : func:r241_2, this:r241_1
|
||||
# 241| v241_3(void) = Call[g] : func:r241_2, this:r241_1
|
||||
# 241| m241_4(unknown) = ^CallSideEffect : ~m240_7
|
||||
# 241| m241_5(unknown) = Chi : total:m240_7, partial:m241_4
|
||||
# 241| v241_6(void) = ^BufferReadSideEffect[-1] : &:r241_1, ~m240_9
|
||||
@@ -1066,7 +1066,7 @@ ssa.cpp:
|
||||
# 241| m241_8(Constructible) = Chi : total:m240_9, partial:m241_7
|
||||
# 242| r242_1(glval<Constructible>) = VariableAddress[c] :
|
||||
# 242| r242_2(glval<unknown>) = FunctionAddress[g] :
|
||||
# 242| v242_3(void) = Call : func:r242_2, this:r242_1
|
||||
# 242| v242_3(void) = Call[g] : func:r242_2, this:r242_1
|
||||
# 242| m242_4(unknown) = ^CallSideEffect : ~m241_5
|
||||
# 242| m242_5(unknown) = Chi : total:m241_5, partial:m242_4
|
||||
# 242| v242_6(void) = ^BufferReadSideEffect[-1] : &:r242_1, ~m241_8
|
||||
@@ -1076,14 +1076,14 @@ ssa.cpp:
|
||||
# 243| m243_2(Constructible) = Uninitialized[c2] : &:r243_1
|
||||
# 243| r243_3(glval<unknown>) = FunctionAddress[Constructible] :
|
||||
# 243| r243_4(int) = Constant[2] :
|
||||
# 243| v243_5(void) = Call : func:r243_3, this:r243_1, 0:r243_4
|
||||
# 243| v243_5(void) = Call[Constructible] : func:r243_3, this:r243_1, 0:r243_4
|
||||
# 243| m243_6(unknown) = ^CallSideEffect : ~m242_5
|
||||
# 243| m243_7(unknown) = Chi : total:m242_5, partial:m243_6
|
||||
# 243| m243_8(Constructible) = ^IndirectMayWriteSideEffect[-1] : &:r243_1
|
||||
# 243| m243_9(Constructible) = Chi : total:m243_2, partial:m243_8
|
||||
# 244| r244_1(glval<Constructible>) = VariableAddress[c2] :
|
||||
# 244| r244_2(glval<unknown>) = FunctionAddress[g] :
|
||||
# 244| v244_3(void) = Call : func:r244_2, this:r244_1
|
||||
# 244| v244_3(void) = Call[g] : func:r244_2, this:r244_1
|
||||
# 244| m244_4(unknown) = ^CallSideEffect : ~m243_7
|
||||
# 244| m244_5(unknown) = Chi : total:m243_7, partial:m244_4
|
||||
# 244| v244_6(void) = ^BufferReadSideEffect[-1] : &:r244_1, ~m243_9
|
||||
@@ -1114,7 +1114,7 @@ ssa.cpp:
|
||||
# 248| r248_5(unsigned long) = Convert : r248_4
|
||||
# 248| r248_6(unsigned long) = Constant[1] :
|
||||
# 248| r248_7(unsigned long) = Mul : r248_5, r248_6
|
||||
# 248| r248_8(void *) = Call : func:r248_2, 0:r248_7
|
||||
# 248| r248_8(void *) = Call[operator new[]] : func:r248_2, 0:r248_7
|
||||
# 248| m248_9(unknown) = ^CallSideEffect : ~m247_9
|
||||
# 248| m248_10(unknown) = Chi : total:m247_9, partial:m248_9
|
||||
# 248| m248_11(unknown) = ^InitializeDynamicAllocation : &:r248_8
|
||||
@@ -1136,7 +1136,7 @@ ssa.cpp:
|
||||
# 250| r250_7(void *) = Convert : r250_6
|
||||
# 250| r250_8(glval<int>) = VariableAddress[size] :
|
||||
# 250| r250_9(int) = Load : &:r250_8, m247_11
|
||||
# 250| r250_10(void *) = Call : func:r250_1, 0:r250_4, 1:r250_7, 2:r250_9
|
||||
# 250| r250_10(void *) = Call[memcpy] : func:r250_1, 0:r250_4, 1:r250_7, 2:r250_9
|
||||
# 250| v250_11(void) = ^SizedBufferReadSideEffect[1] : &:r250_7, r250_9, ~m249_6
|
||||
# 250| m250_12(unknown) = ^SizedBufferMustWriteSideEffect[0] : &:r250_4, r250_9
|
||||
# 250| m250_13(unknown) = Chi : total:m249_6, partial:m250_12
|
||||
@@ -1166,14 +1166,14 @@ ssa.cpp:
|
||||
|
||||
# 256| Block 1
|
||||
# 256| r256_1(glval<unknown>) = FunctionAddress[ExternalFunc] :
|
||||
# 256| v256_2(void) = Call : func:r256_1
|
||||
# 256| v256_2(void) = Call[ExternalFunc] : func:r256_1
|
||||
# 256| m256_3(unknown) = ^CallSideEffect : ~m254_4
|
||||
# 256| m256_4(unknown) = Chi : total:m254_4, partial:m256_3
|
||||
#-----| Goto -> Block 3
|
||||
|
||||
# 259| Block 2
|
||||
# 259| r259_1(glval<unknown>) = FunctionAddress[ExternalFunc] :
|
||||
# 259| v259_2(void) = Call : func:r259_1
|
||||
# 259| v259_2(void) = Call[ExternalFunc] : func:r259_1
|
||||
# 259| m259_3(unknown) = ^CallSideEffect : ~m254_4
|
||||
# 259| m259_4(unknown) = Chi : total:m254_4, partial:m259_3
|
||||
#-----| Goto -> Block 3
|
||||
@@ -1213,7 +1213,7 @@ ssa.cpp:
|
||||
# 269| r269_2(glval<unknown>) = FunctionAddress[malloc] :
|
||||
# 269| r269_3(glval<int>) = VariableAddress[size] :
|
||||
# 269| r269_4(int) = Load : &:r269_3, m268_11
|
||||
# 269| r269_5(void *) = Call : func:r269_2, 0:r269_4
|
||||
# 269| r269_5(void *) = Call[malloc] : func:r269_2, 0:r269_4
|
||||
# 269| m269_6(unknown) = ^CallSideEffect : ~m268_9
|
||||
# 269| m269_7(unknown) = Chi : total:m268_9, partial:m269_6
|
||||
# 269| m269_8(unknown) = ^InitializeDynamicAllocation : &:r269_5
|
||||
@@ -1226,7 +1226,7 @@ ssa.cpp:
|
||||
# 270| r270_5(void *) = Load : &:r270_4, m268_6
|
||||
# 270| r270_6(glval<int>) = VariableAddress[size] :
|
||||
# 270| r270_7(int) = Load : &:r270_6, m268_11
|
||||
# 270| r270_8(void *) = Call : func:r270_1, 0:r270_3, 1:r270_5, 2:r270_7
|
||||
# 270| r270_8(void *) = Call[memcpy] : func:r270_1, 0:r270_3, 1:r270_5, 2:r270_7
|
||||
# 270| v270_9(void) = ^SizedBufferReadSideEffect[1] : &:r270_5, r270_7, ~m269_7
|
||||
# 270| m270_10(unknown) = ^SizedBufferMustWriteSideEffect[0] : &:r270_3, r270_7
|
||||
# 270| m270_11(unknown) = Chi : total:m269_9, partial:m270_10
|
||||
@@ -1362,7 +1362,7 @@ ssa.cpp:
|
||||
# 292| r292_1(glval<Point *>) = VariableAddress[p] :
|
||||
# 292| r292_2(glval<unknown>) = FunctionAddress[operator new] :
|
||||
# 292| r292_3(unsigned long) = Constant[8] :
|
||||
# 292| r292_4(void *) = Call : func:r292_2, 0:r292_3
|
||||
# 292| r292_4(void *) = Call[operator new] : func:r292_2, 0:r292_3
|
||||
# 292| m292_5(unknown) = ^CallSideEffect : ~m291_4
|
||||
# 292| m292_6(unknown) = Chi : total:m291_4, partial:m292_5
|
||||
# 292| m292_7(unknown) = ^InitializeDynamicAllocation : &:r292_4
|
||||
@@ -1371,7 +1371,7 @@ ssa.cpp:
|
||||
# 293| r293_1(glval<Point *>) = VariableAddress[q] :
|
||||
# 293| r293_2(glval<unknown>) = FunctionAddress[operator new] :
|
||||
# 293| r293_3(unsigned long) = Constant[8] :
|
||||
# 293| r293_4(void *) = Call : func:r293_2, 0:r293_3
|
||||
# 293| r293_4(void *) = Call[operator new] : func:r293_2, 0:r293_3
|
||||
# 293| m293_5(unknown) = ^CallSideEffect : ~m292_6
|
||||
# 293| m293_6(unknown) = Chi : total:m292_6, partial:m293_5
|
||||
# 293| m293_7(unknown) = ^InitializeDynamicAllocation : &:r293_4
|
||||
@@ -1380,7 +1380,7 @@ ssa.cpp:
|
||||
# 294| r294_1(glval<int>) = VariableAddress[j] :
|
||||
# 294| r294_2(glval<unknown>) = FunctionAddress[operator new] :
|
||||
# 294| r294_3(unsigned long) = Constant[4] :
|
||||
# 294| r294_4(void *) = Call : func:r294_2, 0:r294_3
|
||||
# 294| r294_4(void *) = Call[operator new] : func:r294_2, 0:r294_3
|
||||
# 294| m294_5(unknown) = ^CallSideEffect : ~m293_6
|
||||
# 294| m294_6(unknown) = Chi : total:m293_6, partial:m294_5
|
||||
# 294| m294_7(unknown) = ^InitializeDynamicAllocation : &:r294_4
|
||||
@@ -1388,7 +1388,7 @@ ssa.cpp:
|
||||
# 294| r294_9(glval<unknown>) = FunctionAddress[A] :
|
||||
# 294| r294_10(glval<unknown>) = FunctionAddress[operator new] :
|
||||
# 294| r294_11(unsigned long) = Constant[4] :
|
||||
# 294| r294_12(void *) = Call : func:r294_10, 0:r294_11
|
||||
# 294| r294_12(void *) = Call[operator new] : func:r294_10, 0:r294_11
|
||||
# 294| m294_13(unknown) = ^CallSideEffect : ~m294_6
|
||||
# 294| m294_14(unknown) = Chi : total:m294_6, partial:m294_13
|
||||
# 294| m294_15(unknown) = ^InitializeDynamicAllocation : &:r294_12
|
||||
@@ -1396,12 +1396,12 @@ ssa.cpp:
|
||||
# 294| r294_17(glval<unknown>) = FunctionAddress[A] :
|
||||
# 294| r294_18(glval<int>) = VariableAddress[x] :
|
||||
# 294| r294_19(int) = Load : &:r294_18, m291_6
|
||||
# 294| v294_20(void) = Call : func:r294_17, this:r294_16, 0:r294_19
|
||||
# 294| v294_20(void) = Call[A] : func:r294_17, this:r294_16, 0:r294_19
|
||||
# 294| m294_21(unknown) = ^CallSideEffect : ~m294_14
|
||||
# 294| m294_22(unknown) = Chi : total:m294_14, partial:m294_21
|
||||
# 294| m294_23(A) = ^IndirectMayWriteSideEffect[-1] : &:r294_16
|
||||
# 294| m294_24(unknown) = Chi : total:m294_15, partial:m294_23
|
||||
# 294| v294_25(void) = Call : func:r294_9, this:r294_8, 0:r294_16
|
||||
# 294| v294_25(void) = Call[A] : func:r294_9, this:r294_8, 0:r294_16
|
||||
# 294| m294_26(unknown) = ^CallSideEffect : ~m294_22
|
||||
# 294| m294_27(unknown) = Chi : total:m294_22, partial:m294_26
|
||||
# 294| m294_28(A) = ^IndirectMayWriteSideEffect[-1] : &:r294_8
|
||||
@@ -1415,13 +1415,13 @@ ssa.cpp:
|
||||
# 295| r295_1(glval<A *>) = VariableAddress[a] :
|
||||
# 295| r295_2(glval<unknown>) = FunctionAddress[operator new] :
|
||||
# 295| r295_3(unsigned long) = Constant[4] :
|
||||
# 295| r295_4(void *) = Call : func:r295_2, 0:r295_3
|
||||
# 295| r295_4(void *) = Call[operator new] : func:r295_2, 0:r295_3
|
||||
# 295| m295_5(unknown) = ^CallSideEffect : ~m294_27
|
||||
# 295| m295_6(unknown) = Chi : total:m294_27, partial:m295_5
|
||||
# 295| m295_7(unknown) = ^InitializeDynamicAllocation : &:r295_4
|
||||
# 295| r295_8(A *) = Convert : r295_4
|
||||
# 295| r295_9(glval<unknown>) = FunctionAddress[A] :
|
||||
# 295| v295_10(void) = Call : func:r295_9, this:r295_8
|
||||
# 295| v295_10(void) = Call[A] : func:r295_9, this:r295_8
|
||||
# 295| m295_11(unknown) = ^CallSideEffect : ~m295_6
|
||||
# 295| m295_12(unknown) = Chi : total:m295_6, partial:m295_11
|
||||
# 295| m295_13(A) = ^IndirectMayWriteSideEffect[-1] : &:r295_8
|
||||
@@ -1454,7 +1454,7 @@ ssa.cpp:
|
||||
# 302| r302_3(int) = Load : &:r302_2, m301_6
|
||||
# 302| r302_4(glval<char **>) = VariableAddress[argv] :
|
||||
# 302| r302_5(char **) = Load : &:r302_4, m301_8
|
||||
# 302| v302_6(void) = Call : func:r302_1, 0:r302_3, 1:r302_5
|
||||
# 302| v302_6(void) = Call[unknownFunction] : func:r302_1, 0:r302_3, 1:r302_5
|
||||
# 302| m302_7(unknown) = ^CallSideEffect : ~m301_11
|
||||
# 302| m302_8(unknown) = Chi : total:m301_11, partial:m302_7
|
||||
# 302| v302_9(void) = ^BufferReadSideEffect[1] : &:r302_5, ~m302_8
|
||||
@@ -1465,7 +1465,7 @@ ssa.cpp:
|
||||
# 303| r303_3(int) = Load : &:r303_2, m301_6
|
||||
# 303| r303_4(glval<char **>) = VariableAddress[argv] :
|
||||
# 303| r303_5(char **) = Load : &:r303_4, m301_8
|
||||
# 303| v303_6(void) = Call : func:r303_1, 0:r303_3, 1:r303_5
|
||||
# 303| v303_6(void) = Call[unknownFunction] : func:r303_1, 0:r303_3, 1:r303_5
|
||||
# 303| m303_7(unknown) = ^CallSideEffect : ~m302_11
|
||||
# 303| m303_8(unknown) = Chi : total:m302_11, partial:m303_7
|
||||
# 303| v303_9(void) = ^BufferReadSideEffect[1] : &:r303_5, ~m303_8
|
||||
|
||||
@@ -345,7 +345,7 @@ ssa.cpp:
|
||||
# 97| r97_2(glval<Point>) = VariableAddress[a] :
|
||||
# 97| r97_3(Point *) = CopyValue : r97_2
|
||||
# 97| r97_4(void *) = Convert : r97_3
|
||||
# 97| v97_5(void) = Call : func:r97_1, 0:r97_4
|
||||
# 97| v97_5(void) = Call[Escape] : func:r97_1, 0:r97_4
|
||||
# 97| m97_6(unknown) = ^CallSideEffect : ~m95_4
|
||||
# 97| m97_7(unknown) = Chi : total:m95_4, partial:m97_6
|
||||
# 97| v97_8(void) = ^BufferReadSideEffect[0] : &:r97_4, ~m95_6
|
||||
@@ -401,7 +401,7 @@ ssa.cpp:
|
||||
# 108| r108_2(glval<Point>) = VariableAddress[a] :
|
||||
# 108| r108_3(Point *) = CopyValue : r108_2
|
||||
# 108| r108_4(void *) = Convert : r108_3
|
||||
# 108| v108_5(void) = Call : func:r108_1, 0:r108_4
|
||||
# 108| v108_5(void) = Call[Escape] : func:r108_1, 0:r108_4
|
||||
# 108| m108_6(unknown) = ^CallSideEffect : ~m105_4
|
||||
# 108| m108_7(unknown) = Chi : total:m105_4, partial:m108_6
|
||||
# 108| v108_8(void) = ^BufferReadSideEffect[0] : &:r108_4, ~m105_6
|
||||
@@ -473,7 +473,7 @@ ssa.cpp:
|
||||
# 119| r119_2(glval<Point>) = VariableAddress[a] :
|
||||
# 119| r119_3(Point *) = CopyValue : r119_2
|
||||
# 119| r119_4(void *) = Convert : r119_3
|
||||
# 119| v119_5(void) = Call : func:r119_1, 0:r119_4
|
||||
# 119| v119_5(void) = Call[Escape] : func:r119_1, 0:r119_4
|
||||
# 119| m119_6(unknown) = ^CallSideEffect : ~m116_4
|
||||
# 119| m119_7(unknown) = Chi : total:m116_4, partial:m119_6
|
||||
# 119| v119_8(void) = ^BufferReadSideEffect[0] : &:r119_4, ~m117_12
|
||||
@@ -843,7 +843,7 @@ ssa.cpp:
|
||||
# 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| r199_9(int) = Call[strcmp] : func:r199_2, 0:r199_5, 1:r199_8
|
||||
# 199| v199_10(void) = ^BufferReadSideEffect[0] : &:r199_5, ~m198_8
|
||||
# 199| v199_11(void) = ^BufferReadSideEffect[1] : &:r199_8, ~m198_12
|
||||
# 199| m199_12(int) = Store : &:r199_1, r199_9
|
||||
@@ -851,7 +851,7 @@ ssa.cpp:
|
||||
# 200| r200_2(glval<char *>) = VariableAddress[str1] :
|
||||
# 200| r200_3(char *) = Load : &:r200_2, m198_6
|
||||
# 200| r200_4(char *) = Convert : r200_3
|
||||
# 200| r200_5(int) = Call : func:r200_1, 0:r200_4
|
||||
# 200| r200_5(int) = Call[strlen] : func:r200_1, 0:r200_4
|
||||
# 200| v200_6(void) = ^BufferReadSideEffect[0] : &:r200_4, ~m198_8
|
||||
# 200| r200_7(glval<int>) = VariableAddress[ret] :
|
||||
# 200| r200_8(int) = Load : &:r200_7, m199_12
|
||||
@@ -860,7 +860,7 @@ ssa.cpp:
|
||||
# 201| r201_1(glval<unknown>) = FunctionAddress[abs] :
|
||||
# 201| r201_2(glval<int>) = VariableAddress[x] :
|
||||
# 201| r201_3(int) = Load : &:r201_2, m198_14
|
||||
# 201| r201_4(int) = Call : func:r201_1, 0:r201_3
|
||||
# 201| r201_4(int) = Call[abs] : 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
|
||||
@@ -894,7 +894,7 @@ ssa.cpp:
|
||||
# 209| r209_6(int *) = CopyValue : r209_5
|
||||
# 209| r209_7(void *) = Convert : r209_6
|
||||
# 209| r209_8(int) = Constant[4] :
|
||||
# 209| r209_9(void *) = Call : func:r209_1, 0:r209_4, 1:r209_7, 2:r209_8
|
||||
# 209| r209_9(void *) = Call[memcpy] : func:r209_1, 0:r209_4, 1:r209_7, 2:r209_8
|
||||
# 209| v209_10(void) = ^SizedBufferReadSideEffect[1] : &:r209_7, r209_8, ~m207_6
|
||||
# 209| m209_11(unknown) = ^SizedBufferMustWriteSideEffect[0] : &:r209_4, r209_8
|
||||
# 209| m209_12(int) = Chi : total:m208_2, partial:m209_11
|
||||
@@ -981,7 +981,7 @@ ssa.cpp:
|
||||
# 226| m226_3(unknown) = InitializeNonLocal :
|
||||
# 226| m226_4(unknown) = Chi : total:m226_2, partial:m226_3
|
||||
# 227| r227_1(glval<unknown>) = FunctionAddress[ExternalFunc] :
|
||||
# 227| v227_2(void) = Call : func:r227_1
|
||||
# 227| v227_2(void) = Call[ExternalFunc] : func:r227_1
|
||||
# 227| m227_3(unknown) = ^CallSideEffect : ~m226_4
|
||||
# 227| m227_4(unknown) = Chi : total:m226_4, partial:m227_3
|
||||
# 229| r229_1(glval<char *>) = VariableAddress[s] :
|
||||
@@ -1044,14 +1044,14 @@ ssa.cpp:
|
||||
# 240| m240_2(Constructible) = Uninitialized[c] : &:r240_1
|
||||
# 240| r240_3(glval<unknown>) = FunctionAddress[Constructible] :
|
||||
# 240| r240_4(int) = Constant[1] :
|
||||
# 240| v240_5(void) = Call : func:r240_3, this:r240_1, 0:r240_4
|
||||
# 240| v240_5(void) = Call[Constructible] : func:r240_3, this:r240_1, 0:r240_4
|
||||
# 240| m240_6(unknown) = ^CallSideEffect : ~m239_4
|
||||
# 240| m240_7(unknown) = Chi : total:m239_4, partial:m240_6
|
||||
# 240| m240_8(Constructible) = ^IndirectMayWriteSideEffect[-1] : &:r240_1
|
||||
# 240| m240_9(Constructible) = Chi : total:m240_2, partial:m240_8
|
||||
# 241| r241_1(glval<Constructible>) = VariableAddress[c] :
|
||||
# 241| r241_2(glval<unknown>) = FunctionAddress[g] :
|
||||
# 241| v241_3(void) = Call : func:r241_2, this:r241_1
|
||||
# 241| v241_3(void) = Call[g] : func:r241_2, this:r241_1
|
||||
# 241| m241_4(unknown) = ^CallSideEffect : ~m240_7
|
||||
# 241| m241_5(unknown) = Chi : total:m240_7, partial:m241_4
|
||||
# 241| v241_6(void) = ^BufferReadSideEffect[-1] : &:r241_1, ~m240_9
|
||||
@@ -1059,7 +1059,7 @@ ssa.cpp:
|
||||
# 241| m241_8(Constructible) = Chi : total:m240_9, partial:m241_7
|
||||
# 242| r242_1(glval<Constructible>) = VariableAddress[c] :
|
||||
# 242| r242_2(glval<unknown>) = FunctionAddress[g] :
|
||||
# 242| v242_3(void) = Call : func:r242_2, this:r242_1
|
||||
# 242| v242_3(void) = Call[g] : func:r242_2, this:r242_1
|
||||
# 242| m242_4(unknown) = ^CallSideEffect : ~m241_5
|
||||
# 242| m242_5(unknown) = Chi : total:m241_5, partial:m242_4
|
||||
# 242| v242_6(void) = ^BufferReadSideEffect[-1] : &:r242_1, ~m241_8
|
||||
@@ -1069,14 +1069,14 @@ ssa.cpp:
|
||||
# 243| m243_2(Constructible) = Uninitialized[c2] : &:r243_1
|
||||
# 243| r243_3(glval<unknown>) = FunctionAddress[Constructible] :
|
||||
# 243| r243_4(int) = Constant[2] :
|
||||
# 243| v243_5(void) = Call : func:r243_3, this:r243_1, 0:r243_4
|
||||
# 243| v243_5(void) = Call[Constructible] : func:r243_3, this:r243_1, 0:r243_4
|
||||
# 243| m243_6(unknown) = ^CallSideEffect : ~m242_5
|
||||
# 243| m243_7(unknown) = Chi : total:m242_5, partial:m243_6
|
||||
# 243| m243_8(Constructible) = ^IndirectMayWriteSideEffect[-1] : &:r243_1
|
||||
# 243| m243_9(Constructible) = Chi : total:m243_2, partial:m243_8
|
||||
# 244| r244_1(glval<Constructible>) = VariableAddress[c2] :
|
||||
# 244| r244_2(glval<unknown>) = FunctionAddress[g] :
|
||||
# 244| v244_3(void) = Call : func:r244_2, this:r244_1
|
||||
# 244| v244_3(void) = Call[g] : func:r244_2, this:r244_1
|
||||
# 244| m244_4(unknown) = ^CallSideEffect : ~m243_7
|
||||
# 244| m244_5(unknown) = Chi : total:m243_7, partial:m244_4
|
||||
# 244| v244_6(void) = ^BufferReadSideEffect[-1] : &:r244_1, ~m243_9
|
||||
@@ -1106,7 +1106,7 @@ ssa.cpp:
|
||||
# 248| r248_5(unsigned long) = Convert : r248_4
|
||||
# 248| r248_6(unsigned long) = Constant[1] :
|
||||
# 248| r248_7(unsigned long) = Mul : r248_5, r248_6
|
||||
# 248| r248_8(void *) = Call : func:r248_2, 0:r248_7
|
||||
# 248| r248_8(void *) = Call[operator new[]] : func:r248_2, 0:r248_7
|
||||
# 248| m248_9(unknown) = ^CallSideEffect : ~m247_4
|
||||
# 248| m248_10(unknown) = Chi : total:m247_4, partial:m248_9
|
||||
# 248| m248_11(unknown) = ^InitializeDynamicAllocation : &:r248_8
|
||||
@@ -1127,7 +1127,7 @@ ssa.cpp:
|
||||
# 250| r250_7(void *) = Convert : r250_6
|
||||
# 250| r250_8(glval<int>) = VariableAddress[size] :
|
||||
# 250| r250_9(int) = Load : &:r250_8, m247_10
|
||||
# 250| r250_10(void *) = Call : func:r250_1, 0:r250_4, 1:r250_7, 2:r250_9
|
||||
# 250| r250_10(void *) = Call[memcpy] : func:r250_1, 0:r250_4, 1:r250_7, 2:r250_9
|
||||
# 250| v250_11(void) = ^SizedBufferReadSideEffect[1] : &:r250_7, r250_9, ~m249_6
|
||||
# 250| m250_12(unknown) = ^SizedBufferMustWriteSideEffect[0] : &:r250_4, r250_9
|
||||
# 250| m250_13(unknown) = Chi : total:m248_11, partial:m250_12
|
||||
@@ -1157,14 +1157,14 @@ ssa.cpp:
|
||||
|
||||
# 256| Block 1
|
||||
# 256| r256_1(glval<unknown>) = FunctionAddress[ExternalFunc] :
|
||||
# 256| v256_2(void) = Call : func:r256_1
|
||||
# 256| v256_2(void) = Call[ExternalFunc] : func:r256_1
|
||||
# 256| m256_3(unknown) = ^CallSideEffect : ~m254_4
|
||||
# 256| m256_4(unknown) = Chi : total:m254_4, partial:m256_3
|
||||
#-----| Goto -> Block 3
|
||||
|
||||
# 259| Block 2
|
||||
# 259| r259_1(glval<unknown>) = FunctionAddress[ExternalFunc] :
|
||||
# 259| v259_2(void) = Call : func:r259_1
|
||||
# 259| v259_2(void) = Call[ExternalFunc] : func:r259_1
|
||||
# 259| m259_3(unknown) = ^CallSideEffect : ~m254_4
|
||||
# 259| m259_4(unknown) = Chi : total:m254_4, partial:m259_3
|
||||
#-----| Goto -> Block 3
|
||||
@@ -1203,7 +1203,7 @@ ssa.cpp:
|
||||
# 269| r269_2(glval<unknown>) = FunctionAddress[malloc] :
|
||||
# 269| r269_3(glval<int>) = VariableAddress[size] :
|
||||
# 269| r269_4(int) = Load : &:r269_3, m268_10
|
||||
# 269| r269_5(void *) = Call : func:r269_2, 0:r269_4
|
||||
# 269| r269_5(void *) = Call[malloc] : func:r269_2, 0:r269_4
|
||||
# 269| m269_6(unknown) = ^CallSideEffect : ~m268_4
|
||||
# 269| m269_7(unknown) = Chi : total:m268_4, partial:m269_6
|
||||
# 269| m269_8(unknown) = ^InitializeDynamicAllocation : &:r269_5
|
||||
@@ -1215,7 +1215,7 @@ ssa.cpp:
|
||||
# 270| r270_5(void *) = Load : &:r270_4, m268_6
|
||||
# 270| r270_6(glval<int>) = VariableAddress[size] :
|
||||
# 270| r270_7(int) = Load : &:r270_6, m268_10
|
||||
# 270| r270_8(void *) = Call : func:r270_1, 0:r270_3, 1:r270_5, 2:r270_7
|
||||
# 270| r270_8(void *) = Call[memcpy] : func:r270_1, 0:r270_3, 1:r270_5, 2:r270_7
|
||||
# 270| v270_9(void) = ^SizedBufferReadSideEffect[1] : &:r270_5, r270_7, ~m268_8
|
||||
# 270| m270_10(unknown) = ^SizedBufferMustWriteSideEffect[0] : &:r270_3, r270_7
|
||||
# 270| m270_11(unknown) = Chi : total:m269_8, partial:m270_10
|
||||
@@ -1350,7 +1350,7 @@ ssa.cpp:
|
||||
# 292| r292_1(glval<Point *>) = VariableAddress[p] :
|
||||
# 292| r292_2(glval<unknown>) = FunctionAddress[operator new] :
|
||||
# 292| r292_3(unsigned long) = Constant[8] :
|
||||
# 292| r292_4(void *) = Call : func:r292_2, 0:r292_3
|
||||
# 292| r292_4(void *) = Call[operator new] : func:r292_2, 0:r292_3
|
||||
# 292| m292_5(unknown) = ^CallSideEffect : ~m291_4
|
||||
# 292| m292_6(unknown) = Chi : total:m291_4, partial:m292_5
|
||||
# 292| m292_7(unknown) = ^InitializeDynamicAllocation : &:r292_4
|
||||
@@ -1359,7 +1359,7 @@ ssa.cpp:
|
||||
# 293| r293_1(glval<Point *>) = VariableAddress[q] :
|
||||
# 293| r293_2(glval<unknown>) = FunctionAddress[operator new] :
|
||||
# 293| r293_3(unsigned long) = Constant[8] :
|
||||
# 293| r293_4(void *) = Call : func:r293_2, 0:r293_3
|
||||
# 293| r293_4(void *) = Call[operator new] : func:r293_2, 0:r293_3
|
||||
# 293| m293_5(unknown) = ^CallSideEffect : ~m292_6
|
||||
# 293| m293_6(unknown) = Chi : total:m292_6, partial:m293_5
|
||||
# 293| m293_7(unknown) = ^InitializeDynamicAllocation : &:r293_4
|
||||
@@ -1368,7 +1368,7 @@ ssa.cpp:
|
||||
# 294| r294_1(glval<int>) = VariableAddress[j] :
|
||||
# 294| r294_2(glval<unknown>) = FunctionAddress[operator new] :
|
||||
# 294| r294_3(unsigned long) = Constant[4] :
|
||||
# 294| r294_4(void *) = Call : func:r294_2, 0:r294_3
|
||||
# 294| r294_4(void *) = Call[operator new] : func:r294_2, 0:r294_3
|
||||
# 294| m294_5(unknown) = ^CallSideEffect : ~m293_6
|
||||
# 294| m294_6(unknown) = Chi : total:m293_6, partial:m294_5
|
||||
# 294| m294_7(unknown) = ^InitializeDynamicAllocation : &:r294_4
|
||||
@@ -1376,7 +1376,7 @@ ssa.cpp:
|
||||
# 294| r294_9(glval<unknown>) = FunctionAddress[A] :
|
||||
# 294| r294_10(glval<unknown>) = FunctionAddress[operator new] :
|
||||
# 294| r294_11(unsigned long) = Constant[4] :
|
||||
# 294| r294_12(void *) = Call : func:r294_10, 0:r294_11
|
||||
# 294| r294_12(void *) = Call[operator new] : func:r294_10, 0:r294_11
|
||||
# 294| m294_13(unknown) = ^CallSideEffect : ~m294_6
|
||||
# 294| m294_14(unknown) = Chi : total:m294_6, partial:m294_13
|
||||
# 294| m294_15(unknown) = ^InitializeDynamicAllocation : &:r294_12
|
||||
@@ -1384,12 +1384,12 @@ ssa.cpp:
|
||||
# 294| r294_17(glval<unknown>) = FunctionAddress[A] :
|
||||
# 294| r294_18(glval<int>) = VariableAddress[x] :
|
||||
# 294| r294_19(int) = Load : &:r294_18, m291_6
|
||||
# 294| v294_20(void) = Call : func:r294_17, this:r294_16, 0:r294_19
|
||||
# 294| v294_20(void) = Call[A] : func:r294_17, this:r294_16, 0:r294_19
|
||||
# 294| m294_21(unknown) = ^CallSideEffect : ~m294_14
|
||||
# 294| m294_22(unknown) = Chi : total:m294_14, partial:m294_21
|
||||
# 294| m294_23(A) = ^IndirectMayWriteSideEffect[-1] : &:r294_16
|
||||
# 294| m294_24(unknown) = Chi : total:m294_15, partial:m294_23
|
||||
# 294| v294_25(void) = Call : func:r294_9, this:r294_8, 0:r294_16
|
||||
# 294| v294_25(void) = Call[A] : func:r294_9, this:r294_8, 0:r294_16
|
||||
# 294| m294_26(unknown) = ^CallSideEffect : ~m294_22
|
||||
# 294| m294_27(unknown) = Chi : total:m294_22, partial:m294_26
|
||||
# 294| m294_28(A) = ^IndirectMayWriteSideEffect[-1] : &:r294_8
|
||||
@@ -1403,13 +1403,13 @@ ssa.cpp:
|
||||
# 295| r295_1(glval<A *>) = VariableAddress[a] :
|
||||
# 295| r295_2(glval<unknown>) = FunctionAddress[operator new] :
|
||||
# 295| r295_3(unsigned long) = Constant[4] :
|
||||
# 295| r295_4(void *) = Call : func:r295_2, 0:r295_3
|
||||
# 295| r295_4(void *) = Call[operator new] : func:r295_2, 0:r295_3
|
||||
# 295| m295_5(unknown) = ^CallSideEffect : ~m294_27
|
||||
# 295| m295_6(unknown) = Chi : total:m294_27, partial:m295_5
|
||||
# 295| m295_7(unknown) = ^InitializeDynamicAllocation : &:r295_4
|
||||
# 295| r295_8(A *) = Convert : r295_4
|
||||
# 295| r295_9(glval<unknown>) = FunctionAddress[A] :
|
||||
# 295| v295_10(void) = Call : func:r295_9, this:r295_8
|
||||
# 295| v295_10(void) = Call[A] : func:r295_9, this:r295_8
|
||||
# 295| m295_11(unknown) = ^CallSideEffect : ~m295_6
|
||||
# 295| m295_12(unknown) = Chi : total:m295_6, partial:m295_11
|
||||
# 295| m295_13(A) = ^IndirectMayWriteSideEffect[-1] : &:r295_8
|
||||
@@ -1441,7 +1441,7 @@ ssa.cpp:
|
||||
# 302| r302_3(int) = Load : &:r302_2, m301_6
|
||||
# 302| r302_4(glval<char **>) = VariableAddress[argv] :
|
||||
# 302| r302_5(char **) = Load : &:r302_4, m301_8
|
||||
# 302| v302_6(void) = Call : func:r302_1, 0:r302_3, 1:r302_5
|
||||
# 302| v302_6(void) = Call[unknownFunction] : func:r302_1, 0:r302_3, 1:r302_5
|
||||
# 302| m302_7(unknown) = ^CallSideEffect : ~m301_4
|
||||
# 302| m302_8(unknown) = Chi : total:m301_4, partial:m302_7
|
||||
# 302| v302_9(void) = ^BufferReadSideEffect[1] : &:r302_5, ~m301_10
|
||||
@@ -1452,7 +1452,7 @@ ssa.cpp:
|
||||
# 303| r303_3(int) = Load : &:r303_2, m301_6
|
||||
# 303| r303_4(glval<char **>) = VariableAddress[argv] :
|
||||
# 303| r303_5(char **) = Load : &:r303_4, m301_8
|
||||
# 303| v303_6(void) = Call : func:r303_1, 0:r303_3, 1:r303_5
|
||||
# 303| v303_6(void) = Call[unknownFunction] : func:r303_1, 0:r303_3, 1:r303_5
|
||||
# 303| m303_7(unknown) = ^CallSideEffect : ~m302_8
|
||||
# 303| m303_8(unknown) = Chi : total:m302_8, partial:m303_7
|
||||
# 303| v303_9(void) = ^BufferReadSideEffect[1] : &:r303_5, ~m302_11
|
||||
|
||||
@@ -334,7 +334,7 @@ ssa.cpp:
|
||||
# 97| r97_2(glval<Point>) = VariableAddress[a] :
|
||||
# 97| r97_3(Point *) = CopyValue : r97_2
|
||||
# 97| r97_4(void *) = Convert : r97_3
|
||||
# 97| v97_5(void) = Call : func:r97_1, 0:r97_4
|
||||
# 97| v97_5(void) = Call[Escape] : func:r97_1, 0:r97_4
|
||||
# 97| mu97_6(unknown) = ^CallSideEffect : ~m?
|
||||
# 97| v97_7(void) = ^BufferReadSideEffect[0] : &:r97_4, ~m?
|
||||
# 97| mu97_8(unknown) = ^BufferMayWriteSideEffect[0] : &:r97_4
|
||||
@@ -386,7 +386,7 @@ ssa.cpp:
|
||||
# 108| r108_2(glval<Point>) = VariableAddress[a] :
|
||||
# 108| r108_3(Point *) = CopyValue : r108_2
|
||||
# 108| r108_4(void *) = Convert : r108_3
|
||||
# 108| v108_5(void) = Call : func:r108_1, 0:r108_4
|
||||
# 108| v108_5(void) = Call[Escape] : func:r108_1, 0:r108_4
|
||||
# 108| mu108_6(unknown) = ^CallSideEffect : ~m?
|
||||
# 108| v108_7(void) = ^BufferReadSideEffect[0] : &:r108_4, ~m?
|
||||
# 108| mu108_8(unknown) = ^BufferMayWriteSideEffect[0] : &:r108_4
|
||||
@@ -450,7 +450,7 @@ ssa.cpp:
|
||||
# 119| r119_2(glval<Point>) = VariableAddress[a] :
|
||||
# 119| r119_3(Point *) = CopyValue : r119_2
|
||||
# 119| r119_4(void *) = Convert : r119_3
|
||||
# 119| v119_5(void) = Call : func:r119_1, 0:r119_4
|
||||
# 119| v119_5(void) = Call[Escape] : func:r119_1, 0:r119_4
|
||||
# 119| mu119_6(unknown) = ^CallSideEffect : ~m?
|
||||
# 119| v119_7(void) = ^BufferReadSideEffect[0] : &:r119_4, ~m?
|
||||
# 119| mu119_8(unknown) = ^BufferMayWriteSideEffect[0] : &:r119_4
|
||||
@@ -789,7 +789,7 @@ ssa.cpp:
|
||||
# 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| r199_9(int) = Call[strcmp] : func:r199_2, 0:r199_5, 1:r199_8
|
||||
# 199| v199_10(void) = ^BufferReadSideEffect[0] : &:r199_5, ~m?
|
||||
# 199| v199_11(void) = ^BufferReadSideEffect[1] : &:r199_8, ~m?
|
||||
# 199| m199_12(int) = Store : &:r199_1, r199_9
|
||||
@@ -797,7 +797,7 @@ ssa.cpp:
|
||||
# 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| r200_5(int) = Call[strlen] : func:r200_1, 0:r200_4
|
||||
# 200| v200_6(void) = ^BufferReadSideEffect[0] : &:r200_4, ~m?
|
||||
# 200| r200_7(glval<int>) = VariableAddress[ret] :
|
||||
# 200| r200_8(int) = Load : &:r200_7, m199_12
|
||||
@@ -806,7 +806,7 @@ ssa.cpp:
|
||||
# 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_4(int) = Call[abs] : 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
|
||||
@@ -839,7 +839,7 @@ ssa.cpp:
|
||||
# 209| r209_6(int *) = CopyValue : r209_5
|
||||
# 209| r209_7(void *) = Convert : r209_6
|
||||
# 209| r209_8(int) = Constant[4] :
|
||||
# 209| r209_9(void *) = Call : func:r209_1, 0:r209_4, 1:r209_7, 2:r209_8
|
||||
# 209| r209_9(void *) = Call[memcpy] : func:r209_1, 0:r209_4, 1:r209_7, 2:r209_8
|
||||
# 209| v209_10(void) = ^SizedBufferReadSideEffect[1] : &:r209_7, r209_8, ~m?
|
||||
# 209| mu209_11(unknown) = ^SizedBufferMustWriteSideEffect[0] : &:r209_4, r209_8
|
||||
# 210| r210_1(glval<int>) = VariableAddress[#return] :
|
||||
@@ -917,7 +917,7 @@ ssa.cpp:
|
||||
# 226| mu226_2(unknown) = AliasedDefinition :
|
||||
# 226| mu226_3(unknown) = InitializeNonLocal :
|
||||
# 227| r227_1(glval<unknown>) = FunctionAddress[ExternalFunc] :
|
||||
# 227| v227_2(void) = Call : func:r227_1
|
||||
# 227| v227_2(void) = Call[ExternalFunc] : func:r227_1
|
||||
# 227| mu227_3(unknown) = ^CallSideEffect : ~m?
|
||||
# 229| r229_1(glval<char *>) = VariableAddress[s] :
|
||||
# 229| r229_2(glval<char[8]>) = StringConstant["Literal"] :
|
||||
@@ -976,18 +976,18 @@ ssa.cpp:
|
||||
# 240| mu240_2(Constructible) = Uninitialized[c] : &:r240_1
|
||||
# 240| r240_3(glval<unknown>) = FunctionAddress[Constructible] :
|
||||
# 240| r240_4(int) = Constant[1] :
|
||||
# 240| v240_5(void) = Call : func:r240_3, this:r240_1, 0:r240_4
|
||||
# 240| v240_5(void) = Call[Constructible] : func:r240_3, this:r240_1, 0:r240_4
|
||||
# 240| mu240_6(unknown) = ^CallSideEffect : ~m?
|
||||
# 240| mu240_7(Constructible) = ^IndirectMayWriteSideEffect[-1] : &:r240_1
|
||||
# 241| r241_1(glval<Constructible>) = VariableAddress[c] :
|
||||
# 241| r241_2(glval<unknown>) = FunctionAddress[g] :
|
||||
# 241| v241_3(void) = Call : func:r241_2, this:r241_1
|
||||
# 241| v241_3(void) = Call[g] : func:r241_2, this:r241_1
|
||||
# 241| mu241_4(unknown) = ^CallSideEffect : ~m?
|
||||
# 241| v241_5(void) = ^BufferReadSideEffect[-1] : &:r241_1, ~m?
|
||||
# 241| mu241_6(Constructible) = ^IndirectMayWriteSideEffect[-1] : &:r241_1
|
||||
# 242| r242_1(glval<Constructible>) = VariableAddress[c] :
|
||||
# 242| r242_2(glval<unknown>) = FunctionAddress[g] :
|
||||
# 242| v242_3(void) = Call : func:r242_2, this:r242_1
|
||||
# 242| v242_3(void) = Call[g] : func:r242_2, this:r242_1
|
||||
# 242| mu242_4(unknown) = ^CallSideEffect : ~m?
|
||||
# 242| v242_5(void) = ^BufferReadSideEffect[-1] : &:r242_1, ~m?
|
||||
# 242| mu242_6(Constructible) = ^IndirectMayWriteSideEffect[-1] : &:r242_1
|
||||
@@ -995,12 +995,12 @@ ssa.cpp:
|
||||
# 243| mu243_2(Constructible) = Uninitialized[c2] : &:r243_1
|
||||
# 243| r243_3(glval<unknown>) = FunctionAddress[Constructible] :
|
||||
# 243| r243_4(int) = Constant[2] :
|
||||
# 243| v243_5(void) = Call : func:r243_3, this:r243_1, 0:r243_4
|
||||
# 243| v243_5(void) = Call[Constructible] : func:r243_3, this:r243_1, 0:r243_4
|
||||
# 243| mu243_6(unknown) = ^CallSideEffect : ~m?
|
||||
# 243| mu243_7(Constructible) = ^IndirectMayWriteSideEffect[-1] : &:r243_1
|
||||
# 244| r244_1(glval<Constructible>) = VariableAddress[c2] :
|
||||
# 244| r244_2(glval<unknown>) = FunctionAddress[g] :
|
||||
# 244| v244_3(void) = Call : func:r244_2, this:r244_1
|
||||
# 244| v244_3(void) = Call[g] : func:r244_2, this:r244_1
|
||||
# 244| mu244_4(unknown) = ^CallSideEffect : ~m?
|
||||
# 244| v244_5(void) = ^BufferReadSideEffect[-1] : &:r244_1, ~m?
|
||||
# 244| mu244_6(Constructible) = ^IndirectMayWriteSideEffect[-1] : &:r244_1
|
||||
@@ -1027,7 +1027,7 @@ ssa.cpp:
|
||||
# 248| r248_5(unsigned long) = Convert : r248_4
|
||||
# 248| r248_6(unsigned long) = Constant[1] :
|
||||
# 248| r248_7(unsigned long) = Mul : r248_5, r248_6
|
||||
# 248| r248_8(void *) = Call : func:r248_2, 0:r248_7
|
||||
# 248| r248_8(void *) = Call[operator new[]] : func:r248_2, 0:r248_7
|
||||
# 248| mu248_9(unknown) = ^CallSideEffect : ~m?
|
||||
# 248| mu248_10(unknown) = ^InitializeDynamicAllocation : &:r248_8
|
||||
# 248| r248_11(char *) = Convert : r248_8
|
||||
@@ -1046,7 +1046,7 @@ ssa.cpp:
|
||||
# 250| r250_7(void *) = Convert : r250_6
|
||||
# 250| r250_8(glval<int>) = VariableAddress[size] :
|
||||
# 250| r250_9(int) = Load : &:r250_8, m247_9
|
||||
# 250| r250_10(void *) = Call : func:r250_1, 0:r250_4, 1:r250_7, 2:r250_9
|
||||
# 250| r250_10(void *) = Call[memcpy] : func:r250_1, 0:r250_4, 1:r250_7, 2:r250_9
|
||||
# 250| v250_11(void) = ^SizedBufferReadSideEffect[1] : &:r250_7, r250_9, ~m?
|
||||
# 250| mu250_12(unknown) = ^SizedBufferMustWriteSideEffect[0] : &:r250_4, r250_9
|
||||
# 251| r251_1(glval<char *>) = VariableAddress[#return] :
|
||||
@@ -1074,13 +1074,13 @@ ssa.cpp:
|
||||
|
||||
# 256| Block 1
|
||||
# 256| r256_1(glval<unknown>) = FunctionAddress[ExternalFunc] :
|
||||
# 256| v256_2(void) = Call : func:r256_1
|
||||
# 256| v256_2(void) = Call[ExternalFunc] : func:r256_1
|
||||
# 256| mu256_3(unknown) = ^CallSideEffect : ~m?
|
||||
#-----| Goto -> Block 3
|
||||
|
||||
# 259| Block 2
|
||||
# 259| r259_1(glval<unknown>) = FunctionAddress[ExternalFunc] :
|
||||
# 259| v259_2(void) = Call : func:r259_1
|
||||
# 259| v259_2(void) = Call[ExternalFunc] : func:r259_1
|
||||
# 259| mu259_3(unknown) = ^CallSideEffect : ~m?
|
||||
#-----| Goto -> Block 3
|
||||
|
||||
@@ -1116,7 +1116,7 @@ ssa.cpp:
|
||||
# 269| r269_2(glval<unknown>) = FunctionAddress[malloc] :
|
||||
# 269| r269_3(glval<int>) = VariableAddress[size] :
|
||||
# 269| r269_4(int) = Load : &:r269_3, m268_9
|
||||
# 269| r269_5(void *) = Call : func:r269_2, 0:r269_4
|
||||
# 269| r269_5(void *) = Call[malloc] : func:r269_2, 0:r269_4
|
||||
# 269| mu269_6(unknown) = ^CallSideEffect : ~m?
|
||||
# 269| mu269_7(unknown) = ^InitializeDynamicAllocation : &:r269_5
|
||||
# 269| m269_8(void *) = Store : &:r269_1, r269_5
|
||||
@@ -1127,7 +1127,7 @@ ssa.cpp:
|
||||
# 270| r270_5(void *) = Load : &:r270_4, m268_5
|
||||
# 270| r270_6(glval<int>) = VariableAddress[size] :
|
||||
# 270| r270_7(int) = Load : &:r270_6, m268_9
|
||||
# 270| r270_8(void *) = Call : func:r270_1, 0:r270_3, 1:r270_5, 2:r270_7
|
||||
# 270| r270_8(void *) = Call[memcpy] : func:r270_1, 0:r270_3, 1:r270_5, 2:r270_7
|
||||
# 270| v270_9(void) = ^SizedBufferReadSideEffect[1] : &:r270_5, r270_7, ~m?
|
||||
# 270| mu270_10(unknown) = ^SizedBufferMustWriteSideEffect[0] : &:r270_3, r270_7
|
||||
# 271| r271_1(glval<void *>) = VariableAddress[#return] :
|
||||
@@ -1250,7 +1250,7 @@ ssa.cpp:
|
||||
# 292| r292_1(glval<Point *>) = VariableAddress[p] :
|
||||
# 292| r292_2(glval<unknown>) = FunctionAddress[operator new] :
|
||||
# 292| r292_3(unsigned long) = Constant[8] :
|
||||
# 292| r292_4(void *) = Call : func:r292_2, 0:r292_3
|
||||
# 292| r292_4(void *) = Call[operator new] : func:r292_2, 0:r292_3
|
||||
# 292| mu292_5(unknown) = ^CallSideEffect : ~m?
|
||||
# 292| mu292_6(unknown) = ^InitializeDynamicAllocation : &:r292_4
|
||||
# 292| r292_7(Point *) = Convert : r292_4
|
||||
@@ -1258,7 +1258,7 @@ ssa.cpp:
|
||||
# 293| r293_1(glval<Point *>) = VariableAddress[q] :
|
||||
# 293| r293_2(glval<unknown>) = FunctionAddress[operator new] :
|
||||
# 293| r293_3(unsigned long) = Constant[8] :
|
||||
# 293| r293_4(void *) = Call : func:r293_2, 0:r293_3
|
||||
# 293| r293_4(void *) = Call[operator new] : func:r293_2, 0:r293_3
|
||||
# 293| mu293_5(unknown) = ^CallSideEffect : ~m?
|
||||
# 293| mu293_6(unknown) = ^InitializeDynamicAllocation : &:r293_4
|
||||
# 293| r293_7(Point *) = Convert : r293_4
|
||||
@@ -1266,24 +1266,24 @@ ssa.cpp:
|
||||
# 294| r294_1(glval<int>) = VariableAddress[j] :
|
||||
# 294| r294_2(glval<unknown>) = FunctionAddress[operator new] :
|
||||
# 294| r294_3(unsigned long) = Constant[4] :
|
||||
# 294| r294_4(void *) = Call : func:r294_2, 0:r294_3
|
||||
# 294| r294_4(void *) = Call[operator new] : func:r294_2, 0:r294_3
|
||||
# 294| mu294_5(unknown) = ^CallSideEffect : ~m?
|
||||
# 294| mu294_6(unknown) = ^InitializeDynamicAllocation : &:r294_4
|
||||
# 294| r294_7(A *) = Convert : r294_4
|
||||
# 294| r294_8(glval<unknown>) = FunctionAddress[A] :
|
||||
# 294| r294_9(glval<unknown>) = FunctionAddress[operator new] :
|
||||
# 294| r294_10(unsigned long) = Constant[4] :
|
||||
# 294| r294_11(void *) = Call : func:r294_9, 0:r294_10
|
||||
# 294| r294_11(void *) = Call[operator new] : func:r294_9, 0:r294_10
|
||||
# 294| mu294_12(unknown) = ^CallSideEffect : ~m?
|
||||
# 294| mu294_13(unknown) = ^InitializeDynamicAllocation : &:r294_11
|
||||
# 294| r294_14(A *) = Convert : r294_11
|
||||
# 294| r294_15(glval<unknown>) = FunctionAddress[A] :
|
||||
# 294| r294_16(glval<int>) = VariableAddress[x] :
|
||||
# 294| r294_17(int) = Load : &:r294_16, m291_5
|
||||
# 294| v294_18(void) = Call : func:r294_15, this:r294_14, 0:r294_17
|
||||
# 294| v294_18(void) = Call[A] : func:r294_15, this:r294_14, 0:r294_17
|
||||
# 294| mu294_19(unknown) = ^CallSideEffect : ~m?
|
||||
# 294| mu294_20(A) = ^IndirectMayWriteSideEffect[-1] : &:r294_14
|
||||
# 294| v294_21(void) = Call : func:r294_8, this:r294_7, 0:r294_14
|
||||
# 294| v294_21(void) = Call[A] : func:r294_8, this:r294_7, 0:r294_14
|
||||
# 294| mu294_22(unknown) = ^CallSideEffect : ~m?
|
||||
# 294| mu294_23(A) = ^IndirectMayWriteSideEffect[-1] : &:r294_7
|
||||
# 294| v294_24(void) = ^BufferReadSideEffect[0] : &:r294_14, ~m?
|
||||
@@ -1294,12 +1294,12 @@ ssa.cpp:
|
||||
# 295| r295_1(glval<A *>) = VariableAddress[a] :
|
||||
# 295| r295_2(glval<unknown>) = FunctionAddress[operator new] :
|
||||
# 295| r295_3(unsigned long) = Constant[4] :
|
||||
# 295| r295_4(void *) = Call : func:r295_2, 0:r295_3
|
||||
# 295| r295_4(void *) = Call[operator new] : func:r295_2, 0:r295_3
|
||||
# 295| mu295_5(unknown) = ^CallSideEffect : ~m?
|
||||
# 295| mu295_6(unknown) = ^InitializeDynamicAllocation : &:r295_4
|
||||
# 295| r295_7(A *) = Convert : r295_4
|
||||
# 295| r295_8(glval<unknown>) = FunctionAddress[A] :
|
||||
# 295| v295_9(void) = Call : func:r295_8, this:r295_7
|
||||
# 295| v295_9(void) = Call[A] : func:r295_8, this:r295_7
|
||||
# 295| mu295_10(unknown) = ^CallSideEffect : ~m?
|
||||
# 295| mu295_11(A) = ^IndirectMayWriteSideEffect[-1] : &:r295_7
|
||||
# 295| m295_12(A *) = Store : &:r295_1, r295_7
|
||||
@@ -1328,7 +1328,7 @@ ssa.cpp:
|
||||
# 302| r302_3(int) = Load : &:r302_2, m301_5
|
||||
# 302| r302_4(glval<char **>) = VariableAddress[argv] :
|
||||
# 302| r302_5(char **) = Load : &:r302_4, m301_7
|
||||
# 302| v302_6(void) = Call : func:r302_1, 0:r302_3, 1:r302_5
|
||||
# 302| v302_6(void) = Call[unknownFunction] : func:r302_1, 0:r302_3, 1:r302_5
|
||||
# 302| mu302_7(unknown) = ^CallSideEffect : ~m?
|
||||
# 302| v302_8(void) = ^BufferReadSideEffect[1] : &:r302_5, ~m?
|
||||
# 302| mu302_9(unknown) = ^BufferMayWriteSideEffect[1] : &:r302_5
|
||||
@@ -1337,7 +1337,7 @@ ssa.cpp:
|
||||
# 303| r303_3(int) = Load : &:r303_2, m301_5
|
||||
# 303| r303_4(glval<char **>) = VariableAddress[argv] :
|
||||
# 303| r303_5(char **) = Load : &:r303_4, m301_7
|
||||
# 303| v303_6(void) = Call : func:r303_1, 0:r303_3, 1:r303_5
|
||||
# 303| v303_6(void) = Call[unknownFunction] : func:r303_1, 0:r303_3, 1:r303_5
|
||||
# 303| mu303_7(unknown) = ^CallSideEffect : ~m?
|
||||
# 303| v303_8(void) = ^BufferReadSideEffect[1] : &:r303_5, ~m?
|
||||
# 303| mu303_9(unknown) = ^BufferMayWriteSideEffect[1] : &:r303_5
|
||||
|
||||
@@ -334,7 +334,7 @@ ssa.cpp:
|
||||
# 97| r97_2(glval<Point>) = VariableAddress[a] :
|
||||
# 97| r97_3(Point *) = CopyValue : r97_2
|
||||
# 97| r97_4(void *) = Convert : r97_3
|
||||
# 97| v97_5(void) = Call : func:r97_1, 0:r97_4
|
||||
# 97| v97_5(void) = Call[Escape] : func:r97_1, 0:r97_4
|
||||
# 97| mu97_6(unknown) = ^CallSideEffect : ~m?
|
||||
# 97| v97_7(void) = ^BufferReadSideEffect[0] : &:r97_4, ~m?
|
||||
# 97| mu97_8(unknown) = ^BufferMayWriteSideEffect[0] : &:r97_4
|
||||
@@ -386,7 +386,7 @@ ssa.cpp:
|
||||
# 108| r108_2(glval<Point>) = VariableAddress[a] :
|
||||
# 108| r108_3(Point *) = CopyValue : r108_2
|
||||
# 108| r108_4(void *) = Convert : r108_3
|
||||
# 108| v108_5(void) = Call : func:r108_1, 0:r108_4
|
||||
# 108| v108_5(void) = Call[Escape] : func:r108_1, 0:r108_4
|
||||
# 108| mu108_6(unknown) = ^CallSideEffect : ~m?
|
||||
# 108| v108_7(void) = ^BufferReadSideEffect[0] : &:r108_4, ~m?
|
||||
# 108| mu108_8(unknown) = ^BufferMayWriteSideEffect[0] : &:r108_4
|
||||
@@ -450,7 +450,7 @@ ssa.cpp:
|
||||
# 119| r119_2(glval<Point>) = VariableAddress[a] :
|
||||
# 119| r119_3(Point *) = CopyValue : r119_2
|
||||
# 119| r119_4(void *) = Convert : r119_3
|
||||
# 119| v119_5(void) = Call : func:r119_1, 0:r119_4
|
||||
# 119| v119_5(void) = Call[Escape] : func:r119_1, 0:r119_4
|
||||
# 119| mu119_6(unknown) = ^CallSideEffect : ~m?
|
||||
# 119| v119_7(void) = ^BufferReadSideEffect[0] : &:r119_4, ~m?
|
||||
# 119| mu119_8(unknown) = ^BufferMayWriteSideEffect[0] : &:r119_4
|
||||
@@ -789,7 +789,7 @@ ssa.cpp:
|
||||
# 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| r199_9(int) = Call[strcmp] : func:r199_2, 0:r199_5, 1:r199_8
|
||||
# 199| v199_10(void) = ^BufferReadSideEffect[0] : &:r199_5, ~m?
|
||||
# 199| v199_11(void) = ^BufferReadSideEffect[1] : &:r199_8, ~m?
|
||||
# 199| m199_12(int) = Store : &:r199_1, r199_9
|
||||
@@ -797,7 +797,7 @@ ssa.cpp:
|
||||
# 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| r200_5(int) = Call[strlen] : func:r200_1, 0:r200_4
|
||||
# 200| v200_6(void) = ^BufferReadSideEffect[0] : &:r200_4, ~m?
|
||||
# 200| r200_7(glval<int>) = VariableAddress[ret] :
|
||||
# 200| r200_8(int) = Load : &:r200_7, m199_12
|
||||
@@ -806,7 +806,7 @@ ssa.cpp:
|
||||
# 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_4(int) = Call[abs] : 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
|
||||
@@ -839,7 +839,7 @@ ssa.cpp:
|
||||
# 209| r209_6(int *) = CopyValue : r209_5
|
||||
# 209| r209_7(void *) = Convert : r209_6
|
||||
# 209| r209_8(int) = Constant[4] :
|
||||
# 209| r209_9(void *) = Call : func:r209_1, 0:r209_4, 1:r209_7, 2:r209_8
|
||||
# 209| r209_9(void *) = Call[memcpy] : func:r209_1, 0:r209_4, 1:r209_7, 2:r209_8
|
||||
# 209| v209_10(void) = ^SizedBufferReadSideEffect[1] : &:r209_7, r209_8, ~m?
|
||||
# 209| mu209_11(unknown) = ^SizedBufferMustWriteSideEffect[0] : &:r209_4, r209_8
|
||||
# 210| r210_1(glval<int>) = VariableAddress[#return] :
|
||||
@@ -917,7 +917,7 @@ ssa.cpp:
|
||||
# 226| mu226_2(unknown) = AliasedDefinition :
|
||||
# 226| mu226_3(unknown) = InitializeNonLocal :
|
||||
# 227| r227_1(glval<unknown>) = FunctionAddress[ExternalFunc] :
|
||||
# 227| v227_2(void) = Call : func:r227_1
|
||||
# 227| v227_2(void) = Call[ExternalFunc] : func:r227_1
|
||||
# 227| mu227_3(unknown) = ^CallSideEffect : ~m?
|
||||
# 229| r229_1(glval<char *>) = VariableAddress[s] :
|
||||
# 229| r229_2(glval<char[8]>) = StringConstant["Literal"] :
|
||||
@@ -976,18 +976,18 @@ ssa.cpp:
|
||||
# 240| mu240_2(Constructible) = Uninitialized[c] : &:r240_1
|
||||
# 240| r240_3(glval<unknown>) = FunctionAddress[Constructible] :
|
||||
# 240| r240_4(int) = Constant[1] :
|
||||
# 240| v240_5(void) = Call : func:r240_3, this:r240_1, 0:r240_4
|
||||
# 240| v240_5(void) = Call[Constructible] : func:r240_3, this:r240_1, 0:r240_4
|
||||
# 240| mu240_6(unknown) = ^CallSideEffect : ~m?
|
||||
# 240| mu240_7(Constructible) = ^IndirectMayWriteSideEffect[-1] : &:r240_1
|
||||
# 241| r241_1(glval<Constructible>) = VariableAddress[c] :
|
||||
# 241| r241_2(glval<unknown>) = FunctionAddress[g] :
|
||||
# 241| v241_3(void) = Call : func:r241_2, this:r241_1
|
||||
# 241| v241_3(void) = Call[g] : func:r241_2, this:r241_1
|
||||
# 241| mu241_4(unknown) = ^CallSideEffect : ~m?
|
||||
# 241| v241_5(void) = ^BufferReadSideEffect[-1] : &:r241_1, ~m?
|
||||
# 241| mu241_6(Constructible) = ^IndirectMayWriteSideEffect[-1] : &:r241_1
|
||||
# 242| r242_1(glval<Constructible>) = VariableAddress[c] :
|
||||
# 242| r242_2(glval<unknown>) = FunctionAddress[g] :
|
||||
# 242| v242_3(void) = Call : func:r242_2, this:r242_1
|
||||
# 242| v242_3(void) = Call[g] : func:r242_2, this:r242_1
|
||||
# 242| mu242_4(unknown) = ^CallSideEffect : ~m?
|
||||
# 242| v242_5(void) = ^BufferReadSideEffect[-1] : &:r242_1, ~m?
|
||||
# 242| mu242_6(Constructible) = ^IndirectMayWriteSideEffect[-1] : &:r242_1
|
||||
@@ -995,12 +995,12 @@ ssa.cpp:
|
||||
# 243| mu243_2(Constructible) = Uninitialized[c2] : &:r243_1
|
||||
# 243| r243_3(glval<unknown>) = FunctionAddress[Constructible] :
|
||||
# 243| r243_4(int) = Constant[2] :
|
||||
# 243| v243_5(void) = Call : func:r243_3, this:r243_1, 0:r243_4
|
||||
# 243| v243_5(void) = Call[Constructible] : func:r243_3, this:r243_1, 0:r243_4
|
||||
# 243| mu243_6(unknown) = ^CallSideEffect : ~m?
|
||||
# 243| mu243_7(Constructible) = ^IndirectMayWriteSideEffect[-1] : &:r243_1
|
||||
# 244| r244_1(glval<Constructible>) = VariableAddress[c2] :
|
||||
# 244| r244_2(glval<unknown>) = FunctionAddress[g] :
|
||||
# 244| v244_3(void) = Call : func:r244_2, this:r244_1
|
||||
# 244| v244_3(void) = Call[g] : func:r244_2, this:r244_1
|
||||
# 244| mu244_4(unknown) = ^CallSideEffect : ~m?
|
||||
# 244| v244_5(void) = ^BufferReadSideEffect[-1] : &:r244_1, ~m?
|
||||
# 244| mu244_6(Constructible) = ^IndirectMayWriteSideEffect[-1] : &:r244_1
|
||||
@@ -1027,7 +1027,7 @@ ssa.cpp:
|
||||
# 248| r248_5(unsigned long) = Convert : r248_4
|
||||
# 248| r248_6(unsigned long) = Constant[1] :
|
||||
# 248| r248_7(unsigned long) = Mul : r248_5, r248_6
|
||||
# 248| r248_8(void *) = Call : func:r248_2, 0:r248_7
|
||||
# 248| r248_8(void *) = Call[operator new[]] : func:r248_2, 0:r248_7
|
||||
# 248| mu248_9(unknown) = ^CallSideEffect : ~m?
|
||||
# 248| mu248_10(unknown) = ^InitializeDynamicAllocation : &:r248_8
|
||||
# 248| r248_11(char *) = Convert : r248_8
|
||||
@@ -1046,7 +1046,7 @@ ssa.cpp:
|
||||
# 250| r250_7(void *) = Convert : r250_6
|
||||
# 250| r250_8(glval<int>) = VariableAddress[size] :
|
||||
# 250| r250_9(int) = Load : &:r250_8, m247_9
|
||||
# 250| r250_10(void *) = Call : func:r250_1, 0:r250_4, 1:r250_7, 2:r250_9
|
||||
# 250| r250_10(void *) = Call[memcpy] : func:r250_1, 0:r250_4, 1:r250_7, 2:r250_9
|
||||
# 250| v250_11(void) = ^SizedBufferReadSideEffect[1] : &:r250_7, r250_9, ~m?
|
||||
# 250| mu250_12(unknown) = ^SizedBufferMustWriteSideEffect[0] : &:r250_4, r250_9
|
||||
# 251| r251_1(glval<char *>) = VariableAddress[#return] :
|
||||
@@ -1074,13 +1074,13 @@ ssa.cpp:
|
||||
|
||||
# 256| Block 1
|
||||
# 256| r256_1(glval<unknown>) = FunctionAddress[ExternalFunc] :
|
||||
# 256| v256_2(void) = Call : func:r256_1
|
||||
# 256| v256_2(void) = Call[ExternalFunc] : func:r256_1
|
||||
# 256| mu256_3(unknown) = ^CallSideEffect : ~m?
|
||||
#-----| Goto -> Block 3
|
||||
|
||||
# 259| Block 2
|
||||
# 259| r259_1(glval<unknown>) = FunctionAddress[ExternalFunc] :
|
||||
# 259| v259_2(void) = Call : func:r259_1
|
||||
# 259| v259_2(void) = Call[ExternalFunc] : func:r259_1
|
||||
# 259| mu259_3(unknown) = ^CallSideEffect : ~m?
|
||||
#-----| Goto -> Block 3
|
||||
|
||||
@@ -1116,7 +1116,7 @@ ssa.cpp:
|
||||
# 269| r269_2(glval<unknown>) = FunctionAddress[malloc] :
|
||||
# 269| r269_3(glval<int>) = VariableAddress[size] :
|
||||
# 269| r269_4(int) = Load : &:r269_3, m268_9
|
||||
# 269| r269_5(void *) = Call : func:r269_2, 0:r269_4
|
||||
# 269| r269_5(void *) = Call[malloc] : func:r269_2, 0:r269_4
|
||||
# 269| mu269_6(unknown) = ^CallSideEffect : ~m?
|
||||
# 269| mu269_7(unknown) = ^InitializeDynamicAllocation : &:r269_5
|
||||
# 269| m269_8(void *) = Store : &:r269_1, r269_5
|
||||
@@ -1127,7 +1127,7 @@ ssa.cpp:
|
||||
# 270| r270_5(void *) = Load : &:r270_4, m268_5
|
||||
# 270| r270_6(glval<int>) = VariableAddress[size] :
|
||||
# 270| r270_7(int) = Load : &:r270_6, m268_9
|
||||
# 270| r270_8(void *) = Call : func:r270_1, 0:r270_3, 1:r270_5, 2:r270_7
|
||||
# 270| r270_8(void *) = Call[memcpy] : func:r270_1, 0:r270_3, 1:r270_5, 2:r270_7
|
||||
# 270| v270_9(void) = ^SizedBufferReadSideEffect[1] : &:r270_5, r270_7, ~m?
|
||||
# 270| mu270_10(unknown) = ^SizedBufferMustWriteSideEffect[0] : &:r270_3, r270_7
|
||||
# 271| r271_1(glval<void *>) = VariableAddress[#return] :
|
||||
@@ -1250,7 +1250,7 @@ ssa.cpp:
|
||||
# 292| r292_1(glval<Point *>) = VariableAddress[p] :
|
||||
# 292| r292_2(glval<unknown>) = FunctionAddress[operator new] :
|
||||
# 292| r292_3(unsigned long) = Constant[8] :
|
||||
# 292| r292_4(void *) = Call : func:r292_2, 0:r292_3
|
||||
# 292| r292_4(void *) = Call[operator new] : func:r292_2, 0:r292_3
|
||||
# 292| mu292_5(unknown) = ^CallSideEffect : ~m?
|
||||
# 292| mu292_6(unknown) = ^InitializeDynamicAllocation : &:r292_4
|
||||
# 292| r292_7(Point *) = Convert : r292_4
|
||||
@@ -1258,7 +1258,7 @@ ssa.cpp:
|
||||
# 293| r293_1(glval<Point *>) = VariableAddress[q] :
|
||||
# 293| r293_2(glval<unknown>) = FunctionAddress[operator new] :
|
||||
# 293| r293_3(unsigned long) = Constant[8] :
|
||||
# 293| r293_4(void *) = Call : func:r293_2, 0:r293_3
|
||||
# 293| r293_4(void *) = Call[operator new] : func:r293_2, 0:r293_3
|
||||
# 293| mu293_5(unknown) = ^CallSideEffect : ~m?
|
||||
# 293| mu293_6(unknown) = ^InitializeDynamicAllocation : &:r293_4
|
||||
# 293| r293_7(Point *) = Convert : r293_4
|
||||
@@ -1266,24 +1266,24 @@ ssa.cpp:
|
||||
# 294| r294_1(glval<int>) = VariableAddress[j] :
|
||||
# 294| r294_2(glval<unknown>) = FunctionAddress[operator new] :
|
||||
# 294| r294_3(unsigned long) = Constant[4] :
|
||||
# 294| r294_4(void *) = Call : func:r294_2, 0:r294_3
|
||||
# 294| r294_4(void *) = Call[operator new] : func:r294_2, 0:r294_3
|
||||
# 294| mu294_5(unknown) = ^CallSideEffect : ~m?
|
||||
# 294| mu294_6(unknown) = ^InitializeDynamicAllocation : &:r294_4
|
||||
# 294| r294_7(A *) = Convert : r294_4
|
||||
# 294| r294_8(glval<unknown>) = FunctionAddress[A] :
|
||||
# 294| r294_9(glval<unknown>) = FunctionAddress[operator new] :
|
||||
# 294| r294_10(unsigned long) = Constant[4] :
|
||||
# 294| r294_11(void *) = Call : func:r294_9, 0:r294_10
|
||||
# 294| r294_11(void *) = Call[operator new] : func:r294_9, 0:r294_10
|
||||
# 294| mu294_12(unknown) = ^CallSideEffect : ~m?
|
||||
# 294| mu294_13(unknown) = ^InitializeDynamicAllocation : &:r294_11
|
||||
# 294| r294_14(A *) = Convert : r294_11
|
||||
# 294| r294_15(glval<unknown>) = FunctionAddress[A] :
|
||||
# 294| r294_16(glval<int>) = VariableAddress[x] :
|
||||
# 294| r294_17(int) = Load : &:r294_16, m291_5
|
||||
# 294| v294_18(void) = Call : func:r294_15, this:r294_14, 0:r294_17
|
||||
# 294| v294_18(void) = Call[A] : func:r294_15, this:r294_14, 0:r294_17
|
||||
# 294| mu294_19(unknown) = ^CallSideEffect : ~m?
|
||||
# 294| mu294_20(A) = ^IndirectMayWriteSideEffect[-1] : &:r294_14
|
||||
# 294| v294_21(void) = Call : func:r294_8, this:r294_7, 0:r294_14
|
||||
# 294| v294_21(void) = Call[A] : func:r294_8, this:r294_7, 0:r294_14
|
||||
# 294| mu294_22(unknown) = ^CallSideEffect : ~m?
|
||||
# 294| mu294_23(A) = ^IndirectMayWriteSideEffect[-1] : &:r294_7
|
||||
# 294| v294_24(void) = ^BufferReadSideEffect[0] : &:r294_14, ~m?
|
||||
@@ -1294,12 +1294,12 @@ ssa.cpp:
|
||||
# 295| r295_1(glval<A *>) = VariableAddress[a] :
|
||||
# 295| r295_2(glval<unknown>) = FunctionAddress[operator new] :
|
||||
# 295| r295_3(unsigned long) = Constant[4] :
|
||||
# 295| r295_4(void *) = Call : func:r295_2, 0:r295_3
|
||||
# 295| r295_4(void *) = Call[operator new] : func:r295_2, 0:r295_3
|
||||
# 295| mu295_5(unknown) = ^CallSideEffect : ~m?
|
||||
# 295| mu295_6(unknown) = ^InitializeDynamicAllocation : &:r295_4
|
||||
# 295| r295_7(A *) = Convert : r295_4
|
||||
# 295| r295_8(glval<unknown>) = FunctionAddress[A] :
|
||||
# 295| v295_9(void) = Call : func:r295_8, this:r295_7
|
||||
# 295| v295_9(void) = Call[A] : func:r295_8, this:r295_7
|
||||
# 295| mu295_10(unknown) = ^CallSideEffect : ~m?
|
||||
# 295| mu295_11(A) = ^IndirectMayWriteSideEffect[-1] : &:r295_7
|
||||
# 295| m295_12(A *) = Store : &:r295_1, r295_7
|
||||
@@ -1328,7 +1328,7 @@ ssa.cpp:
|
||||
# 302| r302_3(int) = Load : &:r302_2, m301_5
|
||||
# 302| r302_4(glval<char **>) = VariableAddress[argv] :
|
||||
# 302| r302_5(char **) = Load : &:r302_4, m301_7
|
||||
# 302| v302_6(void) = Call : func:r302_1, 0:r302_3, 1:r302_5
|
||||
# 302| v302_6(void) = Call[unknownFunction] : func:r302_1, 0:r302_3, 1:r302_5
|
||||
# 302| mu302_7(unknown) = ^CallSideEffect : ~m?
|
||||
# 302| v302_8(void) = ^BufferReadSideEffect[1] : &:r302_5, ~m?
|
||||
# 302| mu302_9(unknown) = ^BufferMayWriteSideEffect[1] : &:r302_5
|
||||
@@ -1337,7 +1337,7 @@ ssa.cpp:
|
||||
# 303| r303_3(int) = Load : &:r303_2, m301_5
|
||||
# 303| r303_4(glval<char **>) = VariableAddress[argv] :
|
||||
# 303| r303_5(char **) = Load : &:r303_4, m301_7
|
||||
# 303| v303_6(void) = Call : func:r303_1, 0:r303_3, 1:r303_5
|
||||
# 303| v303_6(void) = Call[unknownFunction] : func:r303_1, 0:r303_3, 1:r303_5
|
||||
# 303| mu303_7(unknown) = ^CallSideEffect : ~m?
|
||||
# 303| v303_8(void) = ^BufferReadSideEffect[1] : &:r303_5, ~m?
|
||||
# 303| mu303_9(unknown) = ^BufferMayWriteSideEffect[1] : &:r303_5
|
||||
|
||||
@@ -202,7 +202,7 @@ test.cpp:
|
||||
# 29| valnum = m29_10, r29_8
|
||||
# 30| r30_1(glval<unknown>) = FunctionAddress[change_global02] :
|
||||
# 30| valnum = unique
|
||||
# 30| v30_2(void) = Call : func:r30_1
|
||||
# 30| v30_2(void) = Call[change_global02] : func:r30_1
|
||||
# 30| m30_3(unknown) = ^CallSideEffect : ~m25_4
|
||||
# 30| valnum = unique
|
||||
# 30| m30_4(unknown) = Chi : total:m25_4, partial:m30_3
|
||||
@@ -538,7 +538,7 @@ test.cpp:
|
||||
# 77| valnum = r77_1, r79_1, r80_6
|
||||
# 77| r77_2(glval<unknown>) = FunctionAddress[getAValue] :
|
||||
# 77| valnum = unique
|
||||
# 77| r77_3(int) = Call : func:r77_2
|
||||
# 77| r77_3(int) = Call[getAValue] : func:r77_2
|
||||
# 77| valnum = unique
|
||||
# 77| m77_4(unknown) = ^CallSideEffect : ~m75_4
|
||||
# 77| valnum = unique
|
||||
@@ -585,7 +585,7 @@ test.cpp:
|
||||
# 80| Block 1
|
||||
# 80| r80_1(glval<unknown>) = FunctionAddress[getAValue] :
|
||||
# 80| valnum = unique
|
||||
# 80| r80_2(int) = Call : func:r80_1
|
||||
# 80| r80_2(int) = Call[getAValue] : func:r80_1
|
||||
# 80| valnum = unique
|
||||
# 80| m80_3(unknown) = ^CallSideEffect : ~m77_5
|
||||
# 80| valnum = unique
|
||||
|
||||
@@ -1501,6 +1501,12 @@ class SwitchInstruction extends Instruction {
|
||||
class CallInstruction extends Instruction {
|
||||
CallInstruction() { getOpcode() instanceof Opcode::Call }
|
||||
|
||||
final override string getImmediateString() {
|
||||
result = getStaticCallTarget().toString()
|
||||
or
|
||||
not exists(getStaticCallTarget()) and result = "?"
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the operand the specifies the target function of the call.
|
||||
*/
|
||||
|
||||
@@ -1501,6 +1501,12 @@ class SwitchInstruction extends Instruction {
|
||||
class CallInstruction extends Instruction {
|
||||
CallInstruction() { getOpcode() instanceof Opcode::Call }
|
||||
|
||||
final override string getImmediateString() {
|
||||
result = getStaticCallTarget().toString()
|
||||
or
|
||||
not exists(getStaticCallTarget()) and result = "?"
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the operand the specifies the target function of the call.
|
||||
*/
|
||||
|
||||
@@ -222,7 +222,7 @@ casts.cs:
|
||||
# 13| r13_1(glval<Casts_A>) = VariableAddress[Aobj] :
|
||||
# 13| r13_2(Casts_A) = NewObj :
|
||||
# 13| r13_3(<funcaddr>) = FunctionAddress[Casts_A] :
|
||||
# 13| v13_4(Void) = Call : func:r13_3, this:r13_2
|
||||
# 13| v13_4(Void) = Call[Casts_A] : func:r13_3, this:r13_2
|
||||
# 13| mu13_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 13| mu13_6(Casts_A) = Store : &:r13_1, r13_2
|
||||
# 14| r14_1(glval<Casts_B>) = VariableAddress[bobjCE] :
|
||||
@@ -247,13 +247,13 @@ collections.cs:
|
||||
# 13| r13_1(glval<Dictionary<Int32,MyClass>>) = VariableAddress[dict] :
|
||||
# 13| r13_2(Dictionary<Int32,MyClass>) = NewObj :
|
||||
# 13| r13_3(<funcaddr>) = FunctionAddress[Dictionary] :
|
||||
# 13| v13_4(Void) = Call : func:r13_3, this:r13_2
|
||||
# 13| v13_4(Void) = Call[Dictionary] : func:r13_3, this:r13_2
|
||||
# 13| mu13_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 15| r15_1(<funcaddr>) = FunctionAddress[Add] :
|
||||
# 15| r15_2(Int32) = Constant[0] :
|
||||
# 15| r15_3(MyClass) = NewObj :
|
||||
# 15| r15_4(<funcaddr>) = FunctionAddress[MyClass] :
|
||||
# 15| v15_5(Void) = Call : func:r15_4, this:r15_3
|
||||
# 15| v15_5(Void) = Call[MyClass] : func:r15_4, this:r15_3
|
||||
# 15| mu15_6(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 15| r15_7(String) = StringConstant["Hello"] :
|
||||
# 15| r15_8(glval<String>) = FieldAddress[a] : r15_3
|
||||
@@ -261,13 +261,13 @@ collections.cs:
|
||||
# 15| r15_10(String) = StringConstant["World"] :
|
||||
# 15| r15_11(glval<String>) = FieldAddress[b] : r15_3
|
||||
# 15| mu15_12(String) = Store : &:r15_11, r15_10
|
||||
# 15| v15_13(Void) = Call : func:r15_1, this:r13_2, 0:r15_2, 1:r15_3
|
||||
# 15| v15_13(Void) = Call[Add] : func:r15_1, this:r13_2, 0:r15_2, 1:r15_3
|
||||
# 15| mu15_14(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 16| r16_1(<funcaddr>) = FunctionAddress[Add] :
|
||||
# 16| r16_2(Int32) = Constant[1] :
|
||||
# 16| r16_3(MyClass) = NewObj :
|
||||
# 16| r16_4(<funcaddr>) = FunctionAddress[MyClass] :
|
||||
# 16| v16_5(Void) = Call : func:r16_4, this:r16_3
|
||||
# 16| v16_5(Void) = Call[MyClass] : func:r16_4, this:r16_3
|
||||
# 16| mu16_6(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 16| r16_7(String) = StringConstant["Foo"] :
|
||||
# 16| r16_8(glval<String>) = FieldAddress[a] : r16_3
|
||||
@@ -275,7 +275,7 @@ collections.cs:
|
||||
# 16| r16_10(String) = StringConstant["Bar"] :
|
||||
# 16| r16_11(glval<String>) = FieldAddress[b] : r16_3
|
||||
# 16| mu16_12(String) = Store : &:r16_11, r16_10
|
||||
# 16| v16_13(Void) = Call : func:r16_1, this:r13_2, 0:r16_2, 1:r16_3
|
||||
# 16| v16_13(Void) = Call[Add] : func:r16_1, this:r13_2, 0:r16_2, 1:r16_3
|
||||
# 16| mu16_14(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 13| mu13_6(Dictionary<Int32,MyClass>) = Store : &:r13_1, r13_2
|
||||
# 11| v11_3(Void) = ReturnVoid :
|
||||
@@ -316,7 +316,7 @@ constructor_init.cs:
|
||||
# 17| r17_3(glval<DerivedClass>) = InitializeThis :
|
||||
# 17| r17_4(glval<BaseClass>) = Convert[DerivedClass : BaseClass] : r17_3
|
||||
# 17| r17_5(<funcaddr>) = FunctionAddress[BaseClass] :
|
||||
# 17| v17_6(Void) = Call : func:r17_5, this:r17_4
|
||||
# 17| v17_6(Void) = Call[BaseClass] : func:r17_5, this:r17_4
|
||||
# 17| mu17_7(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 18| v18_1(Void) = NoOp :
|
||||
# 17| v17_8(Void) = ReturnVoid :
|
||||
@@ -334,7 +334,7 @@ constructor_init.cs:
|
||||
# 21| r21_7(<funcaddr>) = FunctionAddress[BaseClass] :
|
||||
# 21| r21_8(glval<Int32>) = VariableAddress[i] :
|
||||
# 21| r21_9(Int32) = Load : &:r21_8, ~m?
|
||||
# 21| v21_10(Void) = Call : func:r21_7, this:r21_6, 0:r21_9
|
||||
# 21| v21_10(Void) = Call[BaseClass] : func:r21_7, this:r21_6, 0:r21_9
|
||||
# 21| mu21_11(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 22| v22_1(Void) = NoOp :
|
||||
# 21| v21_12(Void) = ReturnVoid :
|
||||
@@ -353,7 +353,7 @@ constructor_init.cs:
|
||||
# 25| r25_8(<funcaddr>) = FunctionAddress[DerivedClass] :
|
||||
# 25| r25_9(glval<Int32>) = VariableAddress[i] :
|
||||
# 25| r25_10(Int32) = Load : &:r25_9, ~m?
|
||||
# 25| v25_11(Void) = Call : func:r25_8, this:r25_3, 0:r25_10
|
||||
# 25| v25_11(Void) = Call[DerivedClass] : func:r25_8, this:r25_3, 0:r25_10
|
||||
# 25| mu25_12(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 26| v26_1(Void) = NoOp :
|
||||
# 25| v25_13(Void) = ReturnVoid :
|
||||
@@ -367,14 +367,14 @@ constructor_init.cs:
|
||||
# 31| r31_1(glval<DerivedClass>) = VariableAddress[obj1] :
|
||||
# 31| r31_2(DerivedClass) = NewObj :
|
||||
# 31| r31_3(<funcaddr>) = FunctionAddress[DerivedClass] :
|
||||
# 31| v31_4(Void) = Call : func:r31_3, this:r31_2
|
||||
# 31| v31_4(Void) = Call[DerivedClass] : func:r31_3, this:r31_2
|
||||
# 31| mu31_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 31| mu31_6(DerivedClass) = Store : &:r31_1, r31_2
|
||||
# 32| r32_1(glval<DerivedClass>) = VariableAddress[obj2] :
|
||||
# 32| r32_2(DerivedClass) = NewObj :
|
||||
# 32| r32_3(<funcaddr>) = FunctionAddress[DerivedClass] :
|
||||
# 32| r32_4(Int32) = Constant[1] :
|
||||
# 32| v32_5(Void) = Call : func:r32_3, this:r32_2, 0:r32_4
|
||||
# 32| v32_5(Void) = Call[DerivedClass] : func:r32_3, this:r32_2, 0:r32_4
|
||||
# 32| mu32_6(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 32| mu32_7(DerivedClass) = Store : &:r32_1, r32_2
|
||||
# 33| r33_1(glval<DerivedClass>) = VariableAddress[obj3] :
|
||||
@@ -382,7 +382,7 @@ constructor_init.cs:
|
||||
# 33| r33_3(<funcaddr>) = FunctionAddress[DerivedClass] :
|
||||
# 33| r33_4(Int32) = Constant[1] :
|
||||
# 33| r33_5(Int32) = Constant[2] :
|
||||
# 33| v33_6(Void) = Call : func:r33_3, this:r33_2, 0:r33_4, 1:r33_5
|
||||
# 33| v33_6(Void) = Call[DerivedClass] : func:r33_3, this:r33_2, 0:r33_4, 1:r33_5
|
||||
# 33| mu33_7(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 33| mu33_8(DerivedClass) = Store : &:r33_1, r33_2
|
||||
# 29| v29_3(Void) = ReturnVoid :
|
||||
@@ -453,14 +453,14 @@ delegates.cs:
|
||||
# 12| r12_2(Del) = NewObj :
|
||||
# 12| r12_3(<funcaddr>) = FunctionAddress[Del] :
|
||||
# 12| r12_4(glval<Del>) = FunctionAddress[returns] :
|
||||
# 12| v12_5(Void) = Call : func:r12_3, this:r12_2, 0:r12_4
|
||||
# 12| v12_5(Void) = Call[Del] : func:r12_3, this:r12_2, 0:r12_4
|
||||
# 12| mu12_6(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 12| mu12_7(Del) = Store : &:r12_1, r12_2
|
||||
# 13| r13_1(glval<Del>) = VariableAddress[del1] :
|
||||
# 13| r13_2(Del) = Load : &:r13_1, ~m?
|
||||
# 13| r13_3(<funcaddr>) = FunctionAddress[Invoke] :
|
||||
# 13| r13_4(Int32) = Constant[5] :
|
||||
# 13| v13_5(Void) = Call : func:r13_3, this:r13_2, 0:r13_4
|
||||
# 13| v13_5(Void) = Call[Invoke] : func:r13_3, this:r13_2, 0:r13_4
|
||||
# 13| mu13_6(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 11| v11_3(Void) = ReturnVoid :
|
||||
# 11| v11_4(Void) = AliasedUse : ~m?
|
||||
@@ -475,7 +475,7 @@ events.cs:
|
||||
# 10| r10_1(MyDel) = NewObj :
|
||||
# 10| r10_2(<funcaddr>) = FunctionAddress[MyDel] :
|
||||
# 10| r10_3(glval<MyDel>) = FunctionAddress[Fun] :
|
||||
# 10| v10_4(Void) = Call : func:r10_2, this:r10_1, 0:r10_3
|
||||
# 10| v10_4(Void) = Call[MyDel] : func:r10_2, this:r10_1, 0:r10_3
|
||||
# 10| mu10_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 10| r10_6(Events) = CopyValue : r8_3
|
||||
# 10| r10_7(glval<MyDel>) = FieldAddress[Inst] : r10_6
|
||||
@@ -494,7 +494,7 @@ events.cs:
|
||||
# 15| r15_3(Events) = CopyValue : r13_3
|
||||
# 15| r15_4(glval<MyDel>) = FieldAddress[Inst] : r15_3
|
||||
# 15| r15_5(MyDel) = Load : &:r15_4, ~m?
|
||||
# 15| v15_6(Void) = Call : func:r15_2, this:r15_1, 0:r15_5
|
||||
# 15| v15_6(Void) = Call[add_MyEvent] : func:r15_2, this:r15_1, 0:r15_5
|
||||
# 15| mu15_7(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 13| v13_4(Void) = ReturnVoid :
|
||||
# 13| v13_5(Void) = AliasedUse : ~m?
|
||||
@@ -510,7 +510,7 @@ events.cs:
|
||||
# 20| r20_3(Events) = CopyValue : r18_3
|
||||
# 20| r20_4(glval<MyDel>) = FieldAddress[Inst] : r20_3
|
||||
# 20| r20_5(MyDel) = Load : &:r20_4, ~m?
|
||||
# 20| v20_6(Void) = Call : func:r20_2, this:r20_1, 0:r20_5
|
||||
# 20| v20_6(Void) = Call[remove_MyEvent] : func:r20_2, this:r20_1, 0:r20_5
|
||||
# 20| mu20_7(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 18| v18_4(Void) = ReturnVoid :
|
||||
# 18| v18_5(Void) = AliasedUse : ~m?
|
||||
@@ -541,26 +541,26 @@ events.cs:
|
||||
# 30| r30_1(glval<Events>) = VariableAddress[obj] :
|
||||
# 30| r30_2(Events) = NewObj :
|
||||
# 30| r30_3(<funcaddr>) = FunctionAddress[Events] :
|
||||
# 30| v30_4(Void) = Call : func:r30_3, this:r30_2
|
||||
# 30| v30_4(Void) = Call[Events] : func:r30_3, this:r30_2
|
||||
# 30| mu30_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 30| mu30_6(Events) = Store : &:r30_1, r30_2
|
||||
# 31| r31_1(glval<Events>) = VariableAddress[obj] :
|
||||
# 31| r31_2(Events) = Load : &:r31_1, ~m?
|
||||
# 31| r31_3(<funcaddr>) = FunctionAddress[AddEvent] :
|
||||
# 31| v31_4(Void) = Call : func:r31_3, this:r31_2
|
||||
# 31| v31_4(Void) = Call[AddEvent] : func:r31_3, this:r31_2
|
||||
# 31| mu31_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 32| r32_1(glval<String>) = VariableAddress[result] :
|
||||
# 32| r32_2(glval<Events>) = VariableAddress[obj] :
|
||||
# 32| r32_3(Events) = Load : &:r32_2, ~m?
|
||||
# 32| r32_4(<funcaddr>) = FunctionAddress[Invoke] :
|
||||
# 32| r32_5(String) = StringConstant["string"] :
|
||||
# 32| v32_6(Void) = Call : func:r32_4, this:r32_3, 0:r32_5
|
||||
# 32| v32_6(Void) = Call[Invoke] : func:r32_4, this:r32_3, 0:r32_5
|
||||
# 32| mu32_7(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 32| mu32_8(String) = Store : &:r32_1, v32_6
|
||||
# 33| r33_1(glval<Events>) = VariableAddress[obj] :
|
||||
# 33| r33_2(Events) = Load : &:r33_1, ~m?
|
||||
# 33| r33_3(<funcaddr>) = FunctionAddress[RemoveEvent] :
|
||||
# 33| v33_4(Void) = Call : func:r33_3, this:r33_2
|
||||
# 33| v33_4(Void) = Call[RemoveEvent] : func:r33_3, this:r33_2
|
||||
# 33| mu33_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 28| v28_5(Void) = ReturnVoid :
|
||||
# 28| v28_6(Void) = AliasedUse : ~m?
|
||||
@@ -605,7 +605,7 @@ foreach.cs:
|
||||
# 7| r7_2(glval<Int32[]>) = VariableAddress[a_array] :
|
||||
# 7| r7_3(Int32[]) = Load : &:r7_2, ~m?
|
||||
# 7| r7_4(<funcaddr>) = FunctionAddress[GetEnumerator] :
|
||||
# 7| r7_5(IEnumerator) = Call : func:r7_4, this:r7_3
|
||||
# 7| r7_5(IEnumerator) = Call[GetEnumerator] : func:r7_4, this:r7_3
|
||||
# 7| mu7_6(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 7| mu7_7(IEnumerator) = Store : &:r7_1, r7_5
|
||||
#-----| Goto -> Block 1
|
||||
@@ -614,7 +614,7 @@ foreach.cs:
|
||||
# 7| r7_8(glval<Boolean>) = VariableAddress[#temp7:9] :
|
||||
# 7| r7_9(Boolean) = Load : &:r7_8, ~m?
|
||||
# 7| r7_10(<funcaddr>) = FunctionAddress[MoveNext] :
|
||||
# 7| r7_11(Boolean) = Call : func:r7_10, this:r7_9
|
||||
# 7| r7_11(Boolean) = Call[MoveNext] : func:r7_10, this:r7_9
|
||||
# 7| mu7_12(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 7| v7_13(Void) = ConditionalBranch : r7_11
|
||||
#-----| False -> Block 3
|
||||
@@ -625,7 +625,7 @@ foreach.cs:
|
||||
# 7| r7_15(glval<Boolean>) = VariableAddress[#temp7:9] :
|
||||
# 7| r7_16(Boolean) = Load : &:r7_15, ~m?
|
||||
# 7| r7_17(<funcaddr>) = FunctionAddress[get_Current] :
|
||||
# 7| r7_18(Int32) = Call : func:r7_17, this:r7_16
|
||||
# 7| r7_18(Int32) = Call[get_Current] : func:r7_17, this:r7_16
|
||||
# 7| mu7_19(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 7| mu7_20(Int32) = Store : &:r7_14, r7_18
|
||||
# 9| r9_1(glval<Int32>) = VariableAddress[x] :
|
||||
@@ -638,7 +638,7 @@ foreach.cs:
|
||||
# 7| r7_21(glval<Boolean>) = VariableAddress[#temp7:9] :
|
||||
# 7| r7_22(Boolean) = Load : &:r7_21, ~m?
|
||||
# 7| r7_23(<funcaddr>) = FunctionAddress[Dispose] :
|
||||
# 7| v7_24(Void) = Call : func:r7_23, this:r7_22
|
||||
# 7| v7_24(Void) = Call[Dispose] : func:r7_23, this:r7_22
|
||||
# 7| mu7_25(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 4| v4_3(Void) = ReturnVoid :
|
||||
# 4| v4_4(Void) = AliasedUse : ~m?
|
||||
@@ -673,7 +673,7 @@ func_with_param_call.cs:
|
||||
# 12| r12_2(<funcaddr>) = FunctionAddress[f] :
|
||||
# 12| r12_3(Int32) = Constant[2] :
|
||||
# 12| r12_4(Int32) = Constant[3] :
|
||||
# 12| r12_5(Int32) = Call : func:r12_2, 0:r12_3, 1:r12_4
|
||||
# 12| r12_5(Int32) = Call[f] : func:r12_2, 0:r12_3, 1:r12_4
|
||||
# 12| mu12_6(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 12| mu12_7(Int32) = Store : &:r12_1, r12_5
|
||||
# 10| r10_3(glval<Int32>) = VariableAddress[#return] :
|
||||
@@ -732,7 +732,7 @@ indexers.cs:
|
||||
# 21| r21_1(glval<MyClass>) = VariableAddress[inst] :
|
||||
# 21| r21_2(MyClass) = NewObj :
|
||||
# 21| r21_3(<funcaddr>) = FunctionAddress[MyClass] :
|
||||
# 21| v21_4(Void) = Call : func:r21_3, this:r21_2
|
||||
# 21| v21_4(Void) = Call[MyClass] : func:r21_3, this:r21_2
|
||||
# 21| mu21_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 21| mu21_6(MyClass) = Store : &:r21_1, r21_2
|
||||
# 22| r22_1(glval<MyClass>) = VariableAddress[inst] :
|
||||
@@ -740,14 +740,14 @@ indexers.cs:
|
||||
# 22| r22_3(<funcaddr>) = FunctionAddress[set_Item] :
|
||||
# 22| r22_4(Int32) = Constant[0] :
|
||||
# 22| r22_5(String) = StringConstant["str1"] :
|
||||
# 22| v22_6(Void) = Call : func:r22_3, this:r22_2, 0:r22_4, 1:r22_5
|
||||
# 22| v22_6(Void) = Call[set_Item] : func:r22_3, this:r22_2, 0:r22_4, 1:r22_5
|
||||
# 22| mu22_7(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 23| r23_1(glval<MyClass>) = VariableAddress[inst] :
|
||||
# 23| r23_2(MyClass) = Load : &:r23_1, ~m?
|
||||
# 23| r23_3(<funcaddr>) = FunctionAddress[set_Item] :
|
||||
# 23| r23_4(Int32) = Constant[1] :
|
||||
# 23| r23_5(String) = StringConstant["str1"] :
|
||||
# 23| v23_6(Void) = Call : func:r23_3, this:r23_2, 0:r23_4, 1:r23_5
|
||||
# 23| v23_6(Void) = Call[set_Item] : func:r23_3, this:r23_2, 0:r23_4, 1:r23_5
|
||||
# 23| mu23_7(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 24| r24_1(glval<MyClass>) = VariableAddress[inst] :
|
||||
# 24| r24_2(MyClass) = Load : &:r24_1, ~m?
|
||||
@@ -757,9 +757,9 @@ indexers.cs:
|
||||
# 24| r24_6(MyClass) = Load : &:r24_5, ~m?
|
||||
# 24| r24_7(<funcaddr>) = FunctionAddress[get_Item] :
|
||||
# 24| r24_8(Int32) = Constant[0] :
|
||||
# 24| r24_9(String) = Call : func:r24_7, this:r24_6, 0:r24_8
|
||||
# 24| r24_9(String) = Call[get_Item] : func:r24_7, this:r24_6, 0:r24_8
|
||||
# 24| mu24_10(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 24| v24_11(Void) = Call : func:r24_3, this:r24_2, 0:r24_4, 1:r24_9
|
||||
# 24| v24_11(Void) = Call[set_Item] : func:r24_3, this:r24_2, 0:r24_4, 1:r24_9
|
||||
# 24| mu24_12(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 19| v19_3(Void) = ReturnVoid :
|
||||
# 19| v19_4(Void) = AliasedUse : ~m?
|
||||
@@ -799,13 +799,13 @@ inheritance_polymorphism.cs:
|
||||
# 25| r25_1(glval<B>) = VariableAddress[objB] :
|
||||
# 25| r25_2(B) = NewObj :
|
||||
# 25| r25_3(<funcaddr>) = FunctionAddress[B] :
|
||||
# 25| v25_4(Void) = Call : func:r25_3, this:r25_2
|
||||
# 25| v25_4(Void) = Call[B] : func:r25_3, this:r25_2
|
||||
# 25| mu25_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 25| mu25_6(B) = Store : &:r25_1, r25_2
|
||||
# 26| r26_1(glval<B>) = VariableAddress[objB] :
|
||||
# 26| r26_2(B) = Load : &:r26_1, ~m?
|
||||
# 26| r26_3(<funcaddr>) = FunctionAddress[function] :
|
||||
# 26| r26_4(Int32) = Call : func:r26_3, this:r26_2
|
||||
# 26| r26_4(Int32) = Call[function] : func:r26_3, this:r26_2
|
||||
# 26| mu26_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 29| r29_1(glval<A>) = VariableAddress[objA] :
|
||||
# 29| mu29_2(A) = Uninitialized[objA] : &:r29_1
|
||||
@@ -817,19 +817,19 @@ inheritance_polymorphism.cs:
|
||||
# 31| r31_1(glval<A>) = VariableAddress[objA] :
|
||||
# 31| r31_2(A) = Load : &:r31_1, ~m?
|
||||
# 31| r31_3(<funcaddr>) = FunctionAddress[function] :
|
||||
# 31| r31_4(Int32) = Call : func:r31_3, this:r31_2
|
||||
# 31| r31_4(Int32) = Call[function] : func:r31_3, this:r31_2
|
||||
# 31| mu31_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 33| r33_1(glval<A>) = VariableAddress[objC] :
|
||||
# 33| r33_2(C) = NewObj :
|
||||
# 33| r33_3(<funcaddr>) = FunctionAddress[C] :
|
||||
# 33| v33_4(Void) = Call : func:r33_3, this:r33_2
|
||||
# 33| v33_4(Void) = Call[C] : func:r33_3, this:r33_2
|
||||
# 33| mu33_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 33| r33_6(A) = Convert : r33_2
|
||||
# 33| mu33_7(A) = Store : &:r33_1, r33_2
|
||||
# 34| r34_1(glval<A>) = VariableAddress[objC] :
|
||||
# 34| r34_2(A) = Load : &:r34_1, ~m?
|
||||
# 34| r34_3(<funcaddr>) = FunctionAddress[function] :
|
||||
# 34| r34_4(Int32) = Call : func:r34_3, this:r34_2
|
||||
# 34| r34_4(Int32) = Call[function] : func:r34_3, this:r34_2
|
||||
# 34| mu34_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 23| v23_3(Void) = ReturnVoid :
|
||||
# 23| v23_4(Void) = AliasedUse : ~m?
|
||||
@@ -905,7 +905,7 @@ inoutref.cs:
|
||||
# 26| r26_4(glval<MyClass>) = VariableAddress[c1] :
|
||||
# 26| r26_5(MyClass) = Load : &:r26_4, ~m?
|
||||
# 26| r26_6(MyClass) = Load : &:r26_5, ~m?
|
||||
# 26| v26_7(Void) = Call : func:r26_1, 0:r26_3, 1:r26_6
|
||||
# 26| v26_7(Void) = Call[set] : func:r26_1, 0:r26_3, 1:r26_6
|
||||
# 26| mu26_8(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 16| v16_13(Void) = ReturnVoid :
|
||||
# 16| v16_14(Void) = AliasedUse : ~m?
|
||||
@@ -921,14 +921,14 @@ inoutref.cs:
|
||||
# 32| r32_1(glval<MyStruct>) = VariableAddress[b] :
|
||||
# 32| r32_2(MyStruct) = NewObj :
|
||||
# 32| r32_3(<funcaddr>) = FunctionAddress[MyStruct] :
|
||||
# 32| v32_4(Void) = Call : func:r32_3, this:r32_2
|
||||
# 32| v32_4(Void) = Call[MyStruct] : func:r32_3, this:r32_2
|
||||
# 32| mu32_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 32| r32_6(MyStruct) = Load : &:r32_2, ~m?
|
||||
# 32| mu32_7(MyStruct) = Store : &:r32_1, r32_6
|
||||
# 33| r33_1(glval<MyClass>) = VariableAddress[c] :
|
||||
# 33| r33_2(MyClass) = NewObj :
|
||||
# 33| r33_3(<funcaddr>) = FunctionAddress[MyClass] :
|
||||
# 33| v33_4(Void) = Call : func:r33_3, this:r33_2
|
||||
# 33| v33_4(Void) = Call[MyClass] : func:r33_3, this:r33_2
|
||||
# 33| mu33_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 33| mu33_6(MyClass) = Store : &:r33_1, r33_2
|
||||
# 34| r34_1(<funcaddr>) = FunctionAddress[F] :
|
||||
@@ -937,7 +937,7 @@ inoutref.cs:
|
||||
# 34| r34_4(glval<MyStruct>) = VariableAddress[b] :
|
||||
# 34| r34_5(glval<MyClass>) = VariableAddress[c] :
|
||||
# 34| r34_6(glval<MyClass>) = VariableAddress[c] :
|
||||
# 34| v34_7(Void) = Call : func:r34_1, 0:r34_2, 1:r34_3, 2:r34_4, 3:r34_5, 4:r34_6
|
||||
# 34| v34_7(Void) = Call[F] : func:r34_1, 0:r34_2, 1:r34_3, 2:r34_4, 3:r34_5, 4:r34_6
|
||||
# 34| mu34_8(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 36| r36_1(glval<Int32>) = VariableAddress[x] :
|
||||
# 36| r36_2(glval<MyStruct>) = VariableAddress[b] :
|
||||
@@ -1058,7 +1058,7 @@ jumps.cs:
|
||||
# 13| Block 6
|
||||
# 13| r13_1(<funcaddr>) = FunctionAddress[WriteLine] :
|
||||
# 13| r13_2(String) = StringConstant["BreakAndContinue"] :
|
||||
# 13| v13_3(Void) = Call : func:r13_1, 0:r13_2
|
||||
# 13| v13_3(Void) = Call[WriteLine] : func:r13_1, 0:r13_2
|
||||
# 13| mu13_4(<unknown>) = ^CallSideEffect : ~m?
|
||||
#-----| Goto -> Block 19
|
||||
|
||||
@@ -1177,7 +1177,7 @@ jumps.cs:
|
||||
# 37| v37_1(Void) = NoOp :
|
||||
# 38| r38_1(<funcaddr>) = FunctionAddress[WriteLine] :
|
||||
# 38| r38_2(String) = StringConstant["Done"] :
|
||||
# 38| v38_3(Void) = Call : func:r38_1, 0:r38_2
|
||||
# 38| v38_3(Void) = Call[WriteLine] : func:r38_1, 0:r38_2
|
||||
# 38| mu38_4(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 5| v5_3(Void) = ReturnVoid :
|
||||
# 5| v5_4(Void) = AliasedUse : ~m?
|
||||
@@ -1191,7 +1191,7 @@ lock.cs:
|
||||
# 7| r7_1(glval<Object>) = VariableAddress[object] :
|
||||
# 7| r7_2(Object) = NewObj :
|
||||
# 7| r7_3(<funcaddr>) = FunctionAddress[Object] :
|
||||
# 7| v7_4(Void) = Call : func:r7_3, this:r7_2
|
||||
# 7| v7_4(Void) = Call[Object] : func:r7_3, this:r7_2
|
||||
# 7| mu7_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 7| mu7_6(Object) = Store : &:r7_1, r7_2
|
||||
# 8| r8_1(glval<Object>) = VariableAddress[#temp8:9] :
|
||||
@@ -1205,15 +1205,15 @@ lock.cs:
|
||||
# 8| r8_9(glval<Object>) = VariableAddress[#temp8:9] :
|
||||
# 8| r8_10(Object) = Load : &:r8_9, ~m?
|
||||
# 8| r8_11(glval<Boolean>) = VariableAddress[#temp8:9] :
|
||||
# 8| v8_12(Void) = Call : func:r8_8, 0:r8_10, 1:r8_11
|
||||
# 8| v8_12(Void) = Call[Enter] : func:r8_8, 0:r8_10, 1:r8_11
|
||||
# 8| mu8_13(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 10| r10_1(<funcaddr>) = FunctionAddress[WriteLine] :
|
||||
# 10| r10_2(glval<Object>) = VariableAddress[object] :
|
||||
# 10| r10_3(Object) = Load : &:r10_2, ~m?
|
||||
# 10| r10_4(<funcaddr>) = FunctionAddress[ToString] :
|
||||
# 10| r10_5(String) = Call : func:r10_4, this:r10_3
|
||||
# 10| r10_5(String) = Call[ToString] : func:r10_4, this:r10_3
|
||||
# 10| mu10_6(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 10| v10_7(Void) = Call : func:r10_1, 0:r10_5
|
||||
# 10| v10_7(Void) = Call[WriteLine] : func:r10_1, 0:r10_5
|
||||
# 10| mu10_8(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 8| r8_14(glval<Boolean>) = VariableAddress[#temp8:9] :
|
||||
# 8| r8_15(Boolean) = Load : &:r8_14, ~m?
|
||||
@@ -1230,7 +1230,7 @@ lock.cs:
|
||||
# 8| r8_17(<funcaddr>) = FunctionAddress[Exit] :
|
||||
# 8| r8_18(glval<Object>) = VariableAddress[#temp8:9] :
|
||||
# 8| r8_19(Object) = Load : &:r8_18, ~m?
|
||||
# 8| v8_20(Void) = Call : func:r8_17, 0:r8_19
|
||||
# 8| v8_20(Void) = Call[Exit] : func:r8_17, 0:r8_19
|
||||
# 8| mu8_21(<unknown>) = ^CallSideEffect : ~m?
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
@@ -1280,13 +1280,13 @@ obj_creation.cs:
|
||||
# 23| r23_2(MyClass) = NewObj :
|
||||
# 23| r23_3(<funcaddr>) = FunctionAddress[MyClass] :
|
||||
# 23| r23_4(Int32) = Constant[100] :
|
||||
# 23| v23_5(Void) = Call : func:r23_3, this:r23_2, 0:r23_4
|
||||
# 23| v23_5(Void) = Call[MyClass] : func:r23_3, this:r23_2, 0:r23_4
|
||||
# 23| mu23_6(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 23| mu23_7(MyClass) = Store : &:r23_1, r23_2
|
||||
# 24| r24_1(glval<MyClass>) = VariableAddress[obj_initlist] :
|
||||
# 24| r24_2(MyClass) = NewObj :
|
||||
# 24| r24_3(<funcaddr>) = FunctionAddress[MyClass] :
|
||||
# 24| v24_4(Void) = Call : func:r24_3, this:r24_2
|
||||
# 24| v24_4(Void) = Call[MyClass] : func:r24_3, this:r24_2
|
||||
# 24| mu24_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 24| r24_6(Int32) = Constant[101] :
|
||||
# 24| r24_7(glval<Int32>) = FieldAddress[x] : r24_2
|
||||
@@ -1302,9 +1302,9 @@ obj_creation.cs:
|
||||
# 27| r27_2(MyClass) = NewObj :
|
||||
# 27| r27_3(<funcaddr>) = FunctionAddress[MyClass] :
|
||||
# 27| r27_4(Int32) = Constant[100] :
|
||||
# 27| v27_5(Void) = Call : func:r27_3, this:r27_2, 0:r27_4
|
||||
# 27| v27_5(Void) = Call[MyClass] : func:r27_3, this:r27_2, 0:r27_4
|
||||
# 27| mu27_6(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 27| v27_7(Void) = Call : func:r27_1, 0:r27_2
|
||||
# 27| v27_7(Void) = Call[SomeFun] : func:r27_1, 0:r27_2
|
||||
# 27| mu27_8(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 21| v21_3(Void) = ReturnVoid :
|
||||
# 21| v21_4(Void) = AliasedUse : ~m?
|
||||
@@ -1321,7 +1321,7 @@ pointers.cs:
|
||||
# 5| r5_2(glval<Int32[]>) = VariableAddress[arr] :
|
||||
# 5| r5_3(Int32[]) = Load : &:r5_2, ~m?
|
||||
# 5| r5_4(<funcaddr>) = FunctionAddress[get_Length] :
|
||||
# 5| r5_5(Int32) = Call : func:r5_4, this:r5_3
|
||||
# 5| r5_5(Int32) = Call[get_Length] : func:r5_4, this:r5_3
|
||||
# 5| mu5_6(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 5| mu5_7(Int32) = Store : &:r5_1, r5_5
|
||||
# 6| r6_1(glval<Int32*>) = VariableAddress[b] :
|
||||
@@ -1377,13 +1377,13 @@ pointers.cs:
|
||||
# 26| r26_1(glval<MyClass>) = VariableAddress[o] :
|
||||
# 26| r26_2(MyClass) = NewObj :
|
||||
# 26| r26_3(<funcaddr>) = FunctionAddress[MyClass] :
|
||||
# 26| v26_4(Void) = Call : func:r26_3, this:r26_2
|
||||
# 26| v26_4(Void) = Call[MyClass] : func:r26_3, this:r26_2
|
||||
# 26| mu26_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 26| mu26_6(MyClass) = Store : &:r26_1, r26_2
|
||||
# 27| r27_1(glval<MyStruct>) = VariableAddress[s] :
|
||||
# 27| r27_2(MyStruct) = NewObj :
|
||||
# 27| r27_3(<funcaddr>) = FunctionAddress[MyStruct] :
|
||||
# 27| v27_4(Void) = Call : func:r27_3, this:r27_2
|
||||
# 27| v27_4(Void) = Call[MyStruct] : func:r27_3, this:r27_2
|
||||
# 27| mu27_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 27| r27_6(MyStruct) = Load : &:r27_2, ~m?
|
||||
# 27| mu27_7(MyStruct) = Store : &:r27_1, r27_6
|
||||
@@ -1431,7 +1431,7 @@ pointers.cs:
|
||||
# 40| r40_1(<funcaddr>) = FunctionAddress[addone] :
|
||||
# 40| r40_2(glval<Int32[]>) = VariableAddress[arr] :
|
||||
# 40| r40_3(Int32[]) = Load : &:r40_2, ~m?
|
||||
# 40| v40_4(Void) = Call : func:r40_1, 0:r40_3
|
||||
# 40| v40_4(Void) = Call[addone] : func:r40_1, 0:r40_3
|
||||
# 40| mu40_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 25| v25_3(Void) = ReturnVoid :
|
||||
# 25| v25_4(Void) = AliasedUse : ~m?
|
||||
@@ -1446,7 +1446,7 @@ prop.cs:
|
||||
# 9| r9_1(glval<Int32>) = VariableAddress[#return] :
|
||||
# 9| r9_2(PropClass) = CopyValue : r7_3
|
||||
# 9| r9_3(<funcaddr>) = FunctionAddress[func] :
|
||||
# 9| r9_4(Int32) = Call : func:r9_3, this:r9_2
|
||||
# 9| r9_4(Int32) = Call[func] : func:r9_3, this:r9_2
|
||||
# 9| mu9_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 9| mu9_6(Int32) = Store : &:r9_1, r9_4
|
||||
# 7| r7_4(glval<Int32>) = VariableAddress[#return] :
|
||||
@@ -1489,20 +1489,20 @@ prop.cs:
|
||||
# 28| r28_1(glval<PropClass>) = VariableAddress[obj] :
|
||||
# 28| r28_2(PropClass) = NewObj :
|
||||
# 28| r28_3(<funcaddr>) = FunctionAddress[PropClass] :
|
||||
# 28| v28_4(Void) = Call : func:r28_3, this:r28_2
|
||||
# 28| v28_4(Void) = Call[PropClass] : func:r28_3, this:r28_2
|
||||
# 28| mu28_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 28| mu28_6(PropClass) = Store : &:r28_1, r28_2
|
||||
# 29| r29_1(glval<PropClass>) = VariableAddress[obj] :
|
||||
# 29| r29_2(PropClass) = Load : &:r29_1, ~m?
|
||||
# 29| r29_3(<funcaddr>) = FunctionAddress[set_Prop] :
|
||||
# 29| r29_4(Int32) = Constant[5] :
|
||||
# 29| v29_5(Void) = Call : func:r29_3, this:r29_2, 0:r29_4
|
||||
# 29| v29_5(Void) = Call[set_Prop] : func:r29_3, this:r29_2, 0:r29_4
|
||||
# 29| mu29_6(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 30| r30_1(glval<Int32>) = VariableAddress[x] :
|
||||
# 30| r30_2(glval<PropClass>) = VariableAddress[obj] :
|
||||
# 30| r30_3(PropClass) = Load : &:r30_2, ~m?
|
||||
# 30| r30_4(<funcaddr>) = FunctionAddress[get_Prop] :
|
||||
# 30| r30_5(Int32) = Call : func:r30_4, this:r30_3
|
||||
# 30| r30_5(Int32) = Call[get_Prop] : func:r30_4, this:r30_3
|
||||
# 30| mu30_6(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 30| mu30_7(Int32) = Store : &:r30_1, r30_5
|
||||
# 26| v26_3(Void) = ReturnVoid :
|
||||
@@ -1529,7 +1529,7 @@ simple_call.cs:
|
||||
# 10| r10_3(glval<test_simple_call>) = InitializeThis :
|
||||
# 12| r12_1(glval<Int32>) = VariableAddress[#return] :
|
||||
# 12| r12_2(<funcaddr>) = FunctionAddress[f] :
|
||||
# 12| r12_3(Int32) = Call : func:r12_2
|
||||
# 12| r12_3(Int32) = Call[f] : func:r12_2
|
||||
# 12| mu12_4(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 12| mu12_5(Int32) = Store : &:r12_1, r12_3
|
||||
# 10| r10_4(glval<Int32>) = VariableAddress[#return] :
|
||||
@@ -1624,7 +1624,7 @@ stmts.cs:
|
||||
# 24| r24_1(glval<Object>) = VariableAddress[caseSwitch] :
|
||||
# 24| r24_2(Object) = NewObj :
|
||||
# 24| r24_3(<funcaddr>) = FunctionAddress[Object] :
|
||||
# 24| v24_4(Void) = Call : func:r24_3, this:r24_2
|
||||
# 24| v24_4(Void) = Call[Object] : func:r24_3, this:r24_2
|
||||
# 24| mu24_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 24| mu24_6(Object) = Store : &:r24_1, r24_2
|
||||
# 25| r25_1(glval<Int32>) = VariableAddress[select] :
|
||||
@@ -1709,7 +1709,7 @@ stmts.cs:
|
||||
# 52| r52_1(glval<Exception>) = VariableAddress[#throw52:17] :
|
||||
# 52| r52_2(Exception) = NewObj :
|
||||
# 52| r52_3(<funcaddr>) = FunctionAddress[Exception] :
|
||||
# 52| v52_4(Void) = Call : func:r52_3, this:r52_2
|
||||
# 52| v52_4(Void) = Call[Exception] : func:r52_3, this:r52_2
|
||||
# 52| mu52_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 52| mu52_6(Exception) = Store : &:r52_1, r52_2
|
||||
# 52| v52_7(Void) = ThrowValue : &:r52_1, ~m?
|
||||
@@ -1919,35 +1919,35 @@ using.cs:
|
||||
# 14| r14_1(glval<MyDisposable>) = VariableAddress[o1] :
|
||||
# 14| r14_2(MyDisposable) = NewObj :
|
||||
# 14| r14_3(<funcaddr>) = FunctionAddress[MyDisposable] :
|
||||
# 14| v14_4(Void) = Call : func:r14_3, this:r14_2
|
||||
# 14| v14_4(Void) = Call[MyDisposable] : func:r14_3, this:r14_2
|
||||
# 14| mu14_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 14| mu14_6(MyDisposable) = Store : &:r14_1, r14_2
|
||||
# 16| r16_1(glval<MyDisposable>) = VariableAddress[o1] :
|
||||
# 16| r16_2(MyDisposable) = Load : &:r16_1, ~m?
|
||||
# 16| r16_3(<funcaddr>) = FunctionAddress[DoSomething] :
|
||||
# 16| v16_4(Void) = Call : func:r16_3, this:r16_2
|
||||
# 16| v16_4(Void) = Call[DoSomething] : func:r16_3, this:r16_2
|
||||
# 16| mu16_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 19| r19_1(glval<MyDisposable>) = VariableAddress[o2] :
|
||||
# 19| r19_2(MyDisposable) = NewObj :
|
||||
# 19| r19_3(<funcaddr>) = FunctionAddress[MyDisposable] :
|
||||
# 19| v19_4(Void) = Call : func:r19_3, this:r19_2
|
||||
# 19| v19_4(Void) = Call[MyDisposable] : func:r19_3, this:r19_2
|
||||
# 19| mu19_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 19| mu19_6(MyDisposable) = Store : &:r19_1, r19_2
|
||||
# 22| r22_1(glval<MyDisposable>) = VariableAddress[o2] :
|
||||
# 22| r22_2(MyDisposable) = Load : &:r22_1, ~m?
|
||||
# 22| r22_3(<funcaddr>) = FunctionAddress[DoSomething] :
|
||||
# 22| v22_4(Void) = Call : func:r22_3, this:r22_2
|
||||
# 22| v22_4(Void) = Call[DoSomething] : func:r22_3, this:r22_2
|
||||
# 22| mu22_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 25| r25_1(glval<MyDisposable>) = VariableAddress[o3] :
|
||||
# 25| r25_2(MyDisposable) = NewObj :
|
||||
# 25| r25_3(<funcaddr>) = FunctionAddress[MyDisposable] :
|
||||
# 25| v25_4(Void) = Call : func:r25_3, this:r25_2
|
||||
# 25| v25_4(Void) = Call[MyDisposable] : func:r25_3, this:r25_2
|
||||
# 25| mu25_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 25| mu25_6(MyDisposable) = Store : &:r25_1, r25_2
|
||||
# 26| r26_1(glval<MyDisposable>) = VariableAddress[o3] :
|
||||
# 26| r26_2(MyDisposable) = Load : &:r26_1, ~m?
|
||||
# 26| r26_3(<funcaddr>) = FunctionAddress[DoSomething] :
|
||||
# 26| v26_4(Void) = Call : func:r26_3, this:r26_2
|
||||
# 26| v26_4(Void) = Call[DoSomething] : func:r26_3, this:r26_2
|
||||
# 26| mu26_5(<unknown>) = ^CallSideEffect : ~m?
|
||||
# 12| v12_3(Void) = ReturnVoid :
|
||||
# 12| v12_4(Void) = AliasedUse : ~m?
|
||||
|
||||
Reference in New Issue
Block a user