Merge pull request #4558 from rdmarsh2/rdmarsh2/cpp/remove-initialize-nonlocal

Remove InitializeNonlocalInstruction
This commit is contained in:
Dave Bartolomeo
2020-11-18 20:23:08 -05:00
committed by GitHub
45 changed files with 4276 additions and 5007 deletions

View File

@@ -10,6 +10,7 @@ private newtype TMemoryAccessKind =
TEntireAllocationMemoryAccess() or
TEscapedMemoryAccess() or
TNonLocalMemoryAccess() or
TEscapedInitializationMemoryAccess() or
TPhiMemoryAccess() or
TUnmodeledMemoryAccess() or
TChiTotalMemoryAccess() or
@@ -76,6 +77,14 @@ class NonLocalMemoryAccess extends MemoryAccessKind, TNonLocalMemoryAccess {
override string toString() { result = "nonlocal" }
}
/**
* The operand or result accesses all memory whose address has escaped and can define read-only
* memory (such as string constants).
*/
class EscapedInitializationMemoryAccess extends MemoryAccessKind, TEscapedInitializationMemoryAccess {
override string toString() { result = "escaped(init)" }
}
/**
* The operand is a Phi operand, which accesses the same memory as its
* definition.

View File

@@ -979,19 +979,8 @@ module Opcode {
class AliasedDefinition extends Opcode, TAliasedDefinition {
final override string toString() { result = "AliasedDefinition" }
final override MemoryAccessKind getWriteMemoryAccess() { result instanceof EscapedMemoryAccess }
}
/**
* The `Opcode` for an `InitializeNonLocalInstruction`.
*
* See the `InitializeNonLocalInstruction` documentation for more details.
*/
class InitializeNonLocal extends Opcode, TInitializeNonLocal {
final override string toString() { result = "InitializeNonLocal" }
final override MemoryAccessKind getWriteMemoryAccess() {
result instanceof NonLocalMemoryAccess
result instanceof EscapedInitializationMemoryAccess
}
}

View File

@@ -441,34 +441,6 @@ module InstructionConsistency {
isOnAliasedDefinitionChain(instr.(PhiInstruction).getAnInputOperand().getAnyDef())
}
private predicate shouldBeConflated(Instruction instr) {
isOnAliasedDefinitionChain(instr)
or
instr.getOpcode() instanceof Opcode::InitializeNonLocal
}
query predicate notMarkedAsConflated(
Instruction instr, string message, OptionalIRFunction irFunc, string irFuncText
) {
shouldBeConflated(instr) and
not instr.isResultConflated() and
message =
"Instruction '" + instr.toString() +
"' should be marked as having a conflated result in function '$@'." and
irFunc = getInstructionIRFunction(instr, irFuncText)
}
query predicate wronglyMarkedAsConflated(
Instruction instr, string message, OptionalIRFunction irFunc, string irFuncText
) {
instr.isResultConflated() and
not shouldBeConflated(instr) and
message =
"Instruction '" + instr.toString() +
"' should not be marked as having a conflated result in function '$@'." and
irFunc = getInstructionIRFunction(instr, irFuncText)
}
query predicate invalidOverlap(
MemoryOperand useOperand, string message, OptionalIRFunction irFunc, string irFuncText
) {

View File

@@ -92,6 +92,11 @@ class Instruction extends Construction::TStageInstruction {
else result = "r"
}
private string getConflationPrefix() {
shouldGenerateDumpStrings() and
if isResultConflated() then result = "%" else result = ""
}
/**
* Gets the zero-based index of this instruction within its block. This is
* used by debugging and printing code only.
@@ -143,7 +148,8 @@ class Instruction extends Construction::TStageInstruction {
*/
final string getResultString() {
shouldGenerateDumpStrings() and
result = getResultId() + "(" + getResultLanguageType().getDumpString() + ")"
result =
getConflationPrefix() + getResultId() + "(" + getResultLanguageType().getDumpString() + ")"
}
/**
@@ -584,16 +590,6 @@ class InitializeParameterInstruction extends VariableInstruction {
final Language::Parameter getParameter() { result = var.(IRUserVariable).getVariable() }
}
/**
* An instruction that initializes all memory that existed before this function was called.
*
* This instruction provides a definition for memory that, because it was actually allocated and
* initialized elsewhere, would not otherwise have a definition in this function.
*/
class InitializeNonLocalInstruction extends Instruction {
InitializeNonLocalInstruction() { getOpcode() instanceof Opcode::InitializeNonLocal }
}
/**
* An instruction that initializes the memory pointed to by a parameter of the enclosing function
* with the value of that memory on entry to the function.

View File

@@ -81,8 +81,11 @@ private newtype TMemoryLocation =
TAllNonLocalMemory(IRFunction irFunc, boolean isMayAccess) {
isMayAccess = false or isMayAccess = true
} or
TAllAliasedMemory(IRFunction irFunc, boolean isMayAccess) {
isMayAccess = false or isMayAccess = true
TAllAliasedMemory(IRFunction irFunc, boolean isMayAccess, boolean canDefineReadOnly) {
isMayAccess = false and
canDefineReadOnly = [true, false]
or
isMayAccess = true and canDefineReadOnly = false
}
/**
@@ -154,7 +157,7 @@ abstract class AllocationMemoryLocation extends MemoryLocation {
final override VirtualVariable getVirtualVariable() {
if allocationEscapes(var)
then result = TAllAliasedMemory(var.getEnclosingIRFunction(), false)
then result = TAllAliasedMemory(var.getEnclosingIRFunction(), false, true)
else result.(AllocationMemoryLocation).getAllocation() = var
}
@@ -284,7 +287,9 @@ class UnknownMemoryLocation extends TUnknownMemoryLocation, MemoryLocation {
final override string toStringInternal() { result = "{Unknown}" }
final override VirtualVariable getVirtualVariable() { result = TAllAliasedMemory(irFunc, false) }
final override VirtualVariable getVirtualVariable() {
result = TAllAliasedMemory(irFunc, false, true)
}
final override Language::LanguageType getType() {
result = any(IRUnknownType type).getCanonicalLanguageType()
@@ -325,13 +330,7 @@ class AllNonLocalMemory extends TAllNonLocalMemory, MemoryLocation {
final override predicate isMayAccess() { isMayAccess = true }
override predicate canDefineReadOnly() {
// A "must" access that defines all non-local memory appears only on the `InitializeNonLocal`
// instruction, which provides the initial definition for all memory outside of the current
// function's stack frame. This memory includes string literals and other read-only globals, so
// we allow such an access to be the definition for a use of a read-only location.
not isMayAccess()
}
override predicate canDefineReadOnly() { none() }
}
/**
@@ -340,8 +339,9 @@ class AllNonLocalMemory extends TAllNonLocalMemory, MemoryLocation {
class AllAliasedMemory extends TAllAliasedMemory, MemoryLocation {
IRFunction irFunc;
boolean isMayAccess;
boolean canDefineReadOnly;
AllAliasedMemory() { this = TAllAliasedMemory(irFunc, isMayAccess) }
AllAliasedMemory() { this = TAllAliasedMemory(irFunc, isMayAccess, canDefineReadOnly) }
final override string toStringInternal() { result = "{AllAliased}" }
@@ -355,14 +355,18 @@ class AllAliasedMemory extends TAllAliasedMemory, MemoryLocation {
final override string getUniqueId() { result = " " + toString() }
final override VirtualVariable getVirtualVariable() { result = TAllAliasedMemory(irFunc, false) }
final override VirtualVariable getVirtualVariable() {
result = TAllAliasedMemory(irFunc, false, true)
}
final override predicate isMayAccess() { isMayAccess = true }
final override predicate canDefineReadOnly() { canDefineReadOnly = true }
}
/** A virtual variable that groups all escaped memory within a function. */
class AliasedVirtualVariable extends AllAliasedMemory, VirtualVariable {
AliasedVirtualVariable() { not isMayAccess() }
AliasedVirtualVariable() { not isMayAccess() and canDefineReadOnly() }
}
/**
@@ -585,7 +589,10 @@ MemoryLocation getResultMemoryLocation(Instruction instr) {
isMayAccess)
or
kind instanceof EscapedMemoryAccess and
result = TAllAliasedMemory(instr.getEnclosingIRFunction(), isMayAccess)
result = TAllAliasedMemory(instr.getEnclosingIRFunction(), isMayAccess, false)
or
kind instanceof EscapedInitializationMemoryAccess and
result = TAllAliasedMemory(instr.getEnclosingIRFunction(), false, true)
or
kind instanceof NonLocalMemoryAccess and
result = TAllNonLocalMemory(instr.getEnclosingIRFunction(), isMayAccess)
@@ -616,7 +623,10 @@ MemoryLocation getOperandMemoryLocation(MemoryOperand operand) {
isMayAccess)
or
kind instanceof EscapedMemoryAccess and
result = TAllAliasedMemory(operand.getEnclosingIRFunction(), isMayAccess)
result = TAllAliasedMemory(operand.getEnclosingIRFunction(), isMayAccess, false)
or
kind instanceof EscapedInitializationMemoryAccess and
result = TAllAliasedMemory(operand.getEnclosingIRFunction(), false, true)
or
kind instanceof NonLocalMemoryAccess and
result = TAllNonLocalMemory(operand.getEnclosingIRFunction(), isMayAccess)

View File

@@ -68,8 +68,6 @@ private module Cached {
predicate hasConflatedMemoryResult(Instruction instruction) {
instruction instanceof AliasedDefinitionInstruction
or
instruction.getOpcode() instanceof Opcode::InitializeNonLocal
or
// Chi instructions track virtual variables, and therefore a chi instruction is
// conflated if it's associated with the aliased virtual variable.
exists(OldInstruction oldInstruction | instruction = getChi(oldInstruction) |

View File

@@ -441,34 +441,6 @@ module InstructionConsistency {
isOnAliasedDefinitionChain(instr.(PhiInstruction).getAnInputOperand().getAnyDef())
}
private predicate shouldBeConflated(Instruction instr) {
isOnAliasedDefinitionChain(instr)
or
instr.getOpcode() instanceof Opcode::InitializeNonLocal
}
query predicate notMarkedAsConflated(
Instruction instr, string message, OptionalIRFunction irFunc, string irFuncText
) {
shouldBeConflated(instr) and
not instr.isResultConflated() and
message =
"Instruction '" + instr.toString() +
"' should be marked as having a conflated result in function '$@'." and
irFunc = getInstructionIRFunction(instr, irFuncText)
}
query predicate wronglyMarkedAsConflated(
Instruction instr, string message, OptionalIRFunction irFunc, string irFuncText
) {
instr.isResultConflated() and
not shouldBeConflated(instr) and
message =
"Instruction '" + instr.toString() +
"' should not be marked as having a conflated result in function '$@'." and
irFunc = getInstructionIRFunction(instr, irFuncText)
}
query predicate invalidOverlap(
MemoryOperand useOperand, string message, OptionalIRFunction irFunc, string irFuncText
) {

View File

@@ -92,6 +92,11 @@ class Instruction extends Construction::TStageInstruction {
else result = "r"
}
private string getConflationPrefix() {
shouldGenerateDumpStrings() and
if isResultConflated() then result = "%" else result = ""
}
/**
* Gets the zero-based index of this instruction within its block. This is
* used by debugging and printing code only.
@@ -143,7 +148,8 @@ class Instruction extends Construction::TStageInstruction {
*/
final string getResultString() {
shouldGenerateDumpStrings() and
result = getResultId() + "(" + getResultLanguageType().getDumpString() + ")"
result =
getConflationPrefix() + getResultId() + "(" + getResultLanguageType().getDumpString() + ")"
}
/**
@@ -584,16 +590,6 @@ class InitializeParameterInstruction extends VariableInstruction {
final Language::Parameter getParameter() { result = var.(IRUserVariable).getVariable() }
}
/**
* An instruction that initializes all memory that existed before this function was called.
*
* This instruction provides a definition for memory that, because it was actually allocated and
* initialized elsewhere, would not otherwise have a definition in this function.
*/
class InitializeNonLocalInstruction extends Instruction {
InitializeNonLocalInstruction() { getOpcode() instanceof Opcode::InitializeNonLocal }
}
/**
* An instruction that initializes the memory pointed to by a parameter of the enclosing function
* with the value of that memory on entry to the function.

View File

@@ -166,8 +166,6 @@ predicate hasModeledMemoryResult(Instruction instruction) { none() }
predicate hasConflatedMemoryResult(Instruction instruction) {
instruction instanceof AliasedDefinitionInstruction
or
instruction.getOpcode() instanceof Opcode::InitializeNonLocal
}
Instruction getRegisterOperandDefinition(Instruction instruction, RegisterOperandTag tag) {

View File

@@ -28,7 +28,6 @@ newtype TInstructionTag =
ReturnTag() or
ExitFunctionTag() or
AliasedDefinitionTag() or
InitializeNonLocalTag() or
AliasedUseTag() or
SwitchBranchTag() or
CallTargetTag() or
@@ -128,8 +127,6 @@ string getInstructionTagId(TInstructionTag tag) {
or
tag = AliasedDefinitionTag() and result = "AliasedDef"
or
tag = InitializeNonLocalTag() and result = "InitNonLocal"
or
tag = AliasedUseTag() and result = "AliasedUse"
or
tag = SwitchBranchTag() and result = "SwitchBranch"

View File

@@ -114,11 +114,8 @@ class TranslatedFunction extends TranslatedElement, TTranslatedFunction {
tag = EnterFunctionTag() and
result = getInstruction(AliasedDefinitionTag())
or
tag = AliasedDefinitionTag() and
result = getInstruction(InitializeNonLocalTag())
or
(
tag = InitializeNonLocalTag() and
tag = AliasedDefinitionTag() and
if exists(getThisType())
then result = getParameter(-1).getFirstInstruction()
else
@@ -176,10 +173,6 @@ class TranslatedFunction extends TranslatedElement, TTranslatedFunction {
opcode instanceof Opcode::AliasedDefinition and
resultType = getUnknownType()
or
tag = InitializeNonLocalTag() and
opcode instanceof Opcode::InitializeNonLocal and
resultType = getUnknownType()
or
tag = ReturnValueAddressTag() and
opcode instanceof Opcode::VariableAddress and
resultType = getTypeForGLValue(getReturnType()) and

View File

@@ -441,34 +441,6 @@ module InstructionConsistency {
isOnAliasedDefinitionChain(instr.(PhiInstruction).getAnInputOperand().getAnyDef())
}
private predicate shouldBeConflated(Instruction instr) {
isOnAliasedDefinitionChain(instr)
or
instr.getOpcode() instanceof Opcode::InitializeNonLocal
}
query predicate notMarkedAsConflated(
Instruction instr, string message, OptionalIRFunction irFunc, string irFuncText
) {
shouldBeConflated(instr) and
not instr.isResultConflated() and
message =
"Instruction '" + instr.toString() +
"' should be marked as having a conflated result in function '$@'." and
irFunc = getInstructionIRFunction(instr, irFuncText)
}
query predicate wronglyMarkedAsConflated(
Instruction instr, string message, OptionalIRFunction irFunc, string irFuncText
) {
instr.isResultConflated() and
not shouldBeConflated(instr) and
message =
"Instruction '" + instr.toString() +
"' should not be marked as having a conflated result in function '$@'." and
irFunc = getInstructionIRFunction(instr, irFuncText)
}
query predicate invalidOverlap(
MemoryOperand useOperand, string message, OptionalIRFunction irFunc, string irFuncText
) {

View File

@@ -92,6 +92,11 @@ class Instruction extends Construction::TStageInstruction {
else result = "r"
}
private string getConflationPrefix() {
shouldGenerateDumpStrings() and
if isResultConflated() then result = "%" else result = ""
}
/**
* Gets the zero-based index of this instruction within its block. This is
* used by debugging and printing code only.
@@ -143,7 +148,8 @@ class Instruction extends Construction::TStageInstruction {
*/
final string getResultString() {
shouldGenerateDumpStrings() and
result = getResultId() + "(" + getResultLanguageType().getDumpString() + ")"
result =
getConflationPrefix() + getResultId() + "(" + getResultLanguageType().getDumpString() + ")"
}
/**
@@ -584,16 +590,6 @@ class InitializeParameterInstruction extends VariableInstruction {
final Language::Parameter getParameter() { result = var.(IRUserVariable).getVariable() }
}
/**
* An instruction that initializes all memory that existed before this function was called.
*
* This instruction provides a definition for memory that, because it was actually allocated and
* initialized elsewhere, would not otherwise have a definition in this function.
*/
class InitializeNonLocalInstruction extends Instruction {
InitializeNonLocalInstruction() { getOpcode() instanceof Opcode::InitializeNonLocal }
}
/**
* An instruction that initializes the memory pointed to by a parameter of the enclosing function
* with the value of that memory on entry to the function.

View File

@@ -68,8 +68,6 @@ private module Cached {
predicate hasConflatedMemoryResult(Instruction instruction) {
instruction instanceof AliasedDefinitionInstruction
or
instruction.getOpcode() instanceof Opcode::InitializeNonLocal
or
// Chi instructions track virtual variables, and therefore a chi instruction is
// conflated if it's associated with the aliased virtual variable.
exists(OldInstruction oldInstruction | instruction = getChi(oldInstruction) |

View File

@@ -17,8 +17,6 @@ lostReachability
backEdgeCountMismatch
useNotDominatedByDefinition
switchInstructionWithoutDefaultEdge
notMarkedAsConflated
wronglyMarkedAsConflated
invalidOverlap
nonUniqueEnclosingIRFunction
fieldAddressOnNonPointer

View File

@@ -17,8 +17,6 @@ lostReachability
backEdgeCountMismatch
useNotDominatedByDefinition
switchInstructionWithoutDefaultEdge
notMarkedAsConflated
wronglyMarkedAsConflated
invalidOverlap
nonUniqueEnclosingIRFunction
fieldAddressOnNonPointer

View File

@@ -17,8 +17,6 @@ lostReachability
backEdgeCountMismatch
useNotDominatedByDefinition
switchInstructionWithoutDefaultEdge
notMarkedAsConflated
wronglyMarkedAsConflated
invalidOverlap
nonUniqueEnclosingIRFunction
fieldAddressOnNonPointer

File diff suppressed because it is too large Load Diff

View File

@@ -17,8 +17,6 @@ lostReachability
backEdgeCountMismatch
useNotDominatedByDefinition
switchInstructionWithoutDefaultEdge
notMarkedAsConflated
wronglyMarkedAsConflated
invalidOverlap
nonUniqueEnclosingIRFunction
fieldAddressOnNonPointer

View File

@@ -17,8 +17,6 @@ lostReachability
backEdgeCountMismatch
useNotDominatedByDefinition
switchInstructionWithoutDefaultEdge
notMarkedAsConflated
wronglyMarkedAsConflated
invalidOverlap
nonUniqueEnclosingIRFunction
fieldAddressOnNonPointer

View File

@@ -17,8 +17,6 @@ lostReachability
backEdgeCountMismatch
useNotDominatedByDefinition
switchInstructionWithoutDefaultEdge
notMarkedAsConflated
wronglyMarkedAsConflated
invalidOverlap
nonUniqueEnclosingIRFunction
fieldAddressOnNonPointer

View File

@@ -17,8 +17,6 @@ lostReachability
backEdgeCountMismatch
useNotDominatedByDefinition
switchInstructionWithoutDefaultEdge
notMarkedAsConflated
wronglyMarkedAsConflated
invalidOverlap
nonUniqueEnclosingIRFunction
fieldAddressOnNonPointer

File diff suppressed because it is too large Load Diff

View File

@@ -311,3 +311,12 @@ class ThisAliasTest {
this->x = arg;
}
};
int staticLocalInit(int x) {
static int a = 0; // Constant initialization
static int b = sizeof(x); // Constant initialization
static int c = x; // Dynamic initialization
static int d; // Zero initialization
return a + b + c + d;
}

View File

@@ -17,8 +17,6 @@ lostReachability
backEdgeCountMismatch
useNotDominatedByDefinition
switchInstructionWithoutDefaultEdge
notMarkedAsConflated
wronglyMarkedAsConflated
invalidOverlap
nonUniqueEnclosingIRFunction
fieldAddressOnNonPointer

View File

@@ -17,8 +17,6 @@ lostReachability
backEdgeCountMismatch
useNotDominatedByDefinition
switchInstructionWithoutDefaultEdge
notMarkedAsConflated
wronglyMarkedAsConflated
invalidOverlap
nonUniqueEnclosingIRFunction
fieldAddressOnNonPointer

File diff suppressed because it is too large Load Diff

View File

@@ -19,66 +19,66 @@ instructionWithoutSuccessor
| ms_try_mix.cpp:48:10:48:13 | Chi: call to C | Instruction 'Chi: call to C' has no successors in function '$@'. | ms_try_mix.cpp:47:6:47:28 | void ms_empty_finally_at_end() | void ms_empty_finally_at_end() |
| stmt_expr.cpp:27:5:27:15 | Store: ... = ... | Instruction 'Store: ... = ...' has no successors in function '$@'. | stmt_expr.cpp:21:6:21:6 | void stmtexpr::g(int) | void stmtexpr::g(int) |
| vla.c:5:9:5:14 | Uninitialized: definition of matrix | Instruction 'Uninitialized: definition of matrix' has no successors in function '$@'. | vla.c:3:5:3:8 | int main(int, char**) | int main(int, char**) |
| vla.c:11:6:11:16 | Chi: vla_typedef | Instruction 'Chi: vla_typedef' has no successors in function '$@'. | vla.c:11:6:11:16 | void vla_typedef() | void vla_typedef() |
| vla.c:11:6:11:16 | AliasedDefinition: vla_typedef | Instruction 'AliasedDefinition: vla_typedef' has no successors in function '$@'. | vla.c:11:6:11:16 | void vla_typedef() | void vla_typedef() |
ambiguousSuccessors
| allocators.cpp:14:5:14:8 | Chi: main | Instruction 'Chi: main' has 4 successors of kind 'Goto' in function '$@'. | allocators.cpp:14:5:14:8 | int main() | int main() |
| array_delete.cpp:5:6:5:6 | Chi: f | Instruction 'Chi: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| assignexpr.cpp:6:6:6:6 | Chi: f | Instruction 'Chi: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| allocators.cpp:14:5:14:8 | AliasedDefinition: main | Instruction 'AliasedDefinition: main' has 4 successors of kind 'Goto' in function '$@'. | allocators.cpp:14:5:14:8 | int main() | int main() |
| array_delete.cpp:5:6:5:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| assignexpr.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| break_labels.c:2:11:2:11 | InitializeParameter: i | Instruction 'InitializeParameter: i' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| break_labels.c:2:11:2:11 | InitializeParameter: i | Instruction 'InitializeParameter: x' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| break_labels.c:2:11:2:11 | InitializeParameter: x | Instruction 'InitializeParameter: i' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| break_labels.c:2:11:2:11 | InitializeParameter: x | Instruction 'InitializeParameter: x' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| conditional_destructors.cpp:29:6:29:7 | Chi: f1 | Instruction 'Chi: f1' has 2 successors of kind 'Goto' in function '$@'. | conditional_destructors.cpp:29:6:29:7 | void f1() | void f1() |
| conditional_destructors.cpp:38:6:38:7 | Chi: f2 | Instruction 'Chi: f2' has 2 successors of kind 'Goto' in function '$@'. | conditional_destructors.cpp:38:6:38:7 | void f2() | void f2() |
| constmemberaccess.cpp:6:6:6:6 | Chi: f | Instruction 'Chi: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| constructorinitializer.cpp:6:6:6:6 | Chi: f | Instruction 'Chi: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| defconstructornewexpr.cpp:3:6:3:6 | Chi: f | Instruction 'Chi: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| defdestructordeleteexpr.cpp:3:6:3:6 | Chi: f | Instruction 'Chi: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| deleteexpr.cpp:6:6:6:6 | Chi: f | Instruction 'Chi: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| dostmt.c:8:6:8:18 | Chi: always_true_1 | Instruction 'Chi: always_true_1' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:8:6:8:18 | void always_true_1() | void always_true_1() |
| dostmt.c:16:6:16:18 | Chi: always_true_2 | Instruction 'Chi: always_true_2' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:16:6:16:18 | void always_true_2() | void always_true_2() |
| dostmt.c:25:6:25:18 | Chi: always_true_3 | Instruction 'Chi: always_true_3' has 2 successors of kind 'Goto' in function '$@'. | dostmt.c:25:6:25:18 | void always_true_3() | void always_true_3() |
| conditional_destructors.cpp:29:6:29:7 | AliasedDefinition: f1 | Instruction 'AliasedDefinition: f1' has 2 successors of kind 'Goto' in function '$@'. | conditional_destructors.cpp:29:6:29:7 | void f1() | void f1() |
| conditional_destructors.cpp:38:6:38:7 | AliasedDefinition: f2 | Instruction 'AliasedDefinition: f2' has 2 successors of kind 'Goto' in function '$@'. | conditional_destructors.cpp:38:6:38:7 | void f2() | void f2() |
| constmemberaccess.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| constructorinitializer.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| defconstructornewexpr.cpp:3:6:3:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| defdestructordeleteexpr.cpp:3:6:3:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| deleteexpr.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| dostmt.c:8:6:8:18 | AliasedDefinition: always_true_1 | Instruction 'AliasedDefinition: always_true_1' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:8:6:8:18 | void always_true_1() | void always_true_1() |
| dostmt.c:16:6:16:18 | AliasedDefinition: always_true_2 | Instruction 'AliasedDefinition: always_true_2' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:16:6:16:18 | void always_true_2() | void always_true_2() |
| dostmt.c:25:6:25:18 | AliasedDefinition: always_true_3 | Instruction 'AliasedDefinition: always_true_3' has 2 successors of kind 'Goto' in function '$@'. | dostmt.c:25:6:25:18 | void always_true_3() | void always_true_3() |
| duff.c:2:12:2:12 | InitializeParameter: i | Instruction 'InitializeParameter: i' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| duff.c:2:12:2:12 | InitializeParameter: i | Instruction 'InitializeParameter: x' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| duff.c:2:12:2:12 | InitializeParameter: x | Instruction 'InitializeParameter: i' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| duff.c:2:12:2:12 | InitializeParameter: x | Instruction 'InitializeParameter: x' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| fieldaccess.cpp:6:6:6:6 | Chi: f | Instruction 'Chi: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| forstmt.cpp:1:6:1:7 | Chi: f1 | Instruction 'Chi: f1' has 2 successors of kind 'Goto' in function '$@'. | conditional_destructors.cpp:29:6:29:7 | void f1() | void f1() |
| forstmt.cpp:8:6:8:7 | Chi: f2 | Instruction 'Chi: f2' has 2 successors of kind 'Goto' in function '$@'. | conditional_destructors.cpp:38:6:38:7 | void f2() | void f2() |
| ifelsestmt.c:1:6:1:19 | Chi: always_false_1 | Instruction 'Chi: always_false_1' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:1:6:1:19 | void always_false_1() | void always_false_1() |
| ifelsestmt.c:11:6:11:19 | Chi: always_false_2 | Instruction 'Chi: always_false_2' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:11:6:11:19 | void always_false_2() | void always_false_2() |
| ifelsestmt.c:19:6:19:18 | Chi: always_true_1 | Instruction 'Chi: always_true_1' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:8:6:8:18 | void always_true_1() | void always_true_1() |
| ifelsestmt.c:29:6:29:18 | Chi: always_true_2 | Instruction 'Chi: always_true_2' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:16:6:16:18 | void always_true_2() | void always_true_2() |
| fieldaccess.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| forstmt.cpp:1:6:1:7 | AliasedDefinition: f1 | Instruction 'AliasedDefinition: f1' has 2 successors of kind 'Goto' in function '$@'. | conditional_destructors.cpp:29:6:29:7 | void f1() | void f1() |
| forstmt.cpp:8:6:8:7 | AliasedDefinition: f2 | Instruction 'AliasedDefinition: f2' has 2 successors of kind 'Goto' in function '$@'. | conditional_destructors.cpp:38:6:38:7 | void f2() | void f2() |
| ifelsestmt.c:1:6:1:19 | AliasedDefinition: always_false_1 | Instruction 'AliasedDefinition: always_false_1' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:1:6:1:19 | void always_false_1() | void always_false_1() |
| ifelsestmt.c:11:6:11:19 | AliasedDefinition: always_false_2 | Instruction 'AliasedDefinition: always_false_2' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:11:6:11:19 | void always_false_2() | void always_false_2() |
| ifelsestmt.c:19:6:19:18 | AliasedDefinition: always_true_1 | Instruction 'AliasedDefinition: always_true_1' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:8:6:8:18 | void always_true_1() | void always_true_1() |
| ifelsestmt.c:29:6:29:18 | AliasedDefinition: always_true_2 | Instruction 'AliasedDefinition: always_true_2' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:16:6:16:18 | void always_true_2() | void always_true_2() |
| ifelsestmt.c:37:24:37:24 | InitializeParameter: y | Instruction 'InitializeParameter: y' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:32:6:32:11 | void normal(int, int) | void normal(int, int) |
| ifstmt.c:1:6:1:19 | Chi: always_false_1 | Instruction 'Chi: always_false_1' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:1:6:1:19 | void always_false_1() | void always_false_1() |
| ifstmt.c:8:6:8:19 | Chi: always_false_2 | Instruction 'Chi: always_false_2' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:11:6:11:19 | void always_false_2() | void always_false_2() |
| ifstmt.c:14:6:14:18 | Chi: always_true_1 | Instruction 'Chi: always_true_1' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:8:6:8:18 | void always_true_1() | void always_true_1() |
| ifstmt.c:21:6:21:18 | Chi: always_true_2 | Instruction 'Chi: always_true_2' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:16:6:16:18 | void always_true_2() | void always_true_2() |
| ifstmt.c:1:6:1:19 | AliasedDefinition: always_false_1 | Instruction 'AliasedDefinition: always_false_1' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:1:6:1:19 | void always_false_1() | void always_false_1() |
| ifstmt.c:8:6:8:19 | AliasedDefinition: always_false_2 | Instruction 'AliasedDefinition: always_false_2' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:11:6:11:19 | void always_false_2() | void always_false_2() |
| ifstmt.c:14:6:14:18 | AliasedDefinition: always_true_1 | Instruction 'AliasedDefinition: always_true_1' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:8:6:8:18 | void always_true_1() | void always_true_1() |
| ifstmt.c:21:6:21:18 | AliasedDefinition: always_true_2 | Instruction 'AliasedDefinition: always_true_2' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:16:6:16:18 | void always_true_2() | void always_true_2() |
| ifstmt.c:27:24:27:24 | InitializeParameter: y | Instruction 'InitializeParameter: y' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:32:6:32:11 | void normal(int, int) | void normal(int, int) |
| membercallexpr.cpp:6:6:6:6 | Chi: f | Instruction 'Chi: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| membercallexpr_args.cpp:7:6:7:6 | Chi: f | Instruction 'Chi: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| newexpr.cpp:6:6:6:6 | Chi: f | Instruction 'Chi: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| no_dynamic_init.cpp:9:5:9:8 | Chi: main | Instruction 'Chi: main' has 4 successors of kind 'Goto' in function '$@'. | allocators.cpp:14:5:14:8 | int main() | int main() |
| membercallexpr.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| membercallexpr_args.cpp:7:6:7:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| newexpr.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| no_dynamic_init.cpp:9:5:9:8 | AliasedDefinition: main | Instruction 'AliasedDefinition: main' has 4 successors of kind 'Goto' in function '$@'. | allocators.cpp:14:5:14:8 | int main() | int main() |
| nodefaultswitchstmt.c:1:12:1:12 | InitializeParameter: i | Instruction 'InitializeParameter: i' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| nodefaultswitchstmt.c:1:12:1:12 | InitializeParameter: i | Instruction 'InitializeParameter: x' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| nodefaultswitchstmt.c:1:12:1:12 | InitializeParameter: x | Instruction 'InitializeParameter: i' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| nodefaultswitchstmt.c:1:12:1:12 | InitializeParameter: x | Instruction 'InitializeParameter: x' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| nonmembercallexpr.c:1:6:1:6 | Chi: g | Instruction 'Chi: g' has 2 successors of kind 'Goto' in function '$@'. | nonmembercallexpr.c:1:6:1:6 | void g(); void g())(); void(* g(); void(* g())() | void g(); void g())(); void(* g(); void(* g())() |
| parameterinitializer.cpp:18:5:18:8 | Chi: main | Instruction 'Chi: main' has 4 successors of kind 'Goto' in function '$@'. | allocators.cpp:14:5:14:8 | int main() | int main() |
| pmcallexpr.cpp:6:6:6:6 | Chi: f | Instruction 'Chi: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| revsubscriptexpr.c:1:6:1:6 | Chi: g | Instruction 'Chi: g' has 2 successors of kind 'Goto' in function '$@'. | nonmembercallexpr.c:1:6:1:6 | void g(); void g())(); void(* g(); void(* g())() | void g(); void g())(); void(* g(); void(* g())() |
| staticmembercallexpr.cpp:6:6:6:6 | Chi: f | Instruction 'Chi: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| staticmembercallexpr_args.cpp:7:6:7:6 | Chi: f | Instruction 'Chi: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| stream_it.cpp:16:5:16:8 | Chi: main | Instruction 'Chi: main' has 4 successors of kind 'Goto' in function '$@'. | allocators.cpp:14:5:14:8 | int main() | int main() |
| nonmembercallexpr.c:1:6:1:6 | AliasedDefinition: g | Instruction 'AliasedDefinition: g' has 2 successors of kind 'Goto' in function '$@'. | nonmembercallexpr.c:1:6:1:6 | void g(); void g())(); void(* g(); void(* g())() | void g(); void g())(); void(* g(); void(* g())() |
| parameterinitializer.cpp:18:5:18:8 | AliasedDefinition: main | Instruction 'AliasedDefinition: main' has 4 successors of kind 'Goto' in function '$@'. | allocators.cpp:14:5:14:8 | int main() | int main() |
| pmcallexpr.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| revsubscriptexpr.c:1:6:1:6 | AliasedDefinition: g | Instruction 'AliasedDefinition: g' has 2 successors of kind 'Goto' in function '$@'. | nonmembercallexpr.c:1:6:1:6 | void g(); void g())(); void(* g(); void(* g())() | void g(); void g())(); void(* g(); void(* g())() |
| staticmembercallexpr.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| staticmembercallexpr_args.cpp:7:6:7:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| stream_it.cpp:16:5:16:8 | AliasedDefinition: main | Instruction 'AliasedDefinition: main' has 4 successors of kind 'Goto' in function '$@'. | allocators.cpp:14:5:14:8 | int main() | int main() |
| switchstmt.c:1:12:1:12 | InitializeParameter: i | Instruction 'InitializeParameter: i' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| switchstmt.c:1:12:1:12 | InitializeParameter: i | Instruction 'InitializeParameter: x' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| switchstmt.c:1:12:1:12 | InitializeParameter: x | Instruction 'InitializeParameter: i' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| switchstmt.c:1:12:1:12 | InitializeParameter: x | Instruction 'InitializeParameter: x' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| whilestmt.c:1:6:1:19 | Chi: always_false_1 | Instruction 'Chi: always_false_1' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:1:6:1:19 | void always_false_1() | void always_false_1() |
| whilestmt.c:8:6:8:19 | Chi: always_false_2 | Instruction 'Chi: always_false_2' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:11:6:11:19 | void always_false_2() | void always_false_2() |
| whilestmt.c:15:6:15:18 | Chi: always_true_1 | Instruction 'Chi: always_true_1' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:8:6:8:18 | void always_true_1() | void always_true_1() |
| whilestmt.c:23:6:23:18 | Chi: always_true_2 | Instruction 'Chi: always_true_2' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:16:6:16:18 | void always_true_2() | void always_true_2() |
| whilestmt.c:32:6:32:18 | Chi: always_true_3 | Instruction 'Chi: always_true_3' has 2 successors of kind 'Goto' in function '$@'. | dostmt.c:25:6:25:18 | void always_true_3() | void always_true_3() |
| whilestmt.c:1:6:1:19 | AliasedDefinition: always_false_1 | Instruction 'AliasedDefinition: always_false_1' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:1:6:1:19 | void always_false_1() | void always_false_1() |
| whilestmt.c:8:6:8:19 | AliasedDefinition: always_false_2 | Instruction 'AliasedDefinition: always_false_2' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:11:6:11:19 | void always_false_2() | void always_false_2() |
| whilestmt.c:15:6:15:18 | AliasedDefinition: always_true_1 | Instruction 'AliasedDefinition: always_true_1' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:8:6:8:18 | void always_true_1() | void always_true_1() |
| whilestmt.c:23:6:23:18 | AliasedDefinition: always_true_2 | Instruction 'AliasedDefinition: always_true_2' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:16:6:16:18 | void always_true_2() | void always_true_2() |
| whilestmt.c:32:6:32:18 | AliasedDefinition: always_true_3 | Instruction 'AliasedDefinition: always_true_3' has 2 successors of kind 'Goto' in function '$@'. | dostmt.c:25:6:25:18 | void always_true_3() | void always_true_3() |
unexplainedLoop
unnecessaryPhiInstruction
memoryOperandDefinitionIsUnmodeled
@@ -89,8 +89,6 @@ lostReachability
backEdgeCountMismatch
useNotDominatedByDefinition
switchInstructionWithoutDefaultEdge
notMarkedAsConflated
wronglyMarkedAsConflated
invalidOverlap
nonUniqueEnclosingIRFunction
fieldAddressOnNonPointer

View File

@@ -3,12 +3,8 @@ uniqueType
uniqueNodeLocation
| aggregateinitializer.c:1:6:1:6 | AliasedDefinition | Node should have one location but has 20. |
| aggregateinitializer.c:1:6:1:6 | AliasedUse | Node should have one location but has 20. |
| aggregateinitializer.c:1:6:1:6 | Chi | Node should have one location but has 20. |
| aggregateinitializer.c:1:6:1:6 | ChiPartial | Node should have one location but has 20. |
| aggregateinitializer.c:1:6:1:6 | ChiTotal | Node should have one location but has 20. |
| aggregateinitializer.c:1:6:1:6 | EnterFunction | Node should have one location but has 20. |
| aggregateinitializer.c:1:6:1:6 | ExitFunction | Node should have one location but has 20. |
| aggregateinitializer.c:1:6:1:6 | InitializeNonLocal | Node should have one location but has 20. |
| aggregateinitializer.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| aggregateinitializer.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| aggregateinitializer.c:1:6:1:6 | Phi | Node should have one location but has 20. |
@@ -34,12 +30,8 @@ uniqueNodeLocation
| allocators.cpp:14:5:14:8 | Address | Node should have one location but has 4. |
| allocators.cpp:14:5:14:8 | AliasedDefinition | Node should have one location but has 4. |
| allocators.cpp:14:5:14:8 | AliasedUse | Node should have one location but has 4. |
| allocators.cpp:14:5:14:8 | Chi | Node should have one location but has 4. |
| allocators.cpp:14:5:14:8 | ChiPartial | Node should have one location but has 4. |
| allocators.cpp:14:5:14:8 | ChiTotal | Node should have one location but has 4. |
| allocators.cpp:14:5:14:8 | EnterFunction | Node should have one location but has 4. |
| allocators.cpp:14:5:14:8 | ExitFunction | Node should have one location but has 4. |
| allocators.cpp:14:5:14:8 | InitializeNonLocal | Node should have one location but has 4. |
| allocators.cpp:14:5:14:8 | Load | Node should have one location but has 4. |
| allocators.cpp:14:5:14:8 | Phi | Node should have one location but has 4. |
| allocators.cpp:14:5:14:8 | Phi | Node should have one location but has 4. |
@@ -56,12 +48,8 @@ uniqueNodeLocation
| allocators.cpp:14:5:14:8 | VariableAddress | Node should have one location but has 4. |
| array_delete.cpp:5:6:5:6 | AliasedDefinition | Node should have one location but has 14. |
| array_delete.cpp:5:6:5:6 | AliasedUse | Node should have one location but has 14. |
| array_delete.cpp:5:6:5:6 | Chi | Node should have one location but has 14. |
| array_delete.cpp:5:6:5:6 | ChiPartial | Node should have one location but has 14. |
| array_delete.cpp:5:6:5:6 | ChiTotal | Node should have one location but has 14. |
| array_delete.cpp:5:6:5:6 | EnterFunction | Node should have one location but has 14. |
| array_delete.cpp:5:6:5:6 | ExitFunction | Node should have one location but has 14. |
| array_delete.cpp:5:6:5:6 | InitializeNonLocal | Node should have one location but has 14. |
| array_delete.cpp:5:6:5:6 | Phi | Node should have one location but has 14. |
| array_delete.cpp:5:6:5:6 | Phi | Node should have one location but has 14. |
| array_delete.cpp:5:6:5:6 | Phi | Node should have one location but has 14. |
@@ -81,12 +69,8 @@ uniqueNodeLocation
| array_delete.cpp:5:6:5:6 | SideEffect | Node should have one location but has 14. |
| assignexpr.cpp:6:6:6:6 | AliasedDefinition | Node should have one location but has 14. |
| assignexpr.cpp:6:6:6:6 | AliasedUse | Node should have one location but has 14. |
| assignexpr.cpp:6:6:6:6 | Chi | Node should have one location but has 14. |
| assignexpr.cpp:6:6:6:6 | ChiPartial | Node should have one location but has 14. |
| assignexpr.cpp:6:6:6:6 | ChiTotal | Node should have one location but has 14. |
| assignexpr.cpp:6:6:6:6 | EnterFunction | Node should have one location but has 14. |
| assignexpr.cpp:6:6:6:6 | ExitFunction | Node should have one location but has 14. |
| assignexpr.cpp:6:6:6:6 | InitializeNonLocal | Node should have one location but has 14. |
| assignexpr.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
| assignexpr.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
| assignexpr.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
@@ -106,12 +90,8 @@ uniqueNodeLocation
| assignexpr.cpp:6:6:6:6 | SideEffect | Node should have one location but has 14. |
| break_labels.c:2:5:2:5 | AliasedDefinition | Node should have one location but has 20. |
| break_labels.c:2:5:2:5 | AliasedUse | Node should have one location but has 20. |
| break_labels.c:2:5:2:5 | Chi | Node should have one location but has 20. |
| break_labels.c:2:5:2:5 | ChiPartial | Node should have one location but has 20. |
| break_labels.c:2:5:2:5 | ChiTotal | Node should have one location but has 20. |
| break_labels.c:2:5:2:5 | EnterFunction | Node should have one location but has 20. |
| break_labels.c:2:5:2:5 | ExitFunction | Node should have one location but has 20. |
| break_labels.c:2:5:2:5 | InitializeNonLocal | Node should have one location but has 20. |
| break_labels.c:2:5:2:5 | Phi | Node should have one location but has 20. |
| break_labels.c:2:5:2:5 | Phi | Node should have one location but has 20. |
| break_labels.c:2:5:2:5 | Phi | Node should have one location but has 20. |
@@ -142,12 +122,8 @@ uniqueNodeLocation
| break_labels.c:2:11:2:11 | x | Node should have one location but has 4. |
| conditional_destructors.cpp:29:6:29:7 | AliasedDefinition | Node should have one location but has 2. |
| conditional_destructors.cpp:29:6:29:7 | AliasedUse | Node should have one location but has 2. |
| conditional_destructors.cpp:29:6:29:7 | Chi | Node should have one location but has 2. |
| conditional_destructors.cpp:29:6:29:7 | ChiPartial | Node should have one location but has 2. |
| conditional_destructors.cpp:29:6:29:7 | ChiTotal | Node should have one location but has 2. |
| conditional_destructors.cpp:29:6:29:7 | EnterFunction | Node should have one location but has 2. |
| conditional_destructors.cpp:29:6:29:7 | ExitFunction | Node should have one location but has 2. |
| conditional_destructors.cpp:29:6:29:7 | InitializeNonLocal | Node should have one location but has 2. |
| conditional_destructors.cpp:29:6:29:7 | Phi | Node should have one location but has 2. |
| conditional_destructors.cpp:29:6:29:7 | Phi | Node should have one location but has 2. |
| conditional_destructors.cpp:29:6:29:7 | Phi | Node should have one location but has 2. |
@@ -155,12 +131,8 @@ uniqueNodeLocation
| conditional_destructors.cpp:29:6:29:7 | SideEffect | Node should have one location but has 2. |
| conditional_destructors.cpp:38:6:38:7 | AliasedDefinition | Node should have one location but has 2. |
| conditional_destructors.cpp:38:6:38:7 | AliasedUse | Node should have one location but has 2. |
| conditional_destructors.cpp:38:6:38:7 | Chi | Node should have one location but has 2. |
| conditional_destructors.cpp:38:6:38:7 | ChiPartial | Node should have one location but has 2. |
| conditional_destructors.cpp:38:6:38:7 | ChiTotal | Node should have one location but has 2. |
| conditional_destructors.cpp:38:6:38:7 | EnterFunction | Node should have one location but has 2. |
| conditional_destructors.cpp:38:6:38:7 | ExitFunction | Node should have one location but has 2. |
| conditional_destructors.cpp:38:6:38:7 | InitializeNonLocal | Node should have one location but has 2. |
| conditional_destructors.cpp:38:6:38:7 | Phi | Node should have one location but has 2. |
| conditional_destructors.cpp:38:6:38:7 | Phi | Node should have one location but has 2. |
| conditional_destructors.cpp:38:6:38:7 | Phi | Node should have one location but has 2. |
@@ -170,12 +142,8 @@ uniqueNodeLocation
| constmemberaccess.cpp:3:7:3:7 | x | Node should have one location but has 2. |
| constmemberaccess.cpp:6:6:6:6 | AliasedDefinition | Node should have one location but has 14. |
| constmemberaccess.cpp:6:6:6:6 | AliasedUse | Node should have one location but has 14. |
| constmemberaccess.cpp:6:6:6:6 | Chi | Node should have one location but has 14. |
| constmemberaccess.cpp:6:6:6:6 | ChiPartial | Node should have one location but has 14. |
| constmemberaccess.cpp:6:6:6:6 | ChiTotal | Node should have one location but has 14. |
| constmemberaccess.cpp:6:6:6:6 | EnterFunction | Node should have one location but has 14. |
| constmemberaccess.cpp:6:6:6:6 | ExitFunction | Node should have one location but has 14. |
| constmemberaccess.cpp:6:6:6:6 | InitializeNonLocal | Node should have one location but has 14. |
| constmemberaccess.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
| constmemberaccess.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
| constmemberaccess.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
@@ -199,12 +167,8 @@ uniqueNodeLocation
| constructorinitializer.cpp:3:16:3:16 | y | Node should have one location but has 2. |
| constructorinitializer.cpp:6:6:6:6 | AliasedDefinition | Node should have one location but has 14. |
| constructorinitializer.cpp:6:6:6:6 | AliasedUse | Node should have one location but has 14. |
| constructorinitializer.cpp:6:6:6:6 | Chi | Node should have one location but has 14. |
| constructorinitializer.cpp:6:6:6:6 | ChiPartial | Node should have one location but has 14. |
| constructorinitializer.cpp:6:6:6:6 | ChiTotal | Node should have one location but has 14. |
| constructorinitializer.cpp:6:6:6:6 | EnterFunction | Node should have one location but has 14. |
| constructorinitializer.cpp:6:6:6:6 | ExitFunction | Node should have one location but has 14. |
| constructorinitializer.cpp:6:6:6:6 | InitializeNonLocal | Node should have one location but has 14. |
| constructorinitializer.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
| constructorinitializer.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
| constructorinitializer.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
@@ -224,12 +188,8 @@ uniqueNodeLocation
| constructorinitializer.cpp:6:6:6:6 | SideEffect | Node should have one location but has 14. |
| defconstructornewexpr.cpp:3:6:3:6 | AliasedDefinition | Node should have one location but has 14. |
| defconstructornewexpr.cpp:3:6:3:6 | AliasedUse | Node should have one location but has 14. |
| defconstructornewexpr.cpp:3:6:3:6 | Chi | Node should have one location but has 14. |
| defconstructornewexpr.cpp:3:6:3:6 | ChiPartial | Node should have one location but has 14. |
| defconstructornewexpr.cpp:3:6:3:6 | ChiTotal | Node should have one location but has 14. |
| defconstructornewexpr.cpp:3:6:3:6 | EnterFunction | Node should have one location but has 14. |
| defconstructornewexpr.cpp:3:6:3:6 | ExitFunction | Node should have one location but has 14. |
| defconstructornewexpr.cpp:3:6:3:6 | InitializeNonLocal | Node should have one location but has 14. |
| defconstructornewexpr.cpp:3:6:3:6 | Phi | Node should have one location but has 14. |
| defconstructornewexpr.cpp:3:6:3:6 | Phi | Node should have one location but has 14. |
| defconstructornewexpr.cpp:3:6:3:6 | Phi | Node should have one location but has 14. |
@@ -249,12 +209,8 @@ uniqueNodeLocation
| defconstructornewexpr.cpp:3:6:3:6 | SideEffect | Node should have one location but has 14. |
| defdestructordeleteexpr.cpp:3:6:3:6 | AliasedDefinition | Node should have one location but has 14. |
| defdestructordeleteexpr.cpp:3:6:3:6 | AliasedUse | Node should have one location but has 14. |
| defdestructordeleteexpr.cpp:3:6:3:6 | Chi | Node should have one location but has 14. |
| defdestructordeleteexpr.cpp:3:6:3:6 | ChiPartial | Node should have one location but has 14. |
| defdestructordeleteexpr.cpp:3:6:3:6 | ChiTotal | Node should have one location but has 14. |
| defdestructordeleteexpr.cpp:3:6:3:6 | EnterFunction | Node should have one location but has 14. |
| defdestructordeleteexpr.cpp:3:6:3:6 | ExitFunction | Node should have one location but has 14. |
| defdestructordeleteexpr.cpp:3:6:3:6 | InitializeNonLocal | Node should have one location but has 14. |
| defdestructordeleteexpr.cpp:3:6:3:6 | Phi | Node should have one location but has 14. |
| defdestructordeleteexpr.cpp:3:6:3:6 | Phi | Node should have one location but has 14. |
| defdestructordeleteexpr.cpp:3:6:3:6 | Phi | Node should have one location but has 14. |
@@ -274,12 +230,8 @@ uniqueNodeLocation
| defdestructordeleteexpr.cpp:3:6:3:6 | SideEffect | Node should have one location but has 14. |
| deleteexpr.cpp:6:6:6:6 | AliasedDefinition | Node should have one location but has 14. |
| deleteexpr.cpp:6:6:6:6 | AliasedUse | Node should have one location but has 14. |
| deleteexpr.cpp:6:6:6:6 | Chi | Node should have one location but has 14. |
| deleteexpr.cpp:6:6:6:6 | ChiPartial | Node should have one location but has 14. |
| deleteexpr.cpp:6:6:6:6 | ChiTotal | Node should have one location but has 14. |
| deleteexpr.cpp:6:6:6:6 | EnterFunction | Node should have one location but has 14. |
| deleteexpr.cpp:6:6:6:6 | ExitFunction | Node should have one location but has 14. |
| deleteexpr.cpp:6:6:6:6 | InitializeNonLocal | Node should have one location but has 14. |
| deleteexpr.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
| deleteexpr.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
| deleteexpr.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
@@ -299,51 +251,31 @@ uniqueNodeLocation
| deleteexpr.cpp:6:6:6:6 | SideEffect | Node should have one location but has 14. |
| dostmt.c:8:6:8:18 | AliasedDefinition | Node should have one location but has 4. |
| dostmt.c:8:6:8:18 | AliasedUse | Node should have one location but has 4. |
| dostmt.c:8:6:8:18 | Chi | Node should have one location but has 4. |
| dostmt.c:8:6:8:18 | ChiPartial | Node should have one location but has 4. |
| dostmt.c:8:6:8:18 | ChiTotal | Node should have one location but has 4. |
| dostmt.c:8:6:8:18 | EnterFunction | Node should have one location but has 4. |
| dostmt.c:8:6:8:18 | ExitFunction | Node should have one location but has 4. |
| dostmt.c:8:6:8:18 | InitializeNonLocal | Node should have one location but has 4. |
| dostmt.c:8:6:8:18 | ReturnVoid | Node should have one location but has 4. |
| dostmt.c:8:6:8:18 | SideEffect | Node should have one location but has 4. |
| dostmt.c:8:6:8:18 | Unreached | Node should have one location but has 4. |
| dostmt.c:16:6:16:18 | AliasedDefinition | Node should have one location but has 4. |
| dostmt.c:16:6:16:18 | AliasedUse | Node should have one location but has 4. |
| dostmt.c:16:6:16:18 | Chi | Node should have one location but has 4. |
| dostmt.c:16:6:16:18 | ChiPartial | Node should have one location but has 4. |
| dostmt.c:16:6:16:18 | ChiTotal | Node should have one location but has 4. |
| dostmt.c:16:6:16:18 | EnterFunction | Node should have one location but has 4. |
| dostmt.c:16:6:16:18 | ExitFunction | Node should have one location but has 4. |
| dostmt.c:16:6:16:18 | InitializeNonLocal | Node should have one location but has 4. |
| dostmt.c:16:6:16:18 | ReturnVoid | Node should have one location but has 4. |
| dostmt.c:16:6:16:18 | SideEffect | Node should have one location but has 4. |
| dostmt.c:16:6:16:18 | Unreached | Node should have one location but has 4. |
| dostmt.c:25:6:25:18 | AliasedDefinition | Node should have one location but has 2. |
| dostmt.c:25:6:25:18 | Chi | Node should have one location but has 2. |
| dostmt.c:25:6:25:18 | ChiPartial | Node should have one location but has 2. |
| dostmt.c:25:6:25:18 | ChiTotal | Node should have one location but has 2. |
| dostmt.c:25:6:25:18 | EnterFunction | Node should have one location but has 2. |
| dostmt.c:25:6:25:18 | InitializeNonLocal | Node should have one location but has 2. |
| dostmt.c:25:6:25:18 | Unreached | Node should have one location but has 2. |
| dostmt.c:32:6:32:11 | AliasedDefinition | Node should have one location but has 4. |
| dostmt.c:32:6:32:11 | AliasedUse | Node should have one location but has 4. |
| dostmt.c:32:6:32:11 | Chi | Node should have one location but has 4. |
| dostmt.c:32:6:32:11 | ChiPartial | Node should have one location but has 4. |
| dostmt.c:32:6:32:11 | ChiTotal | Node should have one location but has 4. |
| dostmt.c:32:6:32:11 | EnterFunction | Node should have one location but has 4. |
| dostmt.c:32:6:32:11 | ExitFunction | Node should have one location but has 4. |
| dostmt.c:32:6:32:11 | InitializeNonLocal | Node should have one location but has 4. |
| dostmt.c:32:6:32:11 | ReturnVoid | Node should have one location but has 4. |
| dostmt.c:32:6:32:11 | SideEffect | Node should have one location but has 4. |
| duff.c:2:6:2:6 | AliasedDefinition | Node should have one location but has 20. |
| duff.c:2:6:2:6 | AliasedUse | Node should have one location but has 20. |
| duff.c:2:6:2:6 | Chi | Node should have one location but has 20. |
| duff.c:2:6:2:6 | ChiPartial | Node should have one location but has 20. |
| duff.c:2:6:2:6 | ChiTotal | Node should have one location but has 20. |
| duff.c:2:6:2:6 | EnterFunction | Node should have one location but has 20. |
| duff.c:2:6:2:6 | ExitFunction | Node should have one location but has 20. |
| duff.c:2:6:2:6 | InitializeNonLocal | Node should have one location but has 20. |
| duff.c:2:6:2:6 | Phi | Node should have one location but has 20. |
| duff.c:2:6:2:6 | Phi | Node should have one location but has 20. |
| duff.c:2:6:2:6 | Phi | Node should have one location but has 20. |
@@ -374,12 +306,8 @@ uniqueNodeLocation
| duff.c:2:12:2:12 | x | Node should have one location but has 4. |
| dummyblock.c:1:6:1:6 | AliasedDefinition | Node should have one location but has 20. |
| dummyblock.c:1:6:1:6 | AliasedUse | Node should have one location but has 20. |
| dummyblock.c:1:6:1:6 | Chi | Node should have one location but has 20. |
| dummyblock.c:1:6:1:6 | ChiPartial | Node should have one location but has 20. |
| dummyblock.c:1:6:1:6 | ChiTotal | Node should have one location but has 20. |
| dummyblock.c:1:6:1:6 | EnterFunction | Node should have one location but has 20. |
| dummyblock.c:1:6:1:6 | ExitFunction | Node should have one location but has 20. |
| dummyblock.c:1:6:1:6 | InitializeNonLocal | Node should have one location but has 20. |
| dummyblock.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| dummyblock.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| dummyblock.c:1:6:1:6 | Phi | Node should have one location but has 20. |
@@ -404,12 +332,8 @@ uniqueNodeLocation
| dummyblock.c:1:6:1:6 | Unreached | Node should have one location but has 20. |
| emptyblock.c:1:6:1:6 | AliasedDefinition | Node should have one location but has 20. |
| emptyblock.c:1:6:1:6 | AliasedUse | Node should have one location but has 20. |
| emptyblock.c:1:6:1:6 | Chi | Node should have one location but has 20. |
| emptyblock.c:1:6:1:6 | ChiPartial | Node should have one location but has 20. |
| emptyblock.c:1:6:1:6 | ChiTotal | Node should have one location but has 20. |
| emptyblock.c:1:6:1:6 | EnterFunction | Node should have one location but has 20. |
| emptyblock.c:1:6:1:6 | ExitFunction | Node should have one location but has 20. |
| emptyblock.c:1:6:1:6 | InitializeNonLocal | Node should have one location but has 20. |
| emptyblock.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| emptyblock.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| emptyblock.c:1:6:1:6 | Phi | Node should have one location but has 20. |
@@ -434,12 +358,8 @@ uniqueNodeLocation
| emptyblock.c:1:6:1:6 | Unreached | Node should have one location but has 20. |
| enum.c:5:5:5:5 | AliasedDefinition | Node should have one location but has 20. |
| enum.c:5:5:5:5 | AliasedUse | Node should have one location but has 20. |
| enum.c:5:5:5:5 | Chi | Node should have one location but has 20. |
| enum.c:5:5:5:5 | ChiPartial | Node should have one location but has 20. |
| enum.c:5:5:5:5 | ChiTotal | Node should have one location but has 20. |
| enum.c:5:5:5:5 | EnterFunction | Node should have one location but has 20. |
| enum.c:5:5:5:5 | ExitFunction | Node should have one location but has 20. |
| enum.c:5:5:5:5 | InitializeNonLocal | Node should have one location but has 20. |
| enum.c:5:5:5:5 | Phi | Node should have one location but has 20. |
| enum.c:5:5:5:5 | Phi | Node should have one location but has 20. |
| enum.c:5:5:5:5 | Phi | Node should have one location but has 20. |
@@ -464,12 +384,8 @@ uniqueNodeLocation
| enum.c:5:5:5:5 | Unreached | Node should have one location but has 20. |
| exprstmt.c:1:6:1:6 | AliasedDefinition | Node should have one location but has 20. |
| exprstmt.c:1:6:1:6 | AliasedUse | Node should have one location but has 20. |
| exprstmt.c:1:6:1:6 | Chi | Node should have one location but has 20. |
| exprstmt.c:1:6:1:6 | ChiPartial | Node should have one location but has 20. |
| exprstmt.c:1:6:1:6 | ChiTotal | Node should have one location but has 20. |
| exprstmt.c:1:6:1:6 | EnterFunction | Node should have one location but has 20. |
| exprstmt.c:1:6:1:6 | ExitFunction | Node should have one location but has 20. |
| exprstmt.c:1:6:1:6 | InitializeNonLocal | Node should have one location but has 20. |
| exprstmt.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| exprstmt.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| exprstmt.c:1:6:1:6 | Phi | Node should have one location but has 20. |
@@ -495,12 +411,8 @@ uniqueNodeLocation
| fieldaccess.cpp:3:7:3:7 | x | Node should have one location but has 2. |
| fieldaccess.cpp:6:6:6:6 | AliasedDefinition | Node should have one location but has 14. |
| fieldaccess.cpp:6:6:6:6 | AliasedUse | Node should have one location but has 14. |
| fieldaccess.cpp:6:6:6:6 | Chi | Node should have one location but has 14. |
| fieldaccess.cpp:6:6:6:6 | ChiPartial | Node should have one location but has 14. |
| fieldaccess.cpp:6:6:6:6 | ChiTotal | Node should have one location but has 14. |
| fieldaccess.cpp:6:6:6:6 | EnterFunction | Node should have one location but has 14. |
| fieldaccess.cpp:6:6:6:6 | ExitFunction | Node should have one location but has 14. |
| fieldaccess.cpp:6:6:6:6 | InitializeNonLocal | Node should have one location but has 14. |
| fieldaccess.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
| fieldaccess.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
| fieldaccess.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
@@ -554,12 +466,8 @@ uniqueNodeLocation
| file://:0:0:0:0 | VariableAddress | Node should have one location but has 0. |
| forstmt.cpp:1:6:1:7 | AliasedDefinition | Node should have one location but has 2. |
| forstmt.cpp:1:6:1:7 | AliasedUse | Node should have one location but has 2. |
| forstmt.cpp:1:6:1:7 | Chi | Node should have one location but has 2. |
| forstmt.cpp:1:6:1:7 | ChiPartial | Node should have one location but has 2. |
| forstmt.cpp:1:6:1:7 | ChiTotal | Node should have one location but has 2. |
| forstmt.cpp:1:6:1:7 | EnterFunction | Node should have one location but has 2. |
| forstmt.cpp:1:6:1:7 | ExitFunction | Node should have one location but has 2. |
| forstmt.cpp:1:6:1:7 | InitializeNonLocal | Node should have one location but has 2. |
| forstmt.cpp:1:6:1:7 | Phi | Node should have one location but has 2. |
| forstmt.cpp:1:6:1:7 | Phi | Node should have one location but has 2. |
| forstmt.cpp:1:6:1:7 | Phi | Node should have one location but has 2. |
@@ -567,12 +475,8 @@ uniqueNodeLocation
| forstmt.cpp:1:6:1:7 | SideEffect | Node should have one location but has 2. |
| forstmt.cpp:8:6:8:7 | AliasedDefinition | Node should have one location but has 2. |
| forstmt.cpp:8:6:8:7 | AliasedUse | Node should have one location but has 2. |
| forstmt.cpp:8:6:8:7 | Chi | Node should have one location but has 2. |
| forstmt.cpp:8:6:8:7 | ChiPartial | Node should have one location but has 2. |
| forstmt.cpp:8:6:8:7 | ChiTotal | Node should have one location but has 2. |
| forstmt.cpp:8:6:8:7 | EnterFunction | Node should have one location but has 2. |
| forstmt.cpp:8:6:8:7 | ExitFunction | Node should have one location but has 2. |
| forstmt.cpp:8:6:8:7 | InitializeNonLocal | Node should have one location but has 2. |
| forstmt.cpp:8:6:8:7 | Phi | Node should have one location but has 2. |
| forstmt.cpp:8:6:8:7 | Phi | Node should have one location but has 2. |
| forstmt.cpp:8:6:8:7 | Phi | Node should have one location but has 2. |
@@ -581,56 +485,36 @@ uniqueNodeLocation
| forstmt.cpp:8:6:8:7 | Unreached | Node should have one location but has 2. |
| ifelsestmt.c:1:6:1:19 | AliasedDefinition | Node should have one location but has 3. |
| ifelsestmt.c:1:6:1:19 | AliasedUse | Node should have one location but has 3. |
| ifelsestmt.c:1:6:1:19 | Chi | Node should have one location but has 3. |
| ifelsestmt.c:1:6:1:19 | ChiPartial | Node should have one location but has 3. |
| ifelsestmt.c:1:6:1:19 | ChiTotal | Node should have one location but has 3. |
| ifelsestmt.c:1:6:1:19 | EnterFunction | Node should have one location but has 3. |
| ifelsestmt.c:1:6:1:19 | ExitFunction | Node should have one location but has 3. |
| ifelsestmt.c:1:6:1:19 | InitializeNonLocal | Node should have one location but has 3. |
| ifelsestmt.c:1:6:1:19 | ReturnVoid | Node should have one location but has 3. |
| ifelsestmt.c:1:6:1:19 | SideEffect | Node should have one location but has 3. |
| ifelsestmt.c:1:6:1:19 | Unreached | Node should have one location but has 3. |
| ifelsestmt.c:11:6:11:19 | AliasedDefinition | Node should have one location but has 3. |
| ifelsestmt.c:11:6:11:19 | AliasedUse | Node should have one location but has 3. |
| ifelsestmt.c:11:6:11:19 | Chi | Node should have one location but has 3. |
| ifelsestmt.c:11:6:11:19 | ChiPartial | Node should have one location but has 3. |
| ifelsestmt.c:11:6:11:19 | ChiTotal | Node should have one location but has 3. |
| ifelsestmt.c:11:6:11:19 | EnterFunction | Node should have one location but has 3. |
| ifelsestmt.c:11:6:11:19 | ExitFunction | Node should have one location but has 3. |
| ifelsestmt.c:11:6:11:19 | InitializeNonLocal | Node should have one location but has 3. |
| ifelsestmt.c:11:6:11:19 | ReturnVoid | Node should have one location but has 3. |
| ifelsestmt.c:11:6:11:19 | SideEffect | Node should have one location but has 3. |
| ifelsestmt.c:11:6:11:19 | Unreached | Node should have one location but has 3. |
| ifelsestmt.c:19:6:19:18 | AliasedDefinition | Node should have one location but has 4. |
| ifelsestmt.c:19:6:19:18 | AliasedUse | Node should have one location but has 4. |
| ifelsestmt.c:19:6:19:18 | Chi | Node should have one location but has 4. |
| ifelsestmt.c:19:6:19:18 | ChiPartial | Node should have one location but has 4. |
| ifelsestmt.c:19:6:19:18 | ChiTotal | Node should have one location but has 4. |
| ifelsestmt.c:19:6:19:18 | EnterFunction | Node should have one location but has 4. |
| ifelsestmt.c:19:6:19:18 | ExitFunction | Node should have one location but has 4. |
| ifelsestmt.c:19:6:19:18 | InitializeNonLocal | Node should have one location but has 4. |
| ifelsestmt.c:19:6:19:18 | ReturnVoid | Node should have one location but has 4. |
| ifelsestmt.c:19:6:19:18 | SideEffect | Node should have one location but has 4. |
| ifelsestmt.c:19:6:19:18 | Unreached | Node should have one location but has 4. |
| ifelsestmt.c:29:6:29:18 | AliasedDefinition | Node should have one location but has 4. |
| ifelsestmt.c:29:6:29:18 | AliasedUse | Node should have one location but has 4. |
| ifelsestmt.c:29:6:29:18 | Chi | Node should have one location but has 4. |
| ifelsestmt.c:29:6:29:18 | ChiPartial | Node should have one location but has 4. |
| ifelsestmt.c:29:6:29:18 | ChiTotal | Node should have one location but has 4. |
| ifelsestmt.c:29:6:29:18 | EnterFunction | Node should have one location but has 4. |
| ifelsestmt.c:29:6:29:18 | ExitFunction | Node should have one location but has 4. |
| ifelsestmt.c:29:6:29:18 | InitializeNonLocal | Node should have one location but has 4. |
| ifelsestmt.c:29:6:29:18 | ReturnVoid | Node should have one location but has 4. |
| ifelsestmt.c:29:6:29:18 | SideEffect | Node should have one location but has 4. |
| ifelsestmt.c:29:6:29:18 | Unreached | Node should have one location but has 4. |
| ifelsestmt.c:37:6:37:11 | AliasedDefinition | Node should have one location but has 4. |
| ifelsestmt.c:37:6:37:11 | AliasedUse | Node should have one location but has 4. |
| ifelsestmt.c:37:6:37:11 | Chi | Node should have one location but has 4. |
| ifelsestmt.c:37:6:37:11 | ChiPartial | Node should have one location but has 4. |
| ifelsestmt.c:37:6:37:11 | ChiTotal | Node should have one location but has 4. |
| ifelsestmt.c:37:6:37:11 | EnterFunction | Node should have one location but has 4. |
| ifelsestmt.c:37:6:37:11 | ExitFunction | Node should have one location but has 4. |
| ifelsestmt.c:37:6:37:11 | InitializeNonLocal | Node should have one location but has 4. |
| ifelsestmt.c:37:6:37:11 | ReturnVoid | Node should have one location but has 4. |
| ifelsestmt.c:37:6:37:11 | SideEffect | Node should have one location but has 4. |
| ifelsestmt.c:37:17:37:17 | Address | Node should have one location but has 2. |
@@ -643,56 +527,36 @@ uniqueNodeLocation
| ifelsestmt.c:37:24:37:24 | y | Node should have one location but has 2. |
| ifstmt.c:1:6:1:19 | AliasedDefinition | Node should have one location but has 3. |
| ifstmt.c:1:6:1:19 | AliasedUse | Node should have one location but has 3. |
| ifstmt.c:1:6:1:19 | Chi | Node should have one location but has 3. |
| ifstmt.c:1:6:1:19 | ChiPartial | Node should have one location but has 3. |
| ifstmt.c:1:6:1:19 | ChiTotal | Node should have one location but has 3. |
| ifstmt.c:1:6:1:19 | EnterFunction | Node should have one location but has 3. |
| ifstmt.c:1:6:1:19 | ExitFunction | Node should have one location but has 3. |
| ifstmt.c:1:6:1:19 | InitializeNonLocal | Node should have one location but has 3. |
| ifstmt.c:1:6:1:19 | ReturnVoid | Node should have one location but has 3. |
| ifstmt.c:1:6:1:19 | SideEffect | Node should have one location but has 3. |
| ifstmt.c:1:6:1:19 | Unreached | Node should have one location but has 3. |
| ifstmt.c:8:6:8:19 | AliasedDefinition | Node should have one location but has 3. |
| ifstmt.c:8:6:8:19 | AliasedUse | Node should have one location but has 3. |
| ifstmt.c:8:6:8:19 | Chi | Node should have one location but has 3. |
| ifstmt.c:8:6:8:19 | ChiPartial | Node should have one location but has 3. |
| ifstmt.c:8:6:8:19 | ChiTotal | Node should have one location but has 3. |
| ifstmt.c:8:6:8:19 | EnterFunction | Node should have one location but has 3. |
| ifstmt.c:8:6:8:19 | ExitFunction | Node should have one location but has 3. |
| ifstmt.c:8:6:8:19 | InitializeNonLocal | Node should have one location but has 3. |
| ifstmt.c:8:6:8:19 | ReturnVoid | Node should have one location but has 3. |
| ifstmt.c:8:6:8:19 | SideEffect | Node should have one location but has 3. |
| ifstmt.c:8:6:8:19 | Unreached | Node should have one location but has 3. |
| ifstmt.c:14:6:14:18 | AliasedDefinition | Node should have one location but has 4. |
| ifstmt.c:14:6:14:18 | AliasedUse | Node should have one location but has 4. |
| ifstmt.c:14:6:14:18 | Chi | Node should have one location but has 4. |
| ifstmt.c:14:6:14:18 | ChiPartial | Node should have one location but has 4. |
| ifstmt.c:14:6:14:18 | ChiTotal | Node should have one location but has 4. |
| ifstmt.c:14:6:14:18 | EnterFunction | Node should have one location but has 4. |
| ifstmt.c:14:6:14:18 | ExitFunction | Node should have one location but has 4. |
| ifstmt.c:14:6:14:18 | InitializeNonLocal | Node should have one location but has 4. |
| ifstmt.c:14:6:14:18 | ReturnVoid | Node should have one location but has 4. |
| ifstmt.c:14:6:14:18 | SideEffect | Node should have one location but has 4. |
| ifstmt.c:14:6:14:18 | Unreached | Node should have one location but has 4. |
| ifstmt.c:21:6:21:18 | AliasedDefinition | Node should have one location but has 4. |
| ifstmt.c:21:6:21:18 | AliasedUse | Node should have one location but has 4. |
| ifstmt.c:21:6:21:18 | Chi | Node should have one location but has 4. |
| ifstmt.c:21:6:21:18 | ChiPartial | Node should have one location but has 4. |
| ifstmt.c:21:6:21:18 | ChiTotal | Node should have one location but has 4. |
| ifstmt.c:21:6:21:18 | EnterFunction | Node should have one location but has 4. |
| ifstmt.c:21:6:21:18 | ExitFunction | Node should have one location but has 4. |
| ifstmt.c:21:6:21:18 | InitializeNonLocal | Node should have one location but has 4. |
| ifstmt.c:21:6:21:18 | ReturnVoid | Node should have one location but has 4. |
| ifstmt.c:21:6:21:18 | SideEffect | Node should have one location but has 4. |
| ifstmt.c:21:6:21:18 | Unreached | Node should have one location but has 4. |
| ifstmt.c:27:6:27:11 | AliasedDefinition | Node should have one location but has 4. |
| ifstmt.c:27:6:27:11 | AliasedUse | Node should have one location but has 4. |
| ifstmt.c:27:6:27:11 | Chi | Node should have one location but has 4. |
| ifstmt.c:27:6:27:11 | ChiPartial | Node should have one location but has 4. |
| ifstmt.c:27:6:27:11 | ChiTotal | Node should have one location but has 4. |
| ifstmt.c:27:6:27:11 | EnterFunction | Node should have one location but has 4. |
| ifstmt.c:27:6:27:11 | ExitFunction | Node should have one location but has 4. |
| ifstmt.c:27:6:27:11 | InitializeNonLocal | Node should have one location but has 4. |
| ifstmt.c:27:6:27:11 | ReturnVoid | Node should have one location but has 4. |
| ifstmt.c:27:6:27:11 | SideEffect | Node should have one location but has 4. |
| ifstmt.c:27:17:27:17 | Address | Node should have one location but has 2. |
@@ -705,12 +569,8 @@ uniqueNodeLocation
| ifstmt.c:27:24:27:24 | y | Node should have one location but has 2. |
| initializer.c:1:6:1:6 | AliasedDefinition | Node should have one location but has 20. |
| initializer.c:1:6:1:6 | AliasedUse | Node should have one location but has 20. |
| initializer.c:1:6:1:6 | Chi | Node should have one location but has 20. |
| initializer.c:1:6:1:6 | ChiPartial | Node should have one location but has 20. |
| initializer.c:1:6:1:6 | ChiTotal | Node should have one location but has 20. |
| initializer.c:1:6:1:6 | EnterFunction | Node should have one location but has 20. |
| initializer.c:1:6:1:6 | ExitFunction | Node should have one location but has 20. |
| initializer.c:1:6:1:6 | InitializeNonLocal | Node should have one location but has 20. |
| initializer.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| initializer.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| initializer.c:1:6:1:6 | Phi | Node should have one location but has 20. |
@@ -735,12 +595,8 @@ uniqueNodeLocation
| initializer.c:1:6:1:6 | Unreached | Node should have one location but has 20. |
| landexpr.c:1:6:1:6 | AliasedDefinition | Node should have one location but has 20. |
| landexpr.c:1:6:1:6 | AliasedUse | Node should have one location but has 20. |
| landexpr.c:1:6:1:6 | Chi | Node should have one location but has 20. |
| landexpr.c:1:6:1:6 | ChiPartial | Node should have one location but has 20. |
| landexpr.c:1:6:1:6 | ChiTotal | Node should have one location but has 20. |
| landexpr.c:1:6:1:6 | EnterFunction | Node should have one location but has 20. |
| landexpr.c:1:6:1:6 | ExitFunction | Node should have one location but has 20. |
| landexpr.c:1:6:1:6 | InitializeNonLocal | Node should have one location but has 20. |
| landexpr.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| landexpr.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| landexpr.c:1:6:1:6 | Phi | Node should have one location but has 20. |
@@ -765,12 +621,8 @@ uniqueNodeLocation
| landexpr.c:1:6:1:6 | Unreached | Node should have one location but has 20. |
| lorexpr.c:1:6:1:6 | AliasedDefinition | Node should have one location but has 20. |
| lorexpr.c:1:6:1:6 | AliasedUse | Node should have one location but has 20. |
| lorexpr.c:1:6:1:6 | Chi | Node should have one location but has 20. |
| lorexpr.c:1:6:1:6 | ChiPartial | Node should have one location but has 20. |
| lorexpr.c:1:6:1:6 | ChiTotal | Node should have one location but has 20. |
| lorexpr.c:1:6:1:6 | EnterFunction | Node should have one location but has 20. |
| lorexpr.c:1:6:1:6 | ExitFunction | Node should have one location but has 20. |
| lorexpr.c:1:6:1:6 | InitializeNonLocal | Node should have one location but has 20. |
| lorexpr.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| lorexpr.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| lorexpr.c:1:6:1:6 | Phi | Node should have one location but has 20. |
@@ -795,12 +647,8 @@ uniqueNodeLocation
| lorexpr.c:1:6:1:6 | Unreached | Node should have one location but has 20. |
| ltrbinopexpr.c:1:6:1:6 | AliasedDefinition | Node should have one location but has 20. |
| ltrbinopexpr.c:1:6:1:6 | AliasedUse | Node should have one location but has 20. |
| ltrbinopexpr.c:1:6:1:6 | Chi | Node should have one location but has 20. |
| ltrbinopexpr.c:1:6:1:6 | ChiPartial | Node should have one location but has 20. |
| ltrbinopexpr.c:1:6:1:6 | ChiTotal | Node should have one location but has 20. |
| ltrbinopexpr.c:1:6:1:6 | EnterFunction | Node should have one location but has 20. |
| ltrbinopexpr.c:1:6:1:6 | ExitFunction | Node should have one location but has 20. |
| ltrbinopexpr.c:1:6:1:6 | InitializeNonLocal | Node should have one location but has 20. |
| ltrbinopexpr.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| ltrbinopexpr.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| ltrbinopexpr.c:1:6:1:6 | Phi | Node should have one location but has 20. |
@@ -825,12 +673,8 @@ uniqueNodeLocation
| ltrbinopexpr.c:1:6:1:6 | Unreached | Node should have one location but has 20. |
| membercallexpr.cpp:6:6:6:6 | AliasedDefinition | Node should have one location but has 14. |
| membercallexpr.cpp:6:6:6:6 | AliasedUse | Node should have one location but has 14. |
| membercallexpr.cpp:6:6:6:6 | Chi | Node should have one location but has 14. |
| membercallexpr.cpp:6:6:6:6 | ChiPartial | Node should have one location but has 14. |
| membercallexpr.cpp:6:6:6:6 | ChiTotal | Node should have one location but has 14. |
| membercallexpr.cpp:6:6:6:6 | EnterFunction | Node should have one location but has 14. |
| membercallexpr.cpp:6:6:6:6 | ExitFunction | Node should have one location but has 14. |
| membercallexpr.cpp:6:6:6:6 | InitializeNonLocal | Node should have one location but has 14. |
| membercallexpr.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
| membercallexpr.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
| membercallexpr.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
@@ -853,12 +697,8 @@ uniqueNodeLocation
| membercallexpr_args.cpp:4:21:4:21 | y | Node should have one location but has 2. |
| membercallexpr_args.cpp:7:6:7:6 | AliasedDefinition | Node should have one location but has 14. |
| membercallexpr_args.cpp:7:6:7:6 | AliasedUse | Node should have one location but has 14. |
| membercallexpr_args.cpp:7:6:7:6 | Chi | Node should have one location but has 14. |
| membercallexpr_args.cpp:7:6:7:6 | ChiPartial | Node should have one location but has 14. |
| membercallexpr_args.cpp:7:6:7:6 | ChiTotal | Node should have one location but has 14. |
| membercallexpr_args.cpp:7:6:7:6 | EnterFunction | Node should have one location but has 14. |
| membercallexpr_args.cpp:7:6:7:6 | ExitFunction | Node should have one location but has 14. |
| membercallexpr_args.cpp:7:6:7:6 | InitializeNonLocal | Node should have one location but has 14. |
| membercallexpr_args.cpp:7:6:7:6 | Phi | Node should have one location but has 14. |
| membercallexpr_args.cpp:7:6:7:6 | Phi | Node should have one location but has 14. |
| membercallexpr_args.cpp:7:6:7:6 | Phi | Node should have one location but has 14. |
@@ -882,12 +722,8 @@ uniqueNodeLocation
| newexpr.cpp:3:16:3:16 | y | Node should have one location but has 2. |
| newexpr.cpp:6:6:6:6 | AliasedDefinition | Node should have one location but has 14. |
| newexpr.cpp:6:6:6:6 | AliasedUse | Node should have one location but has 14. |
| newexpr.cpp:6:6:6:6 | Chi | Node should have one location but has 14. |
| newexpr.cpp:6:6:6:6 | ChiPartial | Node should have one location but has 14. |
| newexpr.cpp:6:6:6:6 | ChiTotal | Node should have one location but has 14. |
| newexpr.cpp:6:6:6:6 | EnterFunction | Node should have one location but has 14. |
| newexpr.cpp:6:6:6:6 | ExitFunction | Node should have one location but has 14. |
| newexpr.cpp:6:6:6:6 | InitializeNonLocal | Node should have one location but has 14. |
| newexpr.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
| newexpr.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
| newexpr.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
@@ -908,12 +744,8 @@ uniqueNodeLocation
| no_dynamic_init.cpp:9:5:9:8 | Address | Node should have one location but has 4. |
| no_dynamic_init.cpp:9:5:9:8 | AliasedDefinition | Node should have one location but has 4. |
| no_dynamic_init.cpp:9:5:9:8 | AliasedUse | Node should have one location but has 4. |
| no_dynamic_init.cpp:9:5:9:8 | Chi | Node should have one location but has 4. |
| no_dynamic_init.cpp:9:5:9:8 | ChiPartial | Node should have one location but has 4. |
| no_dynamic_init.cpp:9:5:9:8 | ChiTotal | Node should have one location but has 4. |
| no_dynamic_init.cpp:9:5:9:8 | EnterFunction | Node should have one location but has 4. |
| no_dynamic_init.cpp:9:5:9:8 | ExitFunction | Node should have one location but has 4. |
| no_dynamic_init.cpp:9:5:9:8 | InitializeNonLocal | Node should have one location but has 4. |
| no_dynamic_init.cpp:9:5:9:8 | Load | Node should have one location but has 4. |
| no_dynamic_init.cpp:9:5:9:8 | Phi | Node should have one location but has 4. |
| no_dynamic_init.cpp:9:5:9:8 | Phi | Node should have one location but has 4. |
@@ -930,12 +762,8 @@ uniqueNodeLocation
| no_dynamic_init.cpp:9:5:9:8 | VariableAddress | Node should have one location but has 4. |
| nodefaultswitchstmt.c:1:6:1:6 | AliasedDefinition | Node should have one location but has 20. |
| nodefaultswitchstmt.c:1:6:1:6 | AliasedUse | Node should have one location but has 20. |
| nodefaultswitchstmt.c:1:6:1:6 | Chi | Node should have one location but has 20. |
| nodefaultswitchstmt.c:1:6:1:6 | ChiPartial | Node should have one location but has 20. |
| nodefaultswitchstmt.c:1:6:1:6 | ChiTotal | Node should have one location but has 20. |
| nodefaultswitchstmt.c:1:6:1:6 | EnterFunction | Node should have one location but has 20. |
| nodefaultswitchstmt.c:1:6:1:6 | ExitFunction | Node should have one location but has 20. |
| nodefaultswitchstmt.c:1:6:1:6 | InitializeNonLocal | Node should have one location but has 20. |
| nodefaultswitchstmt.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| nodefaultswitchstmt.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| nodefaultswitchstmt.c:1:6:1:6 | Phi | Node should have one location but has 20. |
@@ -966,22 +794,14 @@ uniqueNodeLocation
| nodefaultswitchstmt.c:1:12:1:12 | x | Node should have one location but has 4. |
| nonmembercallexpr.c:1:6:1:6 | AliasedDefinition | Node should have one location but has 2. |
| nonmembercallexpr.c:1:6:1:6 | AliasedUse | Node should have one location but has 2. |
| nonmembercallexpr.c:1:6:1:6 | Chi | Node should have one location but has 2. |
| nonmembercallexpr.c:1:6:1:6 | ChiPartial | Node should have one location but has 2. |
| nonmembercallexpr.c:1:6:1:6 | ChiTotal | Node should have one location but has 2. |
| nonmembercallexpr.c:1:6:1:6 | EnterFunction | Node should have one location but has 2. |
| nonmembercallexpr.c:1:6:1:6 | ExitFunction | Node should have one location but has 2. |
| nonmembercallexpr.c:1:6:1:6 | InitializeNonLocal | Node should have one location but has 2. |
| nonmembercallexpr.c:1:6:1:6 | ReturnVoid | Node should have one location but has 2. |
| nonmembercallexpr.c:1:6:1:6 | SideEffect | Node should have one location but has 2. |
| nonmembercallexpr.c:3:6:3:6 | AliasedDefinition | Node should have one location but has 20. |
| nonmembercallexpr.c:3:6:3:6 | AliasedUse | Node should have one location but has 20. |
| nonmembercallexpr.c:3:6:3:6 | Chi | Node should have one location but has 20. |
| nonmembercallexpr.c:3:6:3:6 | ChiPartial | Node should have one location but has 20. |
| nonmembercallexpr.c:3:6:3:6 | ChiTotal | Node should have one location but has 20. |
| nonmembercallexpr.c:3:6:3:6 | EnterFunction | Node should have one location but has 20. |
| nonmembercallexpr.c:3:6:3:6 | ExitFunction | Node should have one location but has 20. |
| nonmembercallexpr.c:3:6:3:6 | InitializeNonLocal | Node should have one location but has 20. |
| nonmembercallexpr.c:3:6:3:6 | Phi | Node should have one location but has 20. |
| nonmembercallexpr.c:3:6:3:6 | Phi | Node should have one location but has 20. |
| nonmembercallexpr.c:3:6:3:6 | Phi | Node should have one location but has 20. |
@@ -1006,12 +826,8 @@ uniqueNodeLocation
| nonmembercallexpr.c:3:6:3:6 | Unreached | Node should have one location but has 20. |
| nonmemberfp2callexpr.c:3:6:3:6 | AliasedDefinition | Node should have one location but has 20. |
| nonmemberfp2callexpr.c:3:6:3:6 | AliasedUse | Node should have one location but has 20. |
| nonmemberfp2callexpr.c:3:6:3:6 | Chi | Node should have one location but has 20. |
| nonmemberfp2callexpr.c:3:6:3:6 | ChiPartial | Node should have one location but has 20. |
| nonmemberfp2callexpr.c:3:6:3:6 | ChiTotal | Node should have one location but has 20. |
| nonmemberfp2callexpr.c:3:6:3:6 | EnterFunction | Node should have one location but has 20. |
| nonmemberfp2callexpr.c:3:6:3:6 | ExitFunction | Node should have one location but has 20. |
| nonmemberfp2callexpr.c:3:6:3:6 | InitializeNonLocal | Node should have one location but has 20. |
| nonmemberfp2callexpr.c:3:6:3:6 | Phi | Node should have one location but has 20. |
| nonmemberfp2callexpr.c:3:6:3:6 | Phi | Node should have one location but has 20. |
| nonmemberfp2callexpr.c:3:6:3:6 | Phi | Node should have one location but has 20. |
@@ -1036,12 +852,8 @@ uniqueNodeLocation
| nonmemberfp2callexpr.c:3:6:3:6 | Unreached | Node should have one location but has 20. |
| nonmemberfpcallexpr.c:1:6:1:6 | AliasedDefinition | Node should have one location but has 20. |
| nonmemberfpcallexpr.c:1:6:1:6 | AliasedUse | Node should have one location but has 20. |
| nonmemberfpcallexpr.c:1:6:1:6 | Chi | Node should have one location but has 20. |
| nonmemberfpcallexpr.c:1:6:1:6 | ChiPartial | Node should have one location but has 20. |
| nonmemberfpcallexpr.c:1:6:1:6 | ChiTotal | Node should have one location but has 20. |
| nonmemberfpcallexpr.c:1:6:1:6 | EnterFunction | Node should have one location but has 20. |
| nonmemberfpcallexpr.c:1:6:1:6 | ExitFunction | Node should have one location but has 20. |
| nonmemberfpcallexpr.c:1:6:1:6 | InitializeNonLocal | Node should have one location but has 20. |
| nonmemberfpcallexpr.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| nonmemberfpcallexpr.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| nonmemberfpcallexpr.c:1:6:1:6 | Phi | Node should have one location but has 20. |
@@ -1067,12 +879,8 @@ uniqueNodeLocation
| parameterinitializer.cpp:18:5:18:8 | Address | Node should have one location but has 4. |
| parameterinitializer.cpp:18:5:18:8 | AliasedDefinition | Node should have one location but has 4. |
| parameterinitializer.cpp:18:5:18:8 | AliasedUse | Node should have one location but has 4. |
| parameterinitializer.cpp:18:5:18:8 | Chi | Node should have one location but has 4. |
| parameterinitializer.cpp:18:5:18:8 | ChiPartial | Node should have one location but has 4. |
| parameterinitializer.cpp:18:5:18:8 | ChiTotal | Node should have one location but has 4. |
| parameterinitializer.cpp:18:5:18:8 | EnterFunction | Node should have one location but has 4. |
| parameterinitializer.cpp:18:5:18:8 | ExitFunction | Node should have one location but has 4. |
| parameterinitializer.cpp:18:5:18:8 | InitializeNonLocal | Node should have one location but has 4. |
| parameterinitializer.cpp:18:5:18:8 | Load | Node should have one location but has 4. |
| parameterinitializer.cpp:18:5:18:8 | Phi | Node should have one location but has 4. |
| parameterinitializer.cpp:18:5:18:8 | Phi | Node should have one location but has 4. |
@@ -1089,12 +897,8 @@ uniqueNodeLocation
| parameterinitializer.cpp:18:5:18:8 | VariableAddress | Node should have one location but has 4. |
| pmcallexpr.cpp:6:6:6:6 | AliasedDefinition | Node should have one location but has 14. |
| pmcallexpr.cpp:6:6:6:6 | AliasedUse | Node should have one location but has 14. |
| pmcallexpr.cpp:6:6:6:6 | Chi | Node should have one location but has 14. |
| pmcallexpr.cpp:6:6:6:6 | ChiPartial | Node should have one location but has 14. |
| pmcallexpr.cpp:6:6:6:6 | ChiTotal | Node should have one location but has 14. |
| pmcallexpr.cpp:6:6:6:6 | EnterFunction | Node should have one location but has 14. |
| pmcallexpr.cpp:6:6:6:6 | ExitFunction | Node should have one location but has 14. |
| pmcallexpr.cpp:6:6:6:6 | InitializeNonLocal | Node should have one location but has 14. |
| pmcallexpr.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
| pmcallexpr.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
| pmcallexpr.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
@@ -1114,12 +918,8 @@ uniqueNodeLocation
| pmcallexpr.cpp:6:6:6:6 | SideEffect | Node should have one location but has 14. |
| questionexpr.c:1:6:1:6 | AliasedDefinition | Node should have one location but has 20. |
| questionexpr.c:1:6:1:6 | AliasedUse | Node should have one location but has 20. |
| questionexpr.c:1:6:1:6 | Chi | Node should have one location but has 20. |
| questionexpr.c:1:6:1:6 | ChiPartial | Node should have one location but has 20. |
| questionexpr.c:1:6:1:6 | ChiTotal | Node should have one location but has 20. |
| questionexpr.c:1:6:1:6 | EnterFunction | Node should have one location but has 20. |
| questionexpr.c:1:6:1:6 | ExitFunction | Node should have one location but has 20. |
| questionexpr.c:1:6:1:6 | InitializeNonLocal | Node should have one location but has 20. |
| questionexpr.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| questionexpr.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| questionexpr.c:1:6:1:6 | Phi | Node should have one location but has 20. |
@@ -1144,22 +944,14 @@ uniqueNodeLocation
| questionexpr.c:1:6:1:6 | Unreached | Node should have one location but has 20. |
| revsubscriptexpr.c:1:6:1:6 | AliasedDefinition | Node should have one location but has 2. |
| revsubscriptexpr.c:1:6:1:6 | AliasedUse | Node should have one location but has 2. |
| revsubscriptexpr.c:1:6:1:6 | Chi | Node should have one location but has 2. |
| revsubscriptexpr.c:1:6:1:6 | ChiPartial | Node should have one location but has 2. |
| revsubscriptexpr.c:1:6:1:6 | ChiTotal | Node should have one location but has 2. |
| revsubscriptexpr.c:1:6:1:6 | EnterFunction | Node should have one location but has 2. |
| revsubscriptexpr.c:1:6:1:6 | ExitFunction | Node should have one location but has 2. |
| revsubscriptexpr.c:1:6:1:6 | InitializeNonLocal | Node should have one location but has 2. |
| revsubscriptexpr.c:1:6:1:6 | ReturnVoid | Node should have one location but has 2. |
| revsubscriptexpr.c:1:6:1:6 | SideEffect | Node should have one location but has 2. |
| staticmembercallexpr.cpp:6:6:6:6 | AliasedDefinition | Node should have one location but has 14. |
| staticmembercallexpr.cpp:6:6:6:6 | AliasedUse | Node should have one location but has 14. |
| staticmembercallexpr.cpp:6:6:6:6 | Chi | Node should have one location but has 14. |
| staticmembercallexpr.cpp:6:6:6:6 | ChiPartial | Node should have one location but has 14. |
| staticmembercallexpr.cpp:6:6:6:6 | ChiTotal | Node should have one location but has 14. |
| staticmembercallexpr.cpp:6:6:6:6 | EnterFunction | Node should have one location but has 14. |
| staticmembercallexpr.cpp:6:6:6:6 | ExitFunction | Node should have one location but has 14. |
| staticmembercallexpr.cpp:6:6:6:6 | InitializeNonLocal | Node should have one location but has 14. |
| staticmembercallexpr.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
| staticmembercallexpr.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
| staticmembercallexpr.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
@@ -1182,12 +974,8 @@ uniqueNodeLocation
| staticmembercallexpr_args.cpp:4:28:4:28 | y | Node should have one location but has 2. |
| staticmembercallexpr_args.cpp:7:6:7:6 | AliasedDefinition | Node should have one location but has 14. |
| staticmembercallexpr_args.cpp:7:6:7:6 | AliasedUse | Node should have one location but has 14. |
| staticmembercallexpr_args.cpp:7:6:7:6 | Chi | Node should have one location but has 14. |
| staticmembercallexpr_args.cpp:7:6:7:6 | ChiPartial | Node should have one location but has 14. |
| staticmembercallexpr_args.cpp:7:6:7:6 | ChiTotal | Node should have one location but has 14. |
| staticmembercallexpr_args.cpp:7:6:7:6 | EnterFunction | Node should have one location but has 14. |
| staticmembercallexpr_args.cpp:7:6:7:6 | ExitFunction | Node should have one location but has 14. |
| staticmembercallexpr_args.cpp:7:6:7:6 | InitializeNonLocal | Node should have one location but has 14. |
| staticmembercallexpr_args.cpp:7:6:7:6 | Phi | Node should have one location but has 14. |
| staticmembercallexpr_args.cpp:7:6:7:6 | Phi | Node should have one location but has 14. |
| staticmembercallexpr_args.cpp:7:6:7:6 | Phi | Node should have one location but has 14. |
@@ -1208,12 +996,8 @@ uniqueNodeLocation
| stream_it.cpp:16:5:16:8 | Address | Node should have one location but has 4. |
| stream_it.cpp:16:5:16:8 | AliasedDefinition | Node should have one location but has 4. |
| stream_it.cpp:16:5:16:8 | AliasedUse | Node should have one location but has 4. |
| stream_it.cpp:16:5:16:8 | Chi | Node should have one location but has 4. |
| stream_it.cpp:16:5:16:8 | ChiPartial | Node should have one location but has 4. |
| stream_it.cpp:16:5:16:8 | ChiTotal | Node should have one location but has 4. |
| stream_it.cpp:16:5:16:8 | EnterFunction | Node should have one location but has 4. |
| stream_it.cpp:16:5:16:8 | ExitFunction | Node should have one location but has 4. |
| stream_it.cpp:16:5:16:8 | InitializeNonLocal | Node should have one location but has 4. |
| stream_it.cpp:16:5:16:8 | Load | Node should have one location but has 4. |
| stream_it.cpp:16:5:16:8 | Phi | Node should have one location but has 4. |
| stream_it.cpp:16:5:16:8 | Phi | Node should have one location but has 4. |
@@ -1230,12 +1014,8 @@ uniqueNodeLocation
| stream_it.cpp:16:5:16:8 | VariableAddress | Node should have one location but has 4. |
| subscriptexpr.c:1:6:1:6 | AliasedDefinition | Node should have one location but has 20. |
| subscriptexpr.c:1:6:1:6 | AliasedUse | Node should have one location but has 20. |
| subscriptexpr.c:1:6:1:6 | Chi | Node should have one location but has 20. |
| subscriptexpr.c:1:6:1:6 | ChiPartial | Node should have one location but has 20. |
| subscriptexpr.c:1:6:1:6 | ChiTotal | Node should have one location but has 20. |
| subscriptexpr.c:1:6:1:6 | EnterFunction | Node should have one location but has 20. |
| subscriptexpr.c:1:6:1:6 | ExitFunction | Node should have one location but has 20. |
| subscriptexpr.c:1:6:1:6 | InitializeNonLocal | Node should have one location but has 20. |
| subscriptexpr.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| subscriptexpr.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| subscriptexpr.c:1:6:1:6 | Phi | Node should have one location but has 20. |
@@ -1260,12 +1040,8 @@ uniqueNodeLocation
| subscriptexpr.c:1:6:1:6 | Unreached | Node should have one location but has 20. |
| switchstmt.c:1:6:1:6 | AliasedDefinition | Node should have one location but has 20. |
| switchstmt.c:1:6:1:6 | AliasedUse | Node should have one location but has 20. |
| switchstmt.c:1:6:1:6 | Chi | Node should have one location but has 20. |
| switchstmt.c:1:6:1:6 | ChiPartial | Node should have one location but has 20. |
| switchstmt.c:1:6:1:6 | ChiTotal | Node should have one location but has 20. |
| switchstmt.c:1:6:1:6 | EnterFunction | Node should have one location but has 20. |
| switchstmt.c:1:6:1:6 | ExitFunction | Node should have one location but has 20. |
| switchstmt.c:1:6:1:6 | InitializeNonLocal | Node should have one location but has 20. |
| switchstmt.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| switchstmt.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| switchstmt.c:1:6:1:6 | Phi | Node should have one location but has 20. |
@@ -1296,12 +1072,8 @@ uniqueNodeLocation
| switchstmt.c:1:12:1:12 | x | Node should have one location but has 4. |
| tinyforstmt.c:1:6:1:6 | AliasedDefinition | Node should have one location but has 20. |
| tinyforstmt.c:1:6:1:6 | AliasedUse | Node should have one location but has 20. |
| tinyforstmt.c:1:6:1:6 | Chi | Node should have one location but has 20. |
| tinyforstmt.c:1:6:1:6 | ChiPartial | Node should have one location but has 20. |
| tinyforstmt.c:1:6:1:6 | ChiTotal | Node should have one location but has 20. |
| tinyforstmt.c:1:6:1:6 | EnterFunction | Node should have one location but has 20. |
| tinyforstmt.c:1:6:1:6 | ExitFunction | Node should have one location but has 20. |
| tinyforstmt.c:1:6:1:6 | InitializeNonLocal | Node should have one location but has 20. |
| tinyforstmt.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| tinyforstmt.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| tinyforstmt.c:1:6:1:6 | Phi | Node should have one location but has 20. |
@@ -1326,12 +1098,8 @@ uniqueNodeLocation
| tinyforstmt.c:1:6:1:6 | Unreached | Node should have one location but has 20. |
| unaryopexpr.c:1:6:1:6 | AliasedDefinition | Node should have one location but has 20. |
| unaryopexpr.c:1:6:1:6 | AliasedUse | Node should have one location but has 20. |
| unaryopexpr.c:1:6:1:6 | Chi | Node should have one location but has 20. |
| unaryopexpr.c:1:6:1:6 | ChiPartial | Node should have one location but has 20. |
| unaryopexpr.c:1:6:1:6 | ChiTotal | Node should have one location but has 20. |
| unaryopexpr.c:1:6:1:6 | EnterFunction | Node should have one location but has 20. |
| unaryopexpr.c:1:6:1:6 | ExitFunction | Node should have one location but has 20. |
| unaryopexpr.c:1:6:1:6 | InitializeNonLocal | Node should have one location but has 20. |
| unaryopexpr.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| unaryopexpr.c:1:6:1:6 | Phi | Node should have one location but has 20. |
| unaryopexpr.c:1:6:1:6 | Phi | Node should have one location but has 20. |
@@ -1356,63 +1124,39 @@ uniqueNodeLocation
| unaryopexpr.c:1:6:1:6 | Unreached | Node should have one location but has 20. |
| whilestmt.c:1:6:1:19 | AliasedDefinition | Node should have one location but has 3. |
| whilestmt.c:1:6:1:19 | AliasedUse | Node should have one location but has 3. |
| whilestmt.c:1:6:1:19 | Chi | Node should have one location but has 3. |
| whilestmt.c:1:6:1:19 | ChiPartial | Node should have one location but has 3. |
| whilestmt.c:1:6:1:19 | ChiTotal | Node should have one location but has 3. |
| whilestmt.c:1:6:1:19 | EnterFunction | Node should have one location but has 3. |
| whilestmt.c:1:6:1:19 | ExitFunction | Node should have one location but has 3. |
| whilestmt.c:1:6:1:19 | InitializeNonLocal | Node should have one location but has 3. |
| whilestmt.c:1:6:1:19 | ReturnVoid | Node should have one location but has 3. |
| whilestmt.c:1:6:1:19 | SideEffect | Node should have one location but has 3. |
| whilestmt.c:1:6:1:19 | Unreached | Node should have one location but has 3. |
| whilestmt.c:8:6:8:19 | AliasedDefinition | Node should have one location but has 3. |
| whilestmt.c:8:6:8:19 | AliasedUse | Node should have one location but has 3. |
| whilestmt.c:8:6:8:19 | Chi | Node should have one location but has 3. |
| whilestmt.c:8:6:8:19 | ChiPartial | Node should have one location but has 3. |
| whilestmt.c:8:6:8:19 | ChiTotal | Node should have one location but has 3. |
| whilestmt.c:8:6:8:19 | EnterFunction | Node should have one location but has 3. |
| whilestmt.c:8:6:8:19 | ExitFunction | Node should have one location but has 3. |
| whilestmt.c:8:6:8:19 | InitializeNonLocal | Node should have one location but has 3. |
| whilestmt.c:8:6:8:19 | ReturnVoid | Node should have one location but has 3. |
| whilestmt.c:8:6:8:19 | SideEffect | Node should have one location but has 3. |
| whilestmt.c:8:6:8:19 | Unreached | Node should have one location but has 3. |
| whilestmt.c:15:6:15:18 | AliasedDefinition | Node should have one location but has 4. |
| whilestmt.c:15:6:15:18 | AliasedUse | Node should have one location but has 4. |
| whilestmt.c:15:6:15:18 | Chi | Node should have one location but has 4. |
| whilestmt.c:15:6:15:18 | ChiPartial | Node should have one location but has 4. |
| whilestmt.c:15:6:15:18 | ChiTotal | Node should have one location but has 4. |
| whilestmt.c:15:6:15:18 | EnterFunction | Node should have one location but has 4. |
| whilestmt.c:15:6:15:18 | ExitFunction | Node should have one location but has 4. |
| whilestmt.c:15:6:15:18 | InitializeNonLocal | Node should have one location but has 4. |
| whilestmt.c:15:6:15:18 | ReturnVoid | Node should have one location but has 4. |
| whilestmt.c:15:6:15:18 | SideEffect | Node should have one location but has 4. |
| whilestmt.c:15:6:15:18 | Unreached | Node should have one location but has 4. |
| whilestmt.c:23:6:23:18 | AliasedDefinition | Node should have one location but has 4. |
| whilestmt.c:23:6:23:18 | AliasedUse | Node should have one location but has 4. |
| whilestmt.c:23:6:23:18 | Chi | Node should have one location but has 4. |
| whilestmt.c:23:6:23:18 | ChiPartial | Node should have one location but has 4. |
| whilestmt.c:23:6:23:18 | ChiTotal | Node should have one location but has 4. |
| whilestmt.c:23:6:23:18 | EnterFunction | Node should have one location but has 4. |
| whilestmt.c:23:6:23:18 | ExitFunction | Node should have one location but has 4. |
| whilestmt.c:23:6:23:18 | InitializeNonLocal | Node should have one location but has 4. |
| whilestmt.c:23:6:23:18 | ReturnVoid | Node should have one location but has 4. |
| whilestmt.c:23:6:23:18 | SideEffect | Node should have one location but has 4. |
| whilestmt.c:23:6:23:18 | Unreached | Node should have one location but has 4. |
| whilestmt.c:32:6:32:18 | AliasedDefinition | Node should have one location but has 2. |
| whilestmt.c:32:6:32:18 | Chi | Node should have one location but has 2. |
| whilestmt.c:32:6:32:18 | ChiPartial | Node should have one location but has 2. |
| whilestmt.c:32:6:32:18 | ChiTotal | Node should have one location but has 2. |
| whilestmt.c:32:6:32:18 | EnterFunction | Node should have one location but has 2. |
| whilestmt.c:32:6:32:18 | InitializeNonLocal | Node should have one location but has 2. |
| whilestmt.c:32:6:32:18 | Unreached | Node should have one location but has 2. |
| whilestmt.c:39:6:39:11 | AliasedDefinition | Node should have one location but has 4. |
| whilestmt.c:39:6:39:11 | AliasedUse | Node should have one location but has 4. |
| whilestmt.c:39:6:39:11 | Chi | Node should have one location but has 4. |
| whilestmt.c:39:6:39:11 | ChiPartial | Node should have one location but has 4. |
| whilestmt.c:39:6:39:11 | ChiTotal | Node should have one location but has 4. |
| whilestmt.c:39:6:39:11 | EnterFunction | Node should have one location but has 4. |
| whilestmt.c:39:6:39:11 | ExitFunction | Node should have one location but has 4. |
| whilestmt.c:39:6:39:11 | InitializeNonLocal | Node should have one location but has 4. |
| whilestmt.c:39:6:39:11 | ReturnVoid | Node should have one location but has 4. |
| whilestmt.c:39:6:39:11 | SideEffect | Node should have one location but has 4. |
missingLocation

View File

@@ -57,7 +57,7 @@ instructionWithoutSuccessor
| vla.c:5:9:5:14 | Uninitialized: definition of matrix | Instruction 'Uninitialized: definition of matrix' has no successors in function '$@'. | vla.c:3:5:3:8 | int main(int, char**) | int main(int, char**) |
| vla.c:5:16:5:19 | Load: argc | Instruction 'Load: argc' has no successors in function '$@'. | vla.c:3:5:3:8 | int main(int, char**) | int main(int, char**) |
| vla.c:5:27:5:33 | BufferReadSideEffect: (const char *)... | Instruction 'BufferReadSideEffect: (const char *)...' has no successors in function '$@'. | vla.c:3:5:3:8 | int main(int, char**) | int main(int, char**) |
| vla.c:11:6:11:16 | InitializeNonLocal: vla_typedef | Instruction 'InitializeNonLocal: vla_typedef' has no successors in function '$@'. | vla.c:11:6:11:16 | void vla_typedef() | void vla_typedef() |
| vla.c:11:6:11:16 | AliasedDefinition: vla_typedef | Instruction 'AliasedDefinition: vla_typedef' has no successors in function '$@'. | vla.c:11:6:11:16 | void vla_typedef() | void vla_typedef() |
| vla.c:12:33:12:44 | Add: ... + ... | Instruction 'Add: ... + ...' has no successors in function '$@'. | vla.c:11:6:11:16 | void vla_typedef() | void vla_typedef() |
| vla.c:12:50:12:62 | Mul: ... * ... | Instruction 'Mul: ... * ...' has no successors in function '$@'. | vla.c:11:6:11:16 | void vla_typedef() | void vla_typedef() |
| vla.c:13:12:13:14 | Uninitialized: definition of var | Instruction 'Uninitialized: definition of var' has no successors in function '$@'. | vla.c:11:6:11:16 | void vla_typedef() | void vla_typedef() |
@@ -66,64 +66,64 @@ instructionWithoutSuccessor
| vla.c:14:74:14:79 | CallSideEffect: call to getInt | Instruction 'CallSideEffect: call to getInt' has no successors in function '$@'. | vla.c:11:6:11:16 | void vla_typedef() | void vla_typedef() |
| vla.c:14:92:14:94 | Store: (char *)... | Instruction 'Store: (char *)...' has no successors in function '$@'. | vla.c:11:6:11:16 | void vla_typedef() | void vla_typedef() |
ambiguousSuccessors
| allocators.cpp:14:5:14:8 | InitializeNonLocal: main | Instruction 'InitializeNonLocal: main' has 4 successors of kind 'Goto' in function '$@'. | allocators.cpp:14:5:14:8 | int main() | int main() |
| array_delete.cpp:5:6:5:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| assignexpr.cpp:6:6:6:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| allocators.cpp:14:5:14:8 | AliasedDefinition: main | Instruction 'AliasedDefinition: main' has 4 successors of kind 'Goto' in function '$@'. | allocators.cpp:14:5:14:8 | int main() | int main() |
| array_delete.cpp:5:6:5:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| assignexpr.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| break_labels.c:2:11:2:11 | InitializeParameter: i | Instruction 'InitializeParameter: i' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| break_labels.c:2:11:2:11 | InitializeParameter: i | Instruction 'InitializeParameter: x' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| break_labels.c:2:11:2:11 | InitializeParameter: x | Instruction 'InitializeParameter: i' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| break_labels.c:2:11:2:11 | InitializeParameter: x | Instruction 'InitializeParameter: x' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| conditional_destructors.cpp:29:6:29:7 | InitializeNonLocal: f1 | Instruction 'InitializeNonLocal: f1' has 2 successors of kind 'Goto' in function '$@'. | conditional_destructors.cpp:29:6:29:7 | void f1() | void f1() |
| conditional_destructors.cpp:38:6:38:7 | InitializeNonLocal: f2 | Instruction 'InitializeNonLocal: f2' has 2 successors of kind 'Goto' in function '$@'. | conditional_destructors.cpp:38:6:38:7 | void f2() | void f2() |
| constmemberaccess.cpp:6:6:6:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| constructorinitializer.cpp:6:6:6:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| defconstructornewexpr.cpp:3:6:3:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| defdestructordeleteexpr.cpp:3:6:3:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| deleteexpr.cpp:6:6:6:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| dostmt.c:8:6:8:18 | InitializeNonLocal: always_true_1 | Instruction 'InitializeNonLocal: always_true_1' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:8:6:8:18 | void always_true_1() | void always_true_1() |
| dostmt.c:16:6:16:18 | InitializeNonLocal: always_true_2 | Instruction 'InitializeNonLocal: always_true_2' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:16:6:16:18 | void always_true_2() | void always_true_2() |
| dostmt.c:25:6:25:18 | InitializeNonLocal: always_true_3 | Instruction 'InitializeNonLocal: always_true_3' has 2 successors of kind 'Goto' in function '$@'. | dostmt.c:25:6:25:18 | void always_true_3() | void always_true_3() |
| conditional_destructors.cpp:29:6:29:7 | AliasedDefinition: f1 | Instruction 'AliasedDefinition: f1' has 2 successors of kind 'Goto' in function '$@'. | conditional_destructors.cpp:29:6:29:7 | void f1() | void f1() |
| conditional_destructors.cpp:38:6:38:7 | AliasedDefinition: f2 | Instruction 'AliasedDefinition: f2' has 2 successors of kind 'Goto' in function '$@'. | conditional_destructors.cpp:38:6:38:7 | void f2() | void f2() |
| constmemberaccess.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| constructorinitializer.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| defconstructornewexpr.cpp:3:6:3:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| defdestructordeleteexpr.cpp:3:6:3:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| deleteexpr.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| dostmt.c:8:6:8:18 | AliasedDefinition: always_true_1 | Instruction 'AliasedDefinition: always_true_1' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:8:6:8:18 | void always_true_1() | void always_true_1() |
| dostmt.c:16:6:16:18 | AliasedDefinition: always_true_2 | Instruction 'AliasedDefinition: always_true_2' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:16:6:16:18 | void always_true_2() | void always_true_2() |
| dostmt.c:25:6:25:18 | AliasedDefinition: always_true_3 | Instruction 'AliasedDefinition: always_true_3' has 2 successors of kind 'Goto' in function '$@'. | dostmt.c:25:6:25:18 | void always_true_3() | void always_true_3() |
| duff.c:2:12:2:12 | InitializeParameter: i | Instruction 'InitializeParameter: i' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| duff.c:2:12:2:12 | InitializeParameter: i | Instruction 'InitializeParameter: x' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| duff.c:2:12:2:12 | InitializeParameter: x | Instruction 'InitializeParameter: i' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| duff.c:2:12:2:12 | InitializeParameter: x | Instruction 'InitializeParameter: x' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| fieldaccess.cpp:6:6:6:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| forstmt.cpp:1:6:1:7 | InitializeNonLocal: f1 | Instruction 'InitializeNonLocal: f1' has 2 successors of kind 'Goto' in function '$@'. | conditional_destructors.cpp:29:6:29:7 | void f1() | void f1() |
| forstmt.cpp:8:6:8:7 | InitializeNonLocal: f2 | Instruction 'InitializeNonLocal: f2' has 2 successors of kind 'Goto' in function '$@'. | conditional_destructors.cpp:38:6:38:7 | void f2() | void f2() |
| ifelsestmt.c:1:6:1:19 | InitializeNonLocal: always_false_1 | Instruction 'InitializeNonLocal: always_false_1' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:1:6:1:19 | void always_false_1() | void always_false_1() |
| ifelsestmt.c:11:6:11:19 | InitializeNonLocal: always_false_2 | Instruction 'InitializeNonLocal: always_false_2' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:11:6:11:19 | void always_false_2() | void always_false_2() |
| ifelsestmt.c:19:6:19:18 | InitializeNonLocal: always_true_1 | Instruction 'InitializeNonLocal: always_true_1' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:8:6:8:18 | void always_true_1() | void always_true_1() |
| ifelsestmt.c:29:6:29:18 | InitializeNonLocal: always_true_2 | Instruction 'InitializeNonLocal: always_true_2' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:16:6:16:18 | void always_true_2() | void always_true_2() |
| fieldaccess.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| forstmt.cpp:1:6:1:7 | AliasedDefinition: f1 | Instruction 'AliasedDefinition: f1' has 2 successors of kind 'Goto' in function '$@'. | conditional_destructors.cpp:29:6:29:7 | void f1() | void f1() |
| forstmt.cpp:8:6:8:7 | AliasedDefinition: f2 | Instruction 'AliasedDefinition: f2' has 2 successors of kind 'Goto' in function '$@'. | conditional_destructors.cpp:38:6:38:7 | void f2() | void f2() |
| ifelsestmt.c:1:6:1:19 | AliasedDefinition: always_false_1 | Instruction 'AliasedDefinition: always_false_1' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:1:6:1:19 | void always_false_1() | void always_false_1() |
| ifelsestmt.c:11:6:11:19 | AliasedDefinition: always_false_2 | Instruction 'AliasedDefinition: always_false_2' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:11:6:11:19 | void always_false_2() | void always_false_2() |
| ifelsestmt.c:19:6:19:18 | AliasedDefinition: always_true_1 | Instruction 'AliasedDefinition: always_true_1' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:8:6:8:18 | void always_true_1() | void always_true_1() |
| ifelsestmt.c:29:6:29:18 | AliasedDefinition: always_true_2 | Instruction 'AliasedDefinition: always_true_2' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:16:6:16:18 | void always_true_2() | void always_true_2() |
| ifelsestmt.c:37:24:37:24 | InitializeParameter: y | Instruction 'InitializeParameter: y' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:32:6:32:11 | void normal(int, int) | void normal(int, int) |
| ifstmt.c:1:6:1:19 | InitializeNonLocal: always_false_1 | Instruction 'InitializeNonLocal: always_false_1' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:1:6:1:19 | void always_false_1() | void always_false_1() |
| ifstmt.c:8:6:8:19 | InitializeNonLocal: always_false_2 | Instruction 'InitializeNonLocal: always_false_2' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:11:6:11:19 | void always_false_2() | void always_false_2() |
| ifstmt.c:14:6:14:18 | InitializeNonLocal: always_true_1 | Instruction 'InitializeNonLocal: always_true_1' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:8:6:8:18 | void always_true_1() | void always_true_1() |
| ifstmt.c:21:6:21:18 | InitializeNonLocal: always_true_2 | Instruction 'InitializeNonLocal: always_true_2' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:16:6:16:18 | void always_true_2() | void always_true_2() |
| ifstmt.c:1:6:1:19 | AliasedDefinition: always_false_1 | Instruction 'AliasedDefinition: always_false_1' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:1:6:1:19 | void always_false_1() | void always_false_1() |
| ifstmt.c:8:6:8:19 | AliasedDefinition: always_false_2 | Instruction 'AliasedDefinition: always_false_2' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:11:6:11:19 | void always_false_2() | void always_false_2() |
| ifstmt.c:14:6:14:18 | AliasedDefinition: always_true_1 | Instruction 'AliasedDefinition: always_true_1' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:8:6:8:18 | void always_true_1() | void always_true_1() |
| ifstmt.c:21:6:21:18 | AliasedDefinition: always_true_2 | Instruction 'AliasedDefinition: always_true_2' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:16:6:16:18 | void always_true_2() | void always_true_2() |
| ifstmt.c:27:24:27:24 | InitializeParameter: y | Instruction 'InitializeParameter: y' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:32:6:32:11 | void normal(int, int) | void normal(int, int) |
| membercallexpr.cpp:6:6:6:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| membercallexpr_args.cpp:7:6:7:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| newexpr.cpp:6:6:6:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| no_dynamic_init.cpp:9:5:9:8 | InitializeNonLocal: main | Instruction 'InitializeNonLocal: main' has 4 successors of kind 'Goto' in function '$@'. | allocators.cpp:14:5:14:8 | int main() | int main() |
| membercallexpr.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| membercallexpr_args.cpp:7:6:7:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| newexpr.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| no_dynamic_init.cpp:9:5:9:8 | AliasedDefinition: main | Instruction 'AliasedDefinition: main' has 4 successors of kind 'Goto' in function '$@'. | allocators.cpp:14:5:14:8 | int main() | int main() |
| nodefaultswitchstmt.c:1:12:1:12 | InitializeParameter: i | Instruction 'InitializeParameter: i' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| nodefaultswitchstmt.c:1:12:1:12 | InitializeParameter: i | Instruction 'InitializeParameter: x' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| nodefaultswitchstmt.c:1:12:1:12 | InitializeParameter: x | Instruction 'InitializeParameter: i' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| nodefaultswitchstmt.c:1:12:1:12 | InitializeParameter: x | Instruction 'InitializeParameter: x' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| nonmembercallexpr.c:1:6:1:6 | InitializeNonLocal: g | Instruction 'InitializeNonLocal: g' has 2 successors of kind 'Goto' in function '$@'. | nonmembercallexpr.c:1:6:1:6 | void g(); void g())(); void(* g(); void(* g())() | void g(); void g())(); void(* g(); void(* g())() |
| parameterinitializer.cpp:18:5:18:8 | InitializeNonLocal: main | Instruction 'InitializeNonLocal: main' has 4 successors of kind 'Goto' in function '$@'. | allocators.cpp:14:5:14:8 | int main() | int main() |
| pmcallexpr.cpp:6:6:6:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| revsubscriptexpr.c:1:6:1:6 | InitializeNonLocal: g | Instruction 'InitializeNonLocal: g' has 2 successors of kind 'Goto' in function '$@'. | nonmembercallexpr.c:1:6:1:6 | void g(); void g())(); void(* g(); void(* g())() | void g(); void g())(); void(* g(); void(* g())() |
| staticmembercallexpr.cpp:6:6:6:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| staticmembercallexpr_args.cpp:7:6:7:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| stream_it.cpp:16:5:16:8 | InitializeNonLocal: main | Instruction 'InitializeNonLocal: main' has 4 successors of kind 'Goto' in function '$@'. | allocators.cpp:14:5:14:8 | int main() | int main() |
| nonmembercallexpr.c:1:6:1:6 | AliasedDefinition: g | Instruction 'AliasedDefinition: g' has 2 successors of kind 'Goto' in function '$@'. | nonmembercallexpr.c:1:6:1:6 | void g(); void g())(); void(* g(); void(* g())() | void g(); void g())(); void(* g(); void(* g())() |
| parameterinitializer.cpp:18:5:18:8 | AliasedDefinition: main | Instruction 'AliasedDefinition: main' has 4 successors of kind 'Goto' in function '$@'. | allocators.cpp:14:5:14:8 | int main() | int main() |
| pmcallexpr.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| revsubscriptexpr.c:1:6:1:6 | AliasedDefinition: g | Instruction 'AliasedDefinition: g' has 2 successors of kind 'Goto' in function '$@'. | nonmembercallexpr.c:1:6:1:6 | void g(); void g())(); void(* g(); void(* g())() | void g(); void g())(); void(* g(); void(* g())() |
| staticmembercallexpr.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| staticmembercallexpr_args.cpp:7:6:7:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| stream_it.cpp:16:5:16:8 | AliasedDefinition: main | Instruction 'AliasedDefinition: main' has 4 successors of kind 'Goto' in function '$@'. | allocators.cpp:14:5:14:8 | int main() | int main() |
| switchstmt.c:1:12:1:12 | InitializeParameter: i | Instruction 'InitializeParameter: i' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| switchstmt.c:1:12:1:12 | InitializeParameter: i | Instruction 'InitializeParameter: x' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| switchstmt.c:1:12:1:12 | InitializeParameter: x | Instruction 'InitializeParameter: i' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| switchstmt.c:1:12:1:12 | InitializeParameter: x | Instruction 'InitializeParameter: x' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| whilestmt.c:1:6:1:19 | InitializeNonLocal: always_false_1 | Instruction 'InitializeNonLocal: always_false_1' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:1:6:1:19 | void always_false_1() | void always_false_1() |
| whilestmt.c:8:6:8:19 | InitializeNonLocal: always_false_2 | Instruction 'InitializeNonLocal: always_false_2' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:11:6:11:19 | void always_false_2() | void always_false_2() |
| whilestmt.c:15:6:15:18 | InitializeNonLocal: always_true_1 | Instruction 'InitializeNonLocal: always_true_1' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:8:6:8:18 | void always_true_1() | void always_true_1() |
| whilestmt.c:23:6:23:18 | InitializeNonLocal: always_true_2 | Instruction 'InitializeNonLocal: always_true_2' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:16:6:16:18 | void always_true_2() | void always_true_2() |
| whilestmt.c:32:6:32:18 | InitializeNonLocal: always_true_3 | Instruction 'InitializeNonLocal: always_true_3' has 2 successors of kind 'Goto' in function '$@'. | dostmt.c:25:6:25:18 | void always_true_3() | void always_true_3() |
| whilestmt.c:1:6:1:19 | AliasedDefinition: always_false_1 | Instruction 'AliasedDefinition: always_false_1' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:1:6:1:19 | void always_false_1() | void always_false_1() |
| whilestmt.c:8:6:8:19 | AliasedDefinition: always_false_2 | Instruction 'AliasedDefinition: always_false_2' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:11:6:11:19 | void always_false_2() | void always_false_2() |
| whilestmt.c:15:6:15:18 | AliasedDefinition: always_true_1 | Instruction 'AliasedDefinition: always_true_1' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:8:6:8:18 | void always_true_1() | void always_true_1() |
| whilestmt.c:23:6:23:18 | AliasedDefinition: always_true_2 | Instruction 'AliasedDefinition: always_true_2' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:16:6:16:18 | void always_true_2() | void always_true_2() |
| whilestmt.c:32:6:32:18 | AliasedDefinition: always_true_3 | Instruction 'AliasedDefinition: always_true_3' has 2 successors of kind 'Goto' in function '$@'. | dostmt.c:25:6:25:18 | void always_true_3() | void always_true_3() |
unexplainedLoop
unnecessaryPhiInstruction
memoryOperandDefinitionIsUnmodeled
@@ -139,8 +139,6 @@ useNotDominatedByDefinition
| try_catch.cpp:21:13:21:24 | Address | Operand 'Address' is not dominated by its definition in function '$@'. | try_catch.cpp:19:6:19:23 | void throw_from_nonstmt(int) | void throw_from_nonstmt(int) |
| vla.c:3:27:3:30 | Address | Operand 'Address' is not dominated by its definition in function '$@'. | vla.c:3:5:3:8 | int main(int, char**) | int main(int, char**) |
switchInstructionWithoutDefaultEdge
notMarkedAsConflated
wronglyMarkedAsConflated
invalidOverlap
nonUniqueEnclosingIRFunction
fieldAddressOnNonPointer

View File

@@ -19,66 +19,66 @@ instructionWithoutSuccessor
| ms_try_mix.cpp:48:10:48:13 | IndirectMayWriteSideEffect: call to C | Instruction 'IndirectMayWriteSideEffect: call to C' has no successors in function '$@'. | ms_try_mix.cpp:47:6:47:28 | void ms_empty_finally_at_end() | void ms_empty_finally_at_end() |
| stmt_expr.cpp:27:5:27:15 | Store: ... = ... | Instruction 'Store: ... = ...' has no successors in function '$@'. | stmt_expr.cpp:21:6:21:6 | void stmtexpr::g(int) | void stmtexpr::g(int) |
| vla.c:5:9:5:14 | Uninitialized: definition of matrix | Instruction 'Uninitialized: definition of matrix' has no successors in function '$@'. | vla.c:3:5:3:8 | int main(int, char**) | int main(int, char**) |
| vla.c:11:6:11:16 | InitializeNonLocal: vla_typedef | Instruction 'InitializeNonLocal: vla_typedef' has no successors in function '$@'. | vla.c:11:6:11:16 | void vla_typedef() | void vla_typedef() |
| vla.c:11:6:11:16 | AliasedDefinition: vla_typedef | Instruction 'AliasedDefinition: vla_typedef' has no successors in function '$@'. | vla.c:11:6:11:16 | void vla_typedef() | void vla_typedef() |
ambiguousSuccessors
| allocators.cpp:14:5:14:8 | InitializeNonLocal: main | Instruction 'InitializeNonLocal: main' has 4 successors of kind 'Goto' in function '$@'. | allocators.cpp:14:5:14:8 | int main() | int main() |
| array_delete.cpp:5:6:5:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| assignexpr.cpp:6:6:6:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| allocators.cpp:14:5:14:8 | AliasedDefinition: main | Instruction 'AliasedDefinition: main' has 4 successors of kind 'Goto' in function '$@'. | allocators.cpp:14:5:14:8 | int main() | int main() |
| array_delete.cpp:5:6:5:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| assignexpr.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| break_labels.c:2:11:2:11 | InitializeParameter: i | Instruction 'InitializeParameter: i' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| break_labels.c:2:11:2:11 | InitializeParameter: i | Instruction 'InitializeParameter: x' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| break_labels.c:2:11:2:11 | InitializeParameter: x | Instruction 'InitializeParameter: i' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| break_labels.c:2:11:2:11 | InitializeParameter: x | Instruction 'InitializeParameter: x' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| conditional_destructors.cpp:29:6:29:7 | InitializeNonLocal: f1 | Instruction 'InitializeNonLocal: f1' has 2 successors of kind 'Goto' in function '$@'. | conditional_destructors.cpp:29:6:29:7 | void f1() | void f1() |
| conditional_destructors.cpp:38:6:38:7 | InitializeNonLocal: f2 | Instruction 'InitializeNonLocal: f2' has 2 successors of kind 'Goto' in function '$@'. | conditional_destructors.cpp:38:6:38:7 | void f2() | void f2() |
| constmemberaccess.cpp:6:6:6:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| constructorinitializer.cpp:6:6:6:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| defconstructornewexpr.cpp:3:6:3:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| defdestructordeleteexpr.cpp:3:6:3:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| deleteexpr.cpp:6:6:6:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| dostmt.c:8:6:8:18 | InitializeNonLocal: always_true_1 | Instruction 'InitializeNonLocal: always_true_1' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:8:6:8:18 | void always_true_1() | void always_true_1() |
| dostmt.c:16:6:16:18 | InitializeNonLocal: always_true_2 | Instruction 'InitializeNonLocal: always_true_2' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:16:6:16:18 | void always_true_2() | void always_true_2() |
| dostmt.c:25:6:25:18 | InitializeNonLocal: always_true_3 | Instruction 'InitializeNonLocal: always_true_3' has 2 successors of kind 'Goto' in function '$@'. | dostmt.c:25:6:25:18 | void always_true_3() | void always_true_3() |
| conditional_destructors.cpp:29:6:29:7 | AliasedDefinition: f1 | Instruction 'AliasedDefinition: f1' has 2 successors of kind 'Goto' in function '$@'. | conditional_destructors.cpp:29:6:29:7 | void f1() | void f1() |
| conditional_destructors.cpp:38:6:38:7 | AliasedDefinition: f2 | Instruction 'AliasedDefinition: f2' has 2 successors of kind 'Goto' in function '$@'. | conditional_destructors.cpp:38:6:38:7 | void f2() | void f2() |
| constmemberaccess.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| constructorinitializer.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| defconstructornewexpr.cpp:3:6:3:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| defdestructordeleteexpr.cpp:3:6:3:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| deleteexpr.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| dostmt.c:8:6:8:18 | AliasedDefinition: always_true_1 | Instruction 'AliasedDefinition: always_true_1' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:8:6:8:18 | void always_true_1() | void always_true_1() |
| dostmt.c:16:6:16:18 | AliasedDefinition: always_true_2 | Instruction 'AliasedDefinition: always_true_2' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:16:6:16:18 | void always_true_2() | void always_true_2() |
| dostmt.c:25:6:25:18 | AliasedDefinition: always_true_3 | Instruction 'AliasedDefinition: always_true_3' has 2 successors of kind 'Goto' in function '$@'. | dostmt.c:25:6:25:18 | void always_true_3() | void always_true_3() |
| duff.c:2:12:2:12 | InitializeParameter: i | Instruction 'InitializeParameter: i' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| duff.c:2:12:2:12 | InitializeParameter: i | Instruction 'InitializeParameter: x' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| duff.c:2:12:2:12 | InitializeParameter: x | Instruction 'InitializeParameter: i' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| duff.c:2:12:2:12 | InitializeParameter: x | Instruction 'InitializeParameter: x' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| fieldaccess.cpp:6:6:6:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| forstmt.cpp:1:6:1:7 | InitializeNonLocal: f1 | Instruction 'InitializeNonLocal: f1' has 2 successors of kind 'Goto' in function '$@'. | conditional_destructors.cpp:29:6:29:7 | void f1() | void f1() |
| forstmt.cpp:8:6:8:7 | InitializeNonLocal: f2 | Instruction 'InitializeNonLocal: f2' has 2 successors of kind 'Goto' in function '$@'. | conditional_destructors.cpp:38:6:38:7 | void f2() | void f2() |
| ifelsestmt.c:1:6:1:19 | InitializeNonLocal: always_false_1 | Instruction 'InitializeNonLocal: always_false_1' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:1:6:1:19 | void always_false_1() | void always_false_1() |
| ifelsestmt.c:11:6:11:19 | InitializeNonLocal: always_false_2 | Instruction 'InitializeNonLocal: always_false_2' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:11:6:11:19 | void always_false_2() | void always_false_2() |
| ifelsestmt.c:19:6:19:18 | InitializeNonLocal: always_true_1 | Instruction 'InitializeNonLocal: always_true_1' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:8:6:8:18 | void always_true_1() | void always_true_1() |
| ifelsestmt.c:29:6:29:18 | InitializeNonLocal: always_true_2 | Instruction 'InitializeNonLocal: always_true_2' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:16:6:16:18 | void always_true_2() | void always_true_2() |
| fieldaccess.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| forstmt.cpp:1:6:1:7 | AliasedDefinition: f1 | Instruction 'AliasedDefinition: f1' has 2 successors of kind 'Goto' in function '$@'. | conditional_destructors.cpp:29:6:29:7 | void f1() | void f1() |
| forstmt.cpp:8:6:8:7 | AliasedDefinition: f2 | Instruction 'AliasedDefinition: f2' has 2 successors of kind 'Goto' in function '$@'. | conditional_destructors.cpp:38:6:38:7 | void f2() | void f2() |
| ifelsestmt.c:1:6:1:19 | AliasedDefinition: always_false_1 | Instruction 'AliasedDefinition: always_false_1' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:1:6:1:19 | void always_false_1() | void always_false_1() |
| ifelsestmt.c:11:6:11:19 | AliasedDefinition: always_false_2 | Instruction 'AliasedDefinition: always_false_2' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:11:6:11:19 | void always_false_2() | void always_false_2() |
| ifelsestmt.c:19:6:19:18 | AliasedDefinition: always_true_1 | Instruction 'AliasedDefinition: always_true_1' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:8:6:8:18 | void always_true_1() | void always_true_1() |
| ifelsestmt.c:29:6:29:18 | AliasedDefinition: always_true_2 | Instruction 'AliasedDefinition: always_true_2' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:16:6:16:18 | void always_true_2() | void always_true_2() |
| ifelsestmt.c:37:24:37:24 | InitializeParameter: y | Instruction 'InitializeParameter: y' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:32:6:32:11 | void normal(int, int) | void normal(int, int) |
| ifstmt.c:1:6:1:19 | InitializeNonLocal: always_false_1 | Instruction 'InitializeNonLocal: always_false_1' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:1:6:1:19 | void always_false_1() | void always_false_1() |
| ifstmt.c:8:6:8:19 | InitializeNonLocal: always_false_2 | Instruction 'InitializeNonLocal: always_false_2' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:11:6:11:19 | void always_false_2() | void always_false_2() |
| ifstmt.c:14:6:14:18 | InitializeNonLocal: always_true_1 | Instruction 'InitializeNonLocal: always_true_1' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:8:6:8:18 | void always_true_1() | void always_true_1() |
| ifstmt.c:21:6:21:18 | InitializeNonLocal: always_true_2 | Instruction 'InitializeNonLocal: always_true_2' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:16:6:16:18 | void always_true_2() | void always_true_2() |
| ifstmt.c:1:6:1:19 | AliasedDefinition: always_false_1 | Instruction 'AliasedDefinition: always_false_1' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:1:6:1:19 | void always_false_1() | void always_false_1() |
| ifstmt.c:8:6:8:19 | AliasedDefinition: always_false_2 | Instruction 'AliasedDefinition: always_false_2' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:11:6:11:19 | void always_false_2() | void always_false_2() |
| ifstmt.c:14:6:14:18 | AliasedDefinition: always_true_1 | Instruction 'AliasedDefinition: always_true_1' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:8:6:8:18 | void always_true_1() | void always_true_1() |
| ifstmt.c:21:6:21:18 | AliasedDefinition: always_true_2 | Instruction 'AliasedDefinition: always_true_2' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:16:6:16:18 | void always_true_2() | void always_true_2() |
| ifstmt.c:27:24:27:24 | InitializeParameter: y | Instruction 'InitializeParameter: y' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:32:6:32:11 | void normal(int, int) | void normal(int, int) |
| membercallexpr.cpp:6:6:6:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| membercallexpr_args.cpp:7:6:7:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| newexpr.cpp:6:6:6:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| no_dynamic_init.cpp:9:5:9:8 | InitializeNonLocal: main | Instruction 'InitializeNonLocal: main' has 4 successors of kind 'Goto' in function '$@'. | allocators.cpp:14:5:14:8 | int main() | int main() |
| membercallexpr.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| membercallexpr_args.cpp:7:6:7:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| newexpr.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| no_dynamic_init.cpp:9:5:9:8 | AliasedDefinition: main | Instruction 'AliasedDefinition: main' has 4 successors of kind 'Goto' in function '$@'. | allocators.cpp:14:5:14:8 | int main() | int main() |
| nodefaultswitchstmt.c:1:12:1:12 | InitializeParameter: i | Instruction 'InitializeParameter: i' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| nodefaultswitchstmt.c:1:12:1:12 | InitializeParameter: i | Instruction 'InitializeParameter: x' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| nodefaultswitchstmt.c:1:12:1:12 | InitializeParameter: x | Instruction 'InitializeParameter: i' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| nodefaultswitchstmt.c:1:12:1:12 | InitializeParameter: x | Instruction 'InitializeParameter: x' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| nonmembercallexpr.c:1:6:1:6 | InitializeNonLocal: g | Instruction 'InitializeNonLocal: g' has 2 successors of kind 'Goto' in function '$@'. | nonmembercallexpr.c:1:6:1:6 | void g(); void g())(); void(* g(); void(* g())() | void g(); void g())(); void(* g(); void(* g())() |
| parameterinitializer.cpp:18:5:18:8 | InitializeNonLocal: main | Instruction 'InitializeNonLocal: main' has 4 successors of kind 'Goto' in function '$@'. | allocators.cpp:14:5:14:8 | int main() | int main() |
| pmcallexpr.cpp:6:6:6:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| revsubscriptexpr.c:1:6:1:6 | InitializeNonLocal: g | Instruction 'InitializeNonLocal: g' has 2 successors of kind 'Goto' in function '$@'. | nonmembercallexpr.c:1:6:1:6 | void g(); void g())(); void(* g(); void(* g())() | void g(); void g())(); void(* g(); void(* g())() |
| staticmembercallexpr.cpp:6:6:6:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| staticmembercallexpr_args.cpp:7:6:7:6 | InitializeNonLocal: f | Instruction 'InitializeNonLocal: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| stream_it.cpp:16:5:16:8 | InitializeNonLocal: main | Instruction 'InitializeNonLocal: main' has 4 successors of kind 'Goto' in function '$@'. | allocators.cpp:14:5:14:8 | int main() | int main() |
| nonmembercallexpr.c:1:6:1:6 | AliasedDefinition: g | Instruction 'AliasedDefinition: g' has 2 successors of kind 'Goto' in function '$@'. | nonmembercallexpr.c:1:6:1:6 | void g(); void g())(); void(* g(); void(* g())() | void g(); void g())(); void(* g(); void(* g())() |
| parameterinitializer.cpp:18:5:18:8 | AliasedDefinition: main | Instruction 'AliasedDefinition: main' has 4 successors of kind 'Goto' in function '$@'. | allocators.cpp:14:5:14:8 | int main() | int main() |
| pmcallexpr.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| revsubscriptexpr.c:1:6:1:6 | AliasedDefinition: g | Instruction 'AliasedDefinition: g' has 2 successors of kind 'Goto' in function '$@'. | nonmembercallexpr.c:1:6:1:6 | void g(); void g())(); void(* g(); void(* g())() | void g(); void g())(); void(* g(); void(* g())() |
| staticmembercallexpr.cpp:6:6:6:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| staticmembercallexpr_args.cpp:7:6:7:6 | AliasedDefinition: f | Instruction 'AliasedDefinition: f' has 14 successors of kind 'Goto' in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() |
| stream_it.cpp:16:5:16:8 | AliasedDefinition: main | Instruction 'AliasedDefinition: main' has 4 successors of kind 'Goto' in function '$@'. | allocators.cpp:14:5:14:8 | int main() | int main() |
| switchstmt.c:1:12:1:12 | InitializeParameter: i | Instruction 'InitializeParameter: i' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| switchstmt.c:1:12:1:12 | InitializeParameter: i | Instruction 'InitializeParameter: x' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| switchstmt.c:1:12:1:12 | InitializeParameter: x | Instruction 'InitializeParameter: i' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| switchstmt.c:1:12:1:12 | InitializeParameter: x | Instruction 'InitializeParameter: x' has 19 successors of kind 'Goto' in function '$@'. | aggregateinitializer.c:1:6:1:6 | int f(int); void f(int) | int f(int); void f(int) |
| whilestmt.c:1:6:1:19 | InitializeNonLocal: always_false_1 | Instruction 'InitializeNonLocal: always_false_1' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:1:6:1:19 | void always_false_1() | void always_false_1() |
| whilestmt.c:8:6:8:19 | InitializeNonLocal: always_false_2 | Instruction 'InitializeNonLocal: always_false_2' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:11:6:11:19 | void always_false_2() | void always_false_2() |
| whilestmt.c:15:6:15:18 | InitializeNonLocal: always_true_1 | Instruction 'InitializeNonLocal: always_true_1' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:8:6:8:18 | void always_true_1() | void always_true_1() |
| whilestmt.c:23:6:23:18 | InitializeNonLocal: always_true_2 | Instruction 'InitializeNonLocal: always_true_2' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:16:6:16:18 | void always_true_2() | void always_true_2() |
| whilestmt.c:32:6:32:18 | InitializeNonLocal: always_true_3 | Instruction 'InitializeNonLocal: always_true_3' has 2 successors of kind 'Goto' in function '$@'. | dostmt.c:25:6:25:18 | void always_true_3() | void always_true_3() |
| whilestmt.c:1:6:1:19 | AliasedDefinition: always_false_1 | Instruction 'AliasedDefinition: always_false_1' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:1:6:1:19 | void always_false_1() | void always_false_1() |
| whilestmt.c:8:6:8:19 | AliasedDefinition: always_false_2 | Instruction 'AliasedDefinition: always_false_2' has 3 successors of kind 'Goto' in function '$@'. | ifelsestmt.c:11:6:11:19 | void always_false_2() | void always_false_2() |
| whilestmt.c:15:6:15:18 | AliasedDefinition: always_true_1 | Instruction 'AliasedDefinition: always_true_1' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:8:6:8:18 | void always_true_1() | void always_true_1() |
| whilestmt.c:23:6:23:18 | AliasedDefinition: always_true_2 | Instruction 'AliasedDefinition: always_true_2' has 4 successors of kind 'Goto' in function '$@'. | dostmt.c:16:6:16:18 | void always_true_2() | void always_true_2() |
| whilestmt.c:32:6:32:18 | AliasedDefinition: always_true_3 | Instruction 'AliasedDefinition: always_true_3' has 2 successors of kind 'Goto' in function '$@'. | dostmt.c:25:6:25:18 | void always_true_3() | void always_true_3() |
unexplainedLoop
unnecessaryPhiInstruction
memoryOperandDefinitionIsUnmodeled
@@ -89,8 +89,6 @@ lostReachability
backEdgeCountMismatch
useNotDominatedByDefinition
switchInstructionWithoutDefaultEdge
notMarkedAsConflated
wronglyMarkedAsConflated
invalidOverlap
nonUniqueEnclosingIRFunction
fieldAddressOnNonPointer

View File

@@ -10,6 +10,7 @@ private newtype TMemoryAccessKind =
TEntireAllocationMemoryAccess() or
TEscapedMemoryAccess() or
TNonLocalMemoryAccess() or
TEscapedInitializationMemoryAccess() or
TPhiMemoryAccess() or
TUnmodeledMemoryAccess() or
TChiTotalMemoryAccess() or
@@ -76,6 +77,14 @@ class NonLocalMemoryAccess extends MemoryAccessKind, TNonLocalMemoryAccess {
override string toString() { result = "nonlocal" }
}
/**
* The operand or result accesses all memory whose address has escaped and can define read-only
* memory (such as string constants).
*/
class EscapedInitializationMemoryAccess extends MemoryAccessKind, TEscapedInitializationMemoryAccess {
override string toString() { result = "escaped(init)" }
}
/**
* The operand is a Phi operand, which accesses the same memory as its
* definition.

View File

@@ -979,19 +979,8 @@ module Opcode {
class AliasedDefinition extends Opcode, TAliasedDefinition {
final override string toString() { result = "AliasedDefinition" }
final override MemoryAccessKind getWriteMemoryAccess() { result instanceof EscapedMemoryAccess }
}
/**
* The `Opcode` for an `InitializeNonLocalInstruction`.
*
* See the `InitializeNonLocalInstruction` documentation for more details.
*/
class InitializeNonLocal extends Opcode, TInitializeNonLocal {
final override string toString() { result = "InitializeNonLocal" }
final override MemoryAccessKind getWriteMemoryAccess() {
result instanceof NonLocalMemoryAccess
result instanceof EscapedInitializationMemoryAccess
}
}

View File

@@ -441,34 +441,6 @@ module InstructionConsistency {
isOnAliasedDefinitionChain(instr.(PhiInstruction).getAnInputOperand().getAnyDef())
}
private predicate shouldBeConflated(Instruction instr) {
isOnAliasedDefinitionChain(instr)
or
instr.getOpcode() instanceof Opcode::InitializeNonLocal
}
query predicate notMarkedAsConflated(
Instruction instr, string message, OptionalIRFunction irFunc, string irFuncText
) {
shouldBeConflated(instr) and
not instr.isResultConflated() and
message =
"Instruction '" + instr.toString() +
"' should be marked as having a conflated result in function '$@'." and
irFunc = getInstructionIRFunction(instr, irFuncText)
}
query predicate wronglyMarkedAsConflated(
Instruction instr, string message, OptionalIRFunction irFunc, string irFuncText
) {
instr.isResultConflated() and
not shouldBeConflated(instr) and
message =
"Instruction '" + instr.toString() +
"' should not be marked as having a conflated result in function '$@'." and
irFunc = getInstructionIRFunction(instr, irFuncText)
}
query predicate invalidOverlap(
MemoryOperand useOperand, string message, OptionalIRFunction irFunc, string irFuncText
) {

View File

@@ -92,6 +92,11 @@ class Instruction extends Construction::TStageInstruction {
else result = "r"
}
private string getConflationPrefix() {
shouldGenerateDumpStrings() and
if isResultConflated() then result = "%" else result = ""
}
/**
* Gets the zero-based index of this instruction within its block. This is
* used by debugging and printing code only.
@@ -143,7 +148,8 @@ class Instruction extends Construction::TStageInstruction {
*/
final string getResultString() {
shouldGenerateDumpStrings() and
result = getResultId() + "(" + getResultLanguageType().getDumpString() + ")"
result =
getConflationPrefix() + getResultId() + "(" + getResultLanguageType().getDumpString() + ")"
}
/**
@@ -584,16 +590,6 @@ class InitializeParameterInstruction extends VariableInstruction {
final Language::Parameter getParameter() { result = var.(IRUserVariable).getVariable() }
}
/**
* An instruction that initializes all memory that existed before this function was called.
*
* This instruction provides a definition for memory that, because it was actually allocated and
* initialized elsewhere, would not otherwise have a definition in this function.
*/
class InitializeNonLocalInstruction extends Instruction {
InitializeNonLocalInstruction() { getOpcode() instanceof Opcode::InitializeNonLocal }
}
/**
* An instruction that initializes the memory pointed to by a parameter of the enclosing function
* with the value of that memory on entry to the function.

View File

@@ -186,8 +186,6 @@ private module Cached {
cached
predicate hasConflatedMemoryResult(Instruction instruction) {
instruction instanceof AliasedDefinitionInstruction
or
instruction.getOpcode() instanceof Opcode::InitializeNonLocal
}
cached

View File

@@ -441,34 +441,6 @@ module InstructionConsistency {
isOnAliasedDefinitionChain(instr.(PhiInstruction).getAnInputOperand().getAnyDef())
}
private predicate shouldBeConflated(Instruction instr) {
isOnAliasedDefinitionChain(instr)
or
instr.getOpcode() instanceof Opcode::InitializeNonLocal
}
query predicate notMarkedAsConflated(
Instruction instr, string message, OptionalIRFunction irFunc, string irFuncText
) {
shouldBeConflated(instr) and
not instr.isResultConflated() and
message =
"Instruction '" + instr.toString() +
"' should be marked as having a conflated result in function '$@'." and
irFunc = getInstructionIRFunction(instr, irFuncText)
}
query predicate wronglyMarkedAsConflated(
Instruction instr, string message, OptionalIRFunction irFunc, string irFuncText
) {
instr.isResultConflated() and
not shouldBeConflated(instr) and
message =
"Instruction '" + instr.toString() +
"' should not be marked as having a conflated result in function '$@'." and
irFunc = getInstructionIRFunction(instr, irFuncText)
}
query predicate invalidOverlap(
MemoryOperand useOperand, string message, OptionalIRFunction irFunc, string irFuncText
) {

View File

@@ -92,6 +92,11 @@ class Instruction extends Construction::TStageInstruction {
else result = "r"
}
private string getConflationPrefix() {
shouldGenerateDumpStrings() and
if isResultConflated() then result = "%" else result = ""
}
/**
* Gets the zero-based index of this instruction within its block. This is
* used by debugging and printing code only.
@@ -143,7 +148,8 @@ class Instruction extends Construction::TStageInstruction {
*/
final string getResultString() {
shouldGenerateDumpStrings() and
result = getResultId() + "(" + getResultLanguageType().getDumpString() + ")"
result =
getConflationPrefix() + getResultId() + "(" + getResultLanguageType().getDumpString() + ")"
}
/**
@@ -584,16 +590,6 @@ class InitializeParameterInstruction extends VariableInstruction {
final Language::Parameter getParameter() { result = var.(IRUserVariable).getVariable() }
}
/**
* An instruction that initializes all memory that existed before this function was called.
*
* This instruction provides a definition for memory that, because it was actually allocated and
* initialized elsewhere, would not otherwise have a definition in this function.
*/
class InitializeNonLocalInstruction extends Instruction {
InitializeNonLocalInstruction() { getOpcode() instanceof Opcode::InitializeNonLocal }
}
/**
* An instruction that initializes the memory pointed to by a parameter of the enclosing function
* with the value of that memory on entry to the function.

View File

@@ -68,8 +68,6 @@ private module Cached {
predicate hasConflatedMemoryResult(Instruction instruction) {
instruction instanceof AliasedDefinitionInstruction
or
instruction.getOpcode() instanceof Opcode::InitializeNonLocal
or
// Chi instructions track virtual variables, and therefore a chi instruction is
// conflated if it's associated with the aliased virtual variable.
exists(OldInstruction oldInstruction | instruction = getChi(oldInstruction) |

View File

@@ -2,7 +2,7 @@ array.cs:
# 2| System.Void ArrayTest.one_dim_init_acc()
# 2| Block 0
# 2| v2_1(Void) = EnterFunction :
# 2| mu2_2(<unknown>) = AliasedDefinition :
# 2| %mu2_2(<unknown>) = AliasedDefinition :
# 2| r2_3(glval<ArrayTest>) = InitializeThis :
# 4| r4_1(glval<Int32[]>) = VariableAddress[one_dim] :
# 4| mu4_2(Int32[]) = Uninitialized[one_dim] : &:r4_1
@@ -57,7 +57,7 @@ array.cs:
# 13| System.Void ArrayTest.twod_and_init_acc()
# 13| Block 0
# 13| v13_1(Void) = EnterFunction :
# 13| mu13_2(<unknown>) = AliasedDefinition :
# 13| %mu13_2(<unknown>) = AliasedDefinition :
# 13| r13_3(glval<ArrayTest>) = InitializeThis :
# 15| r15_1(glval<Int32[,]>) = VariableAddress[a] :
# 15| mu15_2(Int32[,]) = Uninitialized[a] : &:r15_1
@@ -148,7 +148,7 @@ assignop.cs:
# 4| System.Void AssignOp.Main()
# 4| Block 0
# 4| v4_1(Void) = EnterFunction :
# 4| mu4_2(<unknown>) = AliasedDefinition :
# 4| %mu4_2(<unknown>) = AliasedDefinition :
# 5| r5_1(glval<Int32>) = VariableAddress[a] :
# 5| r5_2(Int32) = Constant[1] :
# 5| mu5_3(Int32) = Store[a] : &:r5_1, r5_2
@@ -218,7 +218,7 @@ casts.cs:
# 11| System.Void Casts.Main()
# 11| Block 0
# 11| v11_1(Void) = EnterFunction :
# 11| mu11_2(<unknown>) = AliasedDefinition :
# 11| %mu11_2(<unknown>) = AliasedDefinition :
# 13| r13_1(glval<Casts_A>) = VariableAddress[Aobj] :
# 13| r13_2(Casts_A) = NewObj :
# 13| r13_3(<funcaddr>) = FunctionAddress[Casts_A] :
@@ -243,7 +243,7 @@ collections.cs:
# 11| System.Void Collections.Main()
# 11| Block 0
# 11| v11_1(Void) = EnterFunction :
# 11| mu11_2(<unknown>) = AliasedDefinition :
# 11| %mu11_2(<unknown>) = AliasedDefinition :
# 13| r13_1(glval<Dictionary<Int32,MyClass>>) = VariableAddress[dict] :
# 13| r13_2(Dictionary<Int32,MyClass>) = NewObj :
# 13| r13_3(<funcaddr>) = FunctionAddress[Dictionary] :
@@ -286,7 +286,7 @@ constructor_init.cs:
# 5| System.Void BaseClass..ctor()
# 5| Block 0
# 5| v5_1(Void) = EnterFunction :
# 5| mu5_2(<unknown>) = AliasedDefinition :
# 5| %mu5_2(<unknown>) = AliasedDefinition :
# 5| r5_3(glval<BaseClass>) = InitializeThis :
# 6| v6_1(Void) = NoOp :
# 5| v5_4(Void) = ReturnVoid :
@@ -296,7 +296,7 @@ constructor_init.cs:
# 9| System.Void BaseClass..ctor(System.Int32)
# 9| Block 0
# 9| v9_1(Void) = EnterFunction :
# 9| mu9_2(<unknown>) = AliasedDefinition :
# 9| %mu9_2(<unknown>) = AliasedDefinition :
# 9| r9_3(glval<BaseClass>) = InitializeThis :
# 9| r9_4(glval<Int32>) = VariableAddress[i] :
# 9| mu9_5(Int32) = InitializeParameter[i] : &:r9_4
@@ -312,7 +312,7 @@ constructor_init.cs:
# 17| System.Void DerivedClass..ctor()
# 17| Block 0
# 17| v17_1(Void) = EnterFunction :
# 17| mu17_2(<unknown>) = AliasedDefinition :
# 17| %mu17_2(<unknown>) = AliasedDefinition :
# 17| r17_3(glval<DerivedClass>) = InitializeThis :
# 17| r17_4(glval<BaseClass>) = Convert[DerivedClass : BaseClass] : r17_3
# 17| r17_5(<funcaddr>) = FunctionAddress[BaseClass] :
@@ -326,7 +326,7 @@ constructor_init.cs:
# 21| System.Void DerivedClass..ctor(System.Int32)
# 21| Block 0
# 21| v21_1(Void) = EnterFunction :
# 21| mu21_2(<unknown>) = AliasedDefinition :
# 21| %mu21_2(<unknown>) = AliasedDefinition :
# 21| r21_3(glval<DerivedClass>) = InitializeThis :
# 21| r21_4(glval<Int32>) = VariableAddress[i] :
# 21| mu21_5(Int32) = InitializeParameter[i] : &:r21_4
@@ -344,7 +344,7 @@ constructor_init.cs:
# 25| System.Void DerivedClass..ctor(System.Int32,System.Int32)
# 25| Block 0
# 25| v25_1(Void) = EnterFunction :
# 25| mu25_2(<unknown>) = AliasedDefinition :
# 25| %mu25_2(<unknown>) = AliasedDefinition :
# 25| r25_3(glval<DerivedClass>) = InitializeThis :
# 25| r25_4(glval<Int32>) = VariableAddress[i] :
# 25| mu25_5(Int32) = InitializeParameter[i] : &:r25_4
@@ -363,7 +363,7 @@ constructor_init.cs:
# 29| System.Void DerivedClass.Main()
# 29| Block 0
# 29| v29_1(Void) = EnterFunction :
# 29| mu29_2(<unknown>) = AliasedDefinition :
# 29| %mu29_2(<unknown>) = AliasedDefinition :
# 31| r31_1(glval<DerivedClass>) = VariableAddress[obj1] :
# 31| r31_2(DerivedClass) = NewObj :
# 31| r31_3(<funcaddr>) = FunctionAddress[DerivedClass] :
@@ -393,7 +393,7 @@ crement.cs:
# 3| System.Void CrementOpsTest.Main()
# 3| Block 0
# 3| v3_1(Void) = EnterFunction :
# 3| mu3_2(<unknown>) = AliasedDefinition :
# 3| %mu3_2(<unknown>) = AliasedDefinition :
# 5| r5_1(glval<Int32>) = VariableAddress[x] :
# 5| r5_2(Int32) = Constant[10] :
# 5| mu5_3(Int32) = Store[x] : &:r5_1, r5_2
@@ -433,7 +433,7 @@ delegates.cs:
# 6| System.Int32 Delegates.returns(System.Int32)
# 6| Block 0
# 6| v6_1(Void) = EnterFunction :
# 6| mu6_2(<unknown>) = AliasedDefinition :
# 6| %mu6_2(<unknown>) = AliasedDefinition :
# 6| r6_3(glval<Int32>) = VariableAddress[ret] :
# 6| mu6_4(Int32) = InitializeParameter[ret] : &:r6_3
# 8| r8_1(glval<Int32>) = VariableAddress[#return] :
@@ -447,30 +447,30 @@ delegates.cs:
# 11| System.Void Delegates.Main()
# 11| Block 0
# 11| v11_1(Void) = EnterFunction :
# 11| mu11_2(<unknown>) = AliasedDefinition :
# 12| r12_1(glval<Del>) = VariableAddress[del1] :
# 12| r12_2(Del) = NewObj :
# 12| r12_3(<funcaddr>) = FunctionAddress[Del] :
# 12| r12_4(glval<Del>) = FunctionAddress[returns] :
# 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[del1] : &:r12_1, r12_2
# 13| r13_1(glval<Del>) = VariableAddress[del1] :
# 13| r13_2(Del) = Load[del1] : &:r13_1, ~m?
# 13| r13_3(<funcaddr>) = FunctionAddress[Invoke] :
# 13| r13_4(Int32) = Constant[5] :
# 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?
# 11| v11_5(Void) = ExitFunction :
# 11| v11_1(Void) = EnterFunction :
# 11| %mu11_2(<unknown>) = AliasedDefinition :
# 12| r12_1(glval<Del>) = VariableAddress[del1] :
# 12| r12_2(Del) = NewObj :
# 12| r12_3(<funcaddr>) = FunctionAddress[Del] :
# 12| r12_4(glval<Del>) = FunctionAddress[returns] :
# 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[del1] : &:r12_1, r12_2
# 13| r13_1(glval<Del>) = VariableAddress[del1] :
# 13| r13_2(Del) = Load[del1] : &:r13_1, ~m?
# 13| r13_3(<funcaddr>) = FunctionAddress[Invoke] :
# 13| r13_4(Int32) = Constant[5] :
# 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?
# 11| v11_5(Void) = ExitFunction :
events.cs:
# 8| System.Void Events..ctor()
# 8| Block 0
# 8| v8_1(Void) = EnterFunction :
# 8| mu8_2(<unknown>) = AliasedDefinition :
# 8| %mu8_2(<unknown>) = AliasedDefinition :
# 8| r8_3(glval<Events>) = InitializeThis :
# 10| r10_1(MyDel) = NewObj :
# 10| r10_2(<funcaddr>) = FunctionAddress[MyDel] :
@@ -487,7 +487,7 @@ events.cs:
# 13| System.Void Events.AddEvent()
# 13| Block 0
# 13| v13_1(Void) = EnterFunction :
# 13| mu13_2(<unknown>) = AliasedDefinition :
# 13| %mu13_2(<unknown>) = AliasedDefinition :
# 13| r13_3(glval<Events>) = InitializeThis :
# 15| r15_1(Events) = CopyValue : r13_3
# 15| r15_2(<funcaddr>) = FunctionAddress[add_MyEvent] :
@@ -503,7 +503,7 @@ events.cs:
# 18| System.Void Events.RemoveEvent()
# 18| Block 0
# 18| v18_1(Void) = EnterFunction :
# 18| mu18_2(<unknown>) = AliasedDefinition :
# 18| %mu18_2(<unknown>) = AliasedDefinition :
# 18| r18_3(glval<Events>) = InitializeThis :
# 20| r20_1(Events) = CopyValue : r18_3
# 20| r20_2(<funcaddr>) = FunctionAddress[remove_MyEvent] :
@@ -519,7 +519,7 @@ events.cs:
# 23| System.String Events.Fun(System.String)
# 23| Block 0
# 23| v23_1(Void) = EnterFunction :
# 23| mu23_2(<unknown>) = AliasedDefinition :
# 23| %mu23_2(<unknown>) = AliasedDefinition :
# 23| r23_3(glval<Events>) = InitializeThis :
# 23| r23_4(glval<String>) = VariableAddress[str] :
# 23| mu23_5(String) = InitializeParameter[str] : &:r23_4
@@ -535,7 +535,7 @@ events.cs:
# 28| System.Void Events.Main(System.String[])
# 28| Block 0
# 28| v28_1(Void) = EnterFunction :
# 28| mu28_2(<unknown>) = AliasedDefinition :
# 28| %mu28_2(<unknown>) = AliasedDefinition :
# 28| r28_3(glval<String[]>) = VariableAddress[args] :
# 28| mu28_4(String[]) = InitializeParameter[args] : &:r28_3
# 30| r30_1(glval<Events>) = VariableAddress[obj] :
@@ -570,7 +570,7 @@ foreach.cs:
# 4| System.Void ForEach.Main()
# 4| Block 0
# 4| v4_1(Void) = EnterFunction :
# 4| mu4_2(<unknown>) = AliasedDefinition :
# 4| %mu4_2(<unknown>) = AliasedDefinition :
# 5| r5_1(glval<Int32[]>) = VariableAddress[a_array] :
# 5| mu5_2(Int32[]) = Uninitialized[a_array] : &:r5_1
# 5| r5_3(Int32) = Constant[0] :
@@ -648,7 +648,7 @@ func_with_param_call.cs:
# 5| System.Int32 test_call_with_param.f(System.Int32,System.Int32)
# 5| Block 0
# 5| v5_1(Void) = EnterFunction :
# 5| mu5_2(<unknown>) = AliasedDefinition :
# 5| %mu5_2(<unknown>) = AliasedDefinition :
# 5| r5_3(glval<Int32>) = VariableAddress[x] :
# 5| mu5_4(Int32) = InitializeParameter[x] : &:r5_3
# 5| r5_5(glval<Int32>) = VariableAddress[y] :
@@ -668,7 +668,7 @@ func_with_param_call.cs:
# 10| System.Int32 test_call_with_param.g()
# 10| Block 0
# 10| v10_1(Void) = EnterFunction :
# 10| mu10_2(<unknown>) = AliasedDefinition :
# 10| %mu10_2(<unknown>) = AliasedDefinition :
# 12| r12_1(glval<Int32>) = VariableAddress[#return] :
# 12| r12_2(<funcaddr>) = FunctionAddress[f] :
# 12| r12_3(Int32) = Constant[2] :
@@ -685,7 +685,7 @@ indexers.cs:
# 8| System.String Indexers.MyClass.get_Item(System.Int32)
# 8| Block 0
# 8| v8_1(Void) = EnterFunction :
# 8| mu8_2(<unknown>) = AliasedDefinition :
# 8| %mu8_2(<unknown>) = AliasedDefinition :
# 8| r8_3(glval<MyClass>) = InitializeThis :
# 6| r6_1(glval<Int32>) = VariableAddress[index] :
# 6| mu6_2(Int32) = InitializeParameter[index] : &:r6_1
@@ -706,7 +706,7 @@ indexers.cs:
# 12| System.Void Indexers.MyClass.set_Item(System.Int32,System.String)
# 12| Block 0
# 12| v12_1(Void) = EnterFunction :
# 12| mu12_2(<unknown>) = AliasedDefinition :
# 12| %mu12_2(<unknown>) = AliasedDefinition :
# 12| r12_3(glval<MyClass>) = InitializeThis :
# 6| r6_1(glval<Int32>) = VariableAddress[index] :
# 6| mu6_2(Int32) = InitializeParameter[index] : &:r6_1
@@ -728,7 +728,7 @@ indexers.cs:
# 19| System.Void Indexers.Main()
# 19| Block 0
# 19| v19_1(Void) = EnterFunction :
# 19| mu19_2(<unknown>) = AliasedDefinition :
# 19| %mu19_2(<unknown>) = AliasedDefinition :
# 21| r21_1(glval<MyClass>) = VariableAddress[inst] :
# 21| r21_2(MyClass) = NewObj :
# 21| r21_3(<funcaddr>) = FunctionAddress[MyClass] :
@@ -769,7 +769,7 @@ inheritance_polymorphism.cs:
# 3| System.Int32 A.function()
# 3| Block 0
# 3| v3_1(Void) = EnterFunction :
# 3| mu3_2(<unknown>) = AliasedDefinition :
# 3| %mu3_2(<unknown>) = AliasedDefinition :
# 3| r3_3(glval<A>) = InitializeThis :
# 5| r5_1(glval<Int32>) = VariableAddress[#return] :
# 5| r5_2(Int32) = Constant[0] :
@@ -782,7 +782,7 @@ inheritance_polymorphism.cs:
# 15| System.Int32 C.function()
# 15| Block 0
# 15| v15_1(Void) = EnterFunction :
# 15| mu15_2(<unknown>) = AliasedDefinition :
# 15| %mu15_2(<unknown>) = AliasedDefinition :
# 15| r15_3(glval<C>) = InitializeThis :
# 17| r17_1(glval<Int32>) = VariableAddress[#return] :
# 17| r17_2(Int32) = Constant[1] :
@@ -794,52 +794,52 @@ inheritance_polymorphism.cs:
# 23| System.Void Program.Main()
# 23| Block 0
# 23| v23_1(Void) = EnterFunction :
# 23| mu23_2(<unknown>) = AliasedDefinition :
# 25| r25_1(glval<B>) = VariableAddress[objB] :
# 25| r25_2(B) = NewObj :
# 25| r25_3(<funcaddr>) = FunctionAddress[B] :
# 25| v25_4(Void) = Call[B] : func:r25_3, this:r25_2
# 25| mu25_5(<unknown>) = ^CallSideEffect : ~m?
# 25| mu25_6(B) = Store[objB] : &:r25_1, r25_2
# 26| r26_1(glval<B>) = VariableAddress[objB] :
# 26| r26_2(B) = Load[objB] : &:r26_1, ~m?
# 26| r26_3(<funcaddr>) = FunctionAddress[function] :
# 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
# 30| r30_1(glval<B>) = VariableAddress[objB] :
# 30| r30_2(B) = Load[objB] : &:r30_1, ~m?
# 30| r30_3(A) = Convert : r30_2
# 30| r30_4(glval<A>) = VariableAddress[objA] :
# 30| mu30_5(A) = Store[objA] : &:r30_4, r30_3
# 31| r31_1(glval<A>) = VariableAddress[objA] :
# 31| r31_2(A) = Load[objA] : &:r31_1, ~m?
# 31| r31_3(<funcaddr>) = FunctionAddress[function] :
# 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[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[objC] : &:r33_1, r33_2
# 34| r34_1(glval<A>) = VariableAddress[objC] :
# 34| r34_2(A) = Load[objC] : &:r34_1, ~m?
# 34| r34_3(<funcaddr>) = FunctionAddress[function] :
# 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?
# 23| v23_5(Void) = ExitFunction :
# 23| v23_1(Void) = EnterFunction :
# 23| %mu23_2(<unknown>) = AliasedDefinition :
# 25| r25_1(glval<B>) = VariableAddress[objB] :
# 25| r25_2(B) = NewObj :
# 25| r25_3(<funcaddr>) = FunctionAddress[B] :
# 25| v25_4(Void) = Call[B] : func:r25_3, this:r25_2
# 25| mu25_5(<unknown>) = ^CallSideEffect : ~m?
# 25| mu25_6(B) = Store[objB] : &:r25_1, r25_2
# 26| r26_1(glval<B>) = VariableAddress[objB] :
# 26| r26_2(B) = Load[objB] : &:r26_1, ~m?
# 26| r26_3(<funcaddr>) = FunctionAddress[function] :
# 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
# 30| r30_1(glval<B>) = VariableAddress[objB] :
# 30| r30_2(B) = Load[objB] : &:r30_1, ~m?
# 30| r30_3(A) = Convert : r30_2
# 30| r30_4(glval<A>) = VariableAddress[objA] :
# 30| mu30_5(A) = Store[objA] : &:r30_4, r30_3
# 31| r31_1(glval<A>) = VariableAddress[objA] :
# 31| r31_2(A) = Load[objA] : &:r31_1, ~m?
# 31| r31_3(<funcaddr>) = FunctionAddress[function] :
# 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[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[objC] : &:r33_1, r33_2
# 34| r34_1(glval<A>) = VariableAddress[objC] :
# 34| r34_2(A) = Load[objC] : &:r34_1, ~m?
# 34| r34_3(<funcaddr>) = FunctionAddress[function] :
# 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?
# 23| v23_5(Void) = ExitFunction :
inoutref.cs:
# 11| System.Void InOutRef.set(MyClass,MyClass)
# 11| Block 0
# 11| v11_1(Void) = EnterFunction :
# 11| mu11_2(<unknown>) = AliasedDefinition :
# 11| %mu11_2(<unknown>) = AliasedDefinition :
# 11| r11_3(glval<MyClass>) = VariableAddress[o1] :
# 11| mu11_4(MyClass) = InitializeParameter[o1] : &:r11_3
# 11| r11_5(glval<MyClass>) = VariableAddress[o2] :
@@ -856,7 +856,7 @@ inoutref.cs:
# 16| System.Void InOutRef.F(System.Int32,MyStruct,MyStruct,MyClass,MyClass)
# 16| Block 0
# 16| v16_1(Void) = EnterFunction :
# 16| mu16_2(<unknown>) = AliasedDefinition :
# 16| %mu16_2(<unknown>) = AliasedDefinition :
# 16| r16_3(glval<Int32>) = VariableAddress[a] :
# 16| mu16_4(Int32) = InitializeParameter[a] : &:r16_3
# 16| r16_5(glval<MyStruct>) = VariableAddress[b] :
@@ -914,7 +914,7 @@ inoutref.cs:
# 29| System.Void InOutRef.Main()
# 29| Block 0
# 29| v29_1(Void) = EnterFunction :
# 29| mu29_2(<unknown>) = AliasedDefinition :
# 29| %mu29_2(<unknown>) = AliasedDefinition :
# 31| r31_1(glval<Int32>) = VariableAddress[a] :
# 31| r31_2(Int32) = Constant[0] :
# 31| mu31_3(Int32) = Store[a] : &:r31_1, r31_2
@@ -952,7 +952,7 @@ isexpr.cs:
# 8| System.Void IsExpr.Main()
# 8| Block 0
# 8| v8_1(Void) = EnterFunction :
# 8| mu8_2(<unknown>) = AliasedDefinition :
# 8| %mu8_2(<unknown>) = AliasedDefinition :
# 10| r10_1(glval<Is_A>) = VariableAddress[obj] :
# 10| r10_2(null) = Constant[null] :
# 10| r10_3(Is_A) = Convert : r10_2
@@ -1014,7 +1014,7 @@ jumps.cs:
# 5| System.Void Jumps.Main()
# 5| Block 0
# 5| v5_1(Void) = EnterFunction :
# 5| mu5_2(<unknown>) = AliasedDefinition :
# 5| %mu5_2(<unknown>) = AliasedDefinition :
# 7| r7_1(glval<Int32>) = VariableAddress[i] :
# 7| r7_2(Int32) = Constant[1] :
# 7| mu7_3(Int32) = Store[i] : &:r7_1, r7_2
@@ -1187,7 +1187,7 @@ lock.cs:
# 5| System.Void LockTest.A()
# 5| Block 0
# 5| v5_1(Void) = EnterFunction :
# 5| mu5_2(<unknown>) = AliasedDefinition :
# 5| %mu5_2(<unknown>) = AliasedDefinition :
# 7| r7_1(glval<Object>) = VariableAddress[object] :
# 7| r7_2(Object) = NewObj :
# 7| r7_3(<funcaddr>) = FunctionAddress[Object] :
@@ -1238,7 +1238,7 @@ obj_creation.cs:
# 7| System.Void ObjCreation.MyClass..ctor()
# 7| Block 0
# 7| v7_1(Void) = EnterFunction :
# 7| mu7_2(<unknown>) = AliasedDefinition :
# 7| %mu7_2(<unknown>) = AliasedDefinition :
# 7| r7_3(glval<MyClass>) = InitializeThis :
# 8| v8_1(Void) = NoOp :
# 7| v7_4(Void) = ReturnVoid :
@@ -1248,7 +1248,7 @@ obj_creation.cs:
# 11| System.Void ObjCreation.MyClass..ctor(System.Int32)
# 11| Block 0
# 11| v11_1(Void) = EnterFunction :
# 11| mu11_2(<unknown>) = AliasedDefinition :
# 11| %mu11_2(<unknown>) = AliasedDefinition :
# 11| r11_3(glval<MyClass>) = InitializeThis :
# 11| r11_4(glval<Int32>) = VariableAddress[_x] :
# 11| mu11_5(Int32) = InitializeParameter[_x] : &:r11_4
@@ -1264,7 +1264,7 @@ obj_creation.cs:
# 17| System.Void ObjCreation.SomeFun(ObjCreation.MyClass)
# 17| Block 0
# 17| v17_1(Void) = EnterFunction :
# 17| mu17_2(<unknown>) = AliasedDefinition :
# 17| %mu17_2(<unknown>) = AliasedDefinition :
# 17| r17_3(glval<MyClass>) = VariableAddress[x] :
# 17| mu17_4(MyClass) = InitializeParameter[x] : &:r17_3
# 18| v18_1(Void) = NoOp :
@@ -1275,7 +1275,7 @@ obj_creation.cs:
# 21| System.Void ObjCreation.Main()
# 21| Block 0
# 21| v21_1(Void) = EnterFunction :
# 21| mu21_2(<unknown>) = AliasedDefinition :
# 21| %mu21_2(<unknown>) = AliasedDefinition :
# 23| r23_1(glval<MyClass>) = VariableAddress[obj] :
# 23| r23_2(MyClass) = NewObj :
# 23| r23_3(<funcaddr>) = FunctionAddress[MyClass] :
@@ -1314,7 +1314,7 @@ pointers.cs:
# 3| System.Void Pointers.addone(System.Int32[])
# 3| Block 0
# 3| v3_1(Void) = EnterFunction :
# 3| mu3_2(<unknown>) = AliasedDefinition :
# 3| %mu3_2(<unknown>) = AliasedDefinition :
# 3| r3_3(glval<Int32[]>) = VariableAddress[arr] :
# 3| mu3_4(Int32[]) = InitializeParameter[arr] : &:r3_3
# 5| r5_1(glval<Int32>) = VariableAddress[length] :
@@ -1373,7 +1373,7 @@ pointers.cs:
# 25| System.Void Pointers.Main()
# 25| Block 0
# 25| v25_1(Void) = EnterFunction :
# 25| mu25_2(<unknown>) = AliasedDefinition :
# 25| %mu25_2(<unknown>) = AliasedDefinition :
# 26| r26_1(glval<MyClass>) = VariableAddress[o] :
# 26| r26_2(MyClass) = NewObj :
# 26| r26_3(<funcaddr>) = FunctionAddress[MyClass] :
@@ -1441,7 +1441,7 @@ prop.cs:
# 7| System.Int32 PropClass.get_Prop()
# 7| Block 0
# 7| v7_1(Void) = EnterFunction :
# 7| mu7_2(<unknown>) = AliasedDefinition :
# 7| %mu7_2(<unknown>) = AliasedDefinition :
# 7| r7_3(glval<PropClass>) = InitializeThis :
# 9| r9_1(glval<Int32>) = VariableAddress[#return] :
# 9| r9_2(PropClass) = CopyValue : r7_3
@@ -1457,7 +1457,7 @@ prop.cs:
# 12| System.Void PropClass.set_Prop(System.Int32)
# 12| Block 0
# 12| v12_1(Void) = EnterFunction :
# 12| mu12_2(<unknown>) = AliasedDefinition :
# 12| %mu12_2(<unknown>) = AliasedDefinition :
# 12| r12_3(glval<PropClass>) = InitializeThis :
# 12| r12_4(glval<Int32>) = VariableAddress[value] :
# 12| mu12_5(Int32) = InitializeParameter[value] : &:r12_4
@@ -1472,7 +1472,7 @@ prop.cs:
# 18| System.Int32 PropClass.func()
# 18| Block 0
# 18| v18_1(Void) = EnterFunction :
# 18| mu18_2(<unknown>) = AliasedDefinition :
# 18| %mu18_2(<unknown>) = AliasedDefinition :
# 18| r18_3(glval<PropClass>) = InitializeThis :
# 20| r20_1(glval<Int32>) = VariableAddress[#return] :
# 20| r20_2(Int32) = Constant[0] :
@@ -1485,7 +1485,7 @@ prop.cs:
# 26| System.Void Prog.Main()
# 26| Block 0
# 26| v26_1(Void) = EnterFunction :
# 26| mu26_2(<unknown>) = AliasedDefinition :
# 26| %mu26_2(<unknown>) = AliasedDefinition :
# 28| r28_1(glval<PropClass>) = VariableAddress[obj] :
# 28| r28_2(PropClass) = NewObj :
# 28| r28_3(<funcaddr>) = FunctionAddress[PropClass] :
@@ -1513,7 +1513,7 @@ simple_call.cs:
# 5| System.Int32 test_simple_call.f()
# 5| Block 0
# 5| v5_1(Void) = EnterFunction :
# 5| mu5_2(<unknown>) = AliasedDefinition :
# 5| %mu5_2(<unknown>) = AliasedDefinition :
# 7| r7_1(glval<Int32>) = VariableAddress[#return] :
# 7| r7_2(Int32) = Constant[0] :
# 7| mu7_3(Int32) = Store[#return] : &:r7_1, r7_2
@@ -1525,7 +1525,7 @@ simple_call.cs:
# 10| System.Int32 test_simple_call.g()
# 10| Block 0
# 10| v10_1(Void) = EnterFunction :
# 10| mu10_2(<unknown>) = AliasedDefinition :
# 10| %mu10_2(<unknown>) = AliasedDefinition :
# 10| r10_3(glval<test_simple_call>) = InitializeThis :
# 12| r12_1(glval<Int32>) = VariableAddress[#return] :
# 12| r12_2(<funcaddr>) = FunctionAddress[f] :
@@ -1541,7 +1541,7 @@ simple_function.cs:
# 5| System.Int32 test_simple_function.f()
# 5| Block 0
# 5| v5_1(Void) = EnterFunction :
# 5| mu5_2(<unknown>) = AliasedDefinition :
# 5| %mu5_2(<unknown>) = AliasedDefinition :
# 7| r7_1(glval<Int32>) = VariableAddress[#return] :
# 7| r7_2(Int32) = Constant[0] :
# 7| mu7_3(Int32) = Store[#return] : &:r7_1, r7_2
@@ -1554,7 +1554,7 @@ stmts.cs:
# 5| System.Int32 test_stmts.ifStmt(System.Int32)
# 5| Block 0
# 5| v5_1(Void) = EnterFunction :
# 5| mu5_2(<unknown>) = AliasedDefinition :
# 5| %mu5_2(<unknown>) = AliasedDefinition :
# 5| r5_3(glval<Int32>) = VariableAddress[x] :
# 5| mu5_4(Int32) = InitializeParameter[x] : &:r5_3
# 7| r7_1(glval<Int32>) = VariableAddress[x] :
@@ -1586,7 +1586,7 @@ stmts.cs:
# 13| System.Void test_stmts.whileStmt(System.Int32)
# 13| Block 0
# 13| v13_1(Void) = EnterFunction :
# 13| mu13_2(<unknown>) = AliasedDefinition :
# 13| %mu13_2(<unknown>) = AliasedDefinition :
# 13| r13_3(glval<Int32>) = VariableAddress[x] :
# 13| mu13_4(Int32) = InitializeParameter[x] : &:r13_3
# 15| r15_1(glval<Int32>) = VariableAddress[i] :
@@ -1620,7 +1620,7 @@ stmts.cs:
# 22| System.Int32 test_stmts.switchStmt()
# 22| Block 0
# 22| v22_1(Void) = EnterFunction :
# 22| mu22_2(<unknown>) = AliasedDefinition :
# 22| %mu22_2(<unknown>) = AliasedDefinition :
# 24| r24_1(glval<Object>) = VariableAddress[caseSwitch] :
# 24| r24_2(Object) = NewObj :
# 24| r24_3(<funcaddr>) = FunctionAddress[Object] :
@@ -1685,7 +1685,7 @@ stmts.cs:
# 46| System.Void test_stmts.tryCatchFinally()
# 46| Block 0
# 46| v46_1(Void) = EnterFunction :
# 46| mu46_2(<unknown>) = AliasedDefinition :
# 46| %mu46_2(<unknown>) = AliasedDefinition :
# 48| r48_1(glval<Int32>) = VariableAddress[x] :
# 48| r48_2(Int32) = Constant[5] :
# 48| mu48_3(Int32) = Store[x] : &:r48_1, r48_2
@@ -1749,7 +1749,7 @@ stmts.cs:
# 69| System.Void test_stmts.forStmt()
# 69| Block 0
# 69| v69_1(Void) = EnterFunction :
# 69| mu69_2(<unknown>) = AliasedDefinition :
# 69| %mu69_2(<unknown>) = AliasedDefinition :
# 71| r71_1(glval<Int32>) = VariableAddress[x] :
# 71| r71_2(Int32) = Constant[0] :
# 71| mu71_3(Int32) = Store[x] : &:r71_1, r71_2
@@ -1831,7 +1831,7 @@ stmts.cs:
# 89| System.Void test_stmts.doWhile()
# 89| Block 0
# 89| v89_1(Void) = EnterFunction :
# 89| mu89_2(<unknown>) = AliasedDefinition :
# 89| %mu89_2(<unknown>) = AliasedDefinition :
# 91| r91_1(glval<Int32>) = VariableAddress[x] :
# 91| r91_2(Int32) = Constant[0] :
# 91| mu91_3(Int32) = Store[x] : &:r91_1, r91_2
@@ -1860,7 +1860,7 @@ stmts.cs:
# 99| System.Void test_stmts.checkedUnchecked()
# 99| Block 0
# 99| v99_1(Void) = EnterFunction :
# 99| mu99_2(<unknown>) = AliasedDefinition :
# 99| %mu99_2(<unknown>) = AliasedDefinition :
# 101| r101_1(glval<Int32>) = VariableAddress[num] :
# 101| r101_2(Int32) = Constant[2147483647] :
# 101| r101_3(Int32) = Load[?] : &:r101_2, ~m?
@@ -1885,7 +1885,7 @@ using.cs:
# 7| System.Void UsingStmt.MyDisposable..ctor()
# 7| Block 0
# 7| v7_1(Void) = EnterFunction :
# 7| mu7_2(<unknown>) = AliasedDefinition :
# 7| %mu7_2(<unknown>) = AliasedDefinition :
# 7| r7_3(glval<MyDisposable>) = InitializeThis :
# 7| v7_4(Void) = NoOp :
# 7| v7_5(Void) = ReturnVoid :
@@ -1895,7 +1895,7 @@ using.cs:
# 8| System.Void UsingStmt.MyDisposable.DoSomething()
# 8| Block 0
# 8| v8_1(Void) = EnterFunction :
# 8| mu8_2(<unknown>) = AliasedDefinition :
# 8| %mu8_2(<unknown>) = AliasedDefinition :
# 8| r8_3(glval<MyDisposable>) = InitializeThis :
# 8| v8_4(Void) = NoOp :
# 8| v8_5(Void) = ReturnVoid :
@@ -1905,7 +1905,7 @@ using.cs:
# 9| System.Void UsingStmt.MyDisposable.Dispose()
# 9| Block 0
# 9| v9_1(Void) = EnterFunction :
# 9| mu9_2(<unknown>) = AliasedDefinition :
# 9| %mu9_2(<unknown>) = AliasedDefinition :
# 9| r9_3(glval<MyDisposable>) = InitializeThis :
# 9| v9_4(Void) = NoOp :
# 9| v9_5(Void) = ReturnVoid :
@@ -1915,7 +1915,7 @@ using.cs:
# 12| System.Void UsingStmt.Main()
# 12| Block 0
# 12| v12_1(Void) = EnterFunction :
# 12| mu12_2(<unknown>) = AliasedDefinition :
# 12| %mu12_2(<unknown>) = AliasedDefinition :
# 14| r14_1(glval<MyDisposable>) = VariableAddress[o1] :
# 14| r14_2(MyDisposable) = NewObj :
# 14| r14_3(<funcaddr>) = FunctionAddress[MyDisposable] :
@@ -1957,7 +1957,7 @@ variables.cs:
# 5| System.Void test_variables.f()
# 5| Block 0
# 5| v5_1(Void) = EnterFunction :
# 5| mu5_2(<unknown>) = AliasedDefinition :
# 5| %mu5_2(<unknown>) = AliasedDefinition :
# 7| r7_1(glval<Int32>) = VariableAddress[x] :
# 7| mu7_2(Int32) = Uninitialized[x] : &:r7_1
# 7| r7_3(glval<Int32>) = VariableAddress[y] :

View File

@@ -17,8 +17,6 @@ lostReachability
backEdgeCountMismatch
useNotDominatedByDefinition
switchInstructionWithoutDefaultEdge
notMarkedAsConflated
wronglyMarkedAsConflated
invalidOverlap
nonUniqueEnclosingIRFunction
fieldAddressOnNonPointer

View File

@@ -17,8 +17,6 @@ lostReachability
backEdgeCountMismatch
useNotDominatedByDefinition
switchInstructionWithoutDefaultEdge
notMarkedAsConflated
wronglyMarkedAsConflated
invalidOverlap
nonUniqueEnclosingIRFunction
fieldAddressOnNonPointer