C++: Accept test changes.

This commit is contained in:
Mathias Vorreiter Pedersen
2024-04-05 18:08:25 +01:00
parent 54e4103e71
commit 45e71543b4
8 changed files with 72 additions and 194 deletions

View File

@@ -16087,39 +16087,21 @@ ir.cpp:
# 2464| m2464_12(unknown) = Chi : total:m2464_6, partial:m2464_11
# 2464| v2464_13(void) = ^IndirectReadSideEffect[-1] : &:r2464_8, m2464_7
# 2464| r2464_14(glval<unsigned int>) = FieldAddress[a] : r2464_10
#-----| Goto -> Block 3
#-----| Goto -> Block 3
# 2464| Block 1
# 2464| m2464_15(unsigned int) = Store[a] : &:r2464_1, r2464_16
# 2464| r2464_15(glval<B>) = CopyValue : r2464_2
# 2464| r2464_16(glval<unknown>) = FunctionAddress[~B] :
# 2464| v2464_17(void) = Call[~B] : func:r2464_16, this:r2464_15
# 2464| m2464_18(unknown) = ^CallSideEffect : ~m2464_12
# 2464| m2464_19(unknown) = Chi : total:m2464_12, partial:m2464_18
# 2464| v2464_20(void) = ^IndirectReadSideEffect[-1] : &:r2464_15, m2464_7
# 2464| m2464_21(B) = ^IndirectMayWriteSideEffect[-1] : &:r2464_15
# 2464| m2464_22(B) = Chi : total:m2464_7, partial:m2464_21
# 2464| r2464_23(unsigned int) = Load[?] : &:r2464_14, ~m2464_19
# 2464| m2464_24(unsigned int) = Store[a] : &:r2464_1, r2464_23
# 2465| v2465_1(void) = NoOp :
# 2462| v2462_5(void) = ReturnVoid :
# 2462| v2462_6(void) = AliasedUse : ~m2464_25, ~m2464_37
# 2462| v2462_6(void) = AliasedUse : ~m2464_19
# 2462| v2462_7(void) = ExitFunction :
# 2464| Block 2
# 2464| r2464_16(unsigned int) = Load[?] : &:r2464_14, ~m2464_25, ~m2464_37
#-----| Goto (back edge) -> Block 3
#-----| Goto (back edge) -> Block 3
# 2464| Block 3
# 2464| m2464_31(B) = Phi : from 0:m2464_7, from 2:m2464_28, from 2:m2464_40
# 2464| m2464_32(unknown) = Phi : from 0:~m2464_12, from 2:~m2464_25, from 2:~m2464_37
# 2464| r2464_33(glval<B>) = CopyValue : r2464_2
# 2464| r2464_34(glval<unknown>) = FunctionAddress[~B] :
# 2464| v2464_35(void) = Call[~B] : func:r2464_22, func:r2464_34, this:r2464_21, this:r2464_33
# 2464| m2464_36(unknown) = ^CallSideEffect : ~m2464_18, ~m2464_20, ~m2464_30, ~m2464_32
# 2464| m2464_37(unknown) = Chi : total:m2464_18, total:m2464_20, total:m2464_30, total:m2464_32, partial:m2464_24, partial:m2464_36
# 2464| v2464_38(void) = ^IndirectReadSideEffect[-1] : &:r2464_21, &:r2464_33, m2464_17, m2464_19, m2464_29, m2464_31
# 2464| m2464_39(B) = ^IndirectMayWriteSideEffect[-1] : &:r2464_21, &:r2464_33
# 2464| m2464_40(B) = Chi : total:m2464_17, total:m2464_19, total:m2464_29, total:m2464_31, partial:m2464_27, partial:m2464_39
#-----| Goto (back edge) -> Block 1
#-----| Goto (back edge) -> Block 2
# 2464| Block 3
#-----| Goto (back edge) -> Block 1
#-----| Goto (back edge) -> Block 2
perf-regression.cpp:
# 6| void Big::Big()
# 6| Block 0

View File

@@ -7,18 +7,7 @@ duplicateChiOperand
sideEffectWithoutPrimary
instructionWithoutSuccessor
ambiguousSuccessors
| ir.cpp:2464:18:2464:22 | Chi: reuse of temporary object | Instruction 'Chi: reuse of temporary object' has 2 successors of kind 'Goto' in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
unexplainedLoop
| ir.cpp:2464:18:2464:22 | Call: call to ~B | Instruction 'Call: call to ~B' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | CallSideEffect: call to ~B | Instruction 'CallSideEffect: call to ~B' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | Chi: call to ~B | Instruction 'Chi: call to ~B' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | Chi: reuse of temporary object | Instruction 'Chi: reuse of temporary object' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | CopyValue: reuse of temporary object | Instruction 'CopyValue: reuse of temporary object' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | FunctionAddress: call to ~B | Instruction 'FunctionAddress: call to ~B' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | IndirectMayWriteSideEffect: reuse of temporary object | Instruction 'IndirectMayWriteSideEffect: reuse of temporary object' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | IndirectReadSideEffect: reuse of temporary object | Instruction 'IndirectReadSideEffect: reuse of temporary object' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | Phi: reuse of temporary object | Instruction 'Phi: reuse of temporary object' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:25:2464:25 | Load: a | Instruction 'Load: a' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
unnecessaryPhiInstruction
memoryOperandDefinitionIsUnmodeled
operandAcrossFunctions
@@ -29,11 +18,8 @@ containsLoopOfForwardEdges
missingIRType
multipleIRTypes
lostReachability
| ir.cpp:2464:25:2464:25 | Load: a | Block 'Load: a' is not reachable by traversing only forward edges in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:25:2464:25 | Store: a | Block 'Store: a' is not reachable by traversing only forward edges in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
backEdgeCountMismatch
useNotDominatedByDefinition
| ir.cpp:2464:25:2464:25 | StoreValue | Operand 'StoreValue' is not dominated by its definition in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
switchInstructionWithoutDefaultEdge
notMarkedAsConflated
wronglyMarkedAsConflated

View File

@@ -10,19 +10,7 @@ duplicateChiOperand
sideEffectWithoutPrimary
instructionWithoutSuccessor
ambiguousSuccessors
| ir.cpp:2464:18:2464:22 | Chi: reuse of temporary object | Instruction 'Chi: reuse of temporary object' has 2 successors of kind 'Goto' in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
unexplainedLoop
| ir.cpp:2464:18:2464:22 | Call: call to ~B | Instruction 'Call: call to ~B' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | CallSideEffect: call to ~B | Instruction 'CallSideEffect: call to ~B' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | Chi: call to ~B | Instruction 'Chi: call to ~B' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | Chi: reuse of temporary object | Instruction 'Chi: reuse of temporary object' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | CopyValue: reuse of temporary object | Instruction 'CopyValue: reuse of temporary object' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | FunctionAddress: call to ~B | Instruction 'FunctionAddress: call to ~B' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | IndirectMayWriteSideEffect: reuse of temporary object | Instruction 'IndirectMayWriteSideEffect: reuse of temporary object' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | IndirectReadSideEffect: reuse of temporary object | Instruction 'IndirectReadSideEffect: reuse of temporary object' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | Phi: reuse of temporary object | Instruction 'Phi: reuse of temporary object' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | Phi: reuse of temporary object | Instruction 'Phi: reuse of temporary object' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:25:2464:25 | Load: a | Instruction 'Load: a' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
unnecessaryPhiInstruction
memoryOperandDefinitionIsUnmodeled
operandAcrossFunctions
@@ -33,11 +21,8 @@ containsLoopOfForwardEdges
missingIRType
multipleIRTypes
lostReachability
| ir.cpp:2464:25:2464:25 | Load: a | Block 'Load: a' is not reachable by traversing only forward edges in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:25:2464:25 | Store: a | Block 'Store: a' is not reachable by traversing only forward edges in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
backEdgeCountMismatch
useNotDominatedByDefinition
| ir.cpp:2464:25:2464:25 | StoreValue | Operand 'StoreValue' is not dominated by its definition in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
switchInstructionWithoutDefaultEdge
notMarkedAsConflated
wronglyMarkedAsConflated

View File

@@ -13517,8 +13517,7 @@
| ir.cpp:2445:52:2445:52 | Unary | r2445_10 |
| ir.cpp:2462:10:2462:13 | ChiPartial | partial:m2462_3 |
| ir.cpp:2462:10:2462:13 | ChiTotal | total:m2462_2 |
| ir.cpp:2462:10:2462:13 | SideEffect | ~m2464_25 |
| ir.cpp:2462:10:2462:13 | SideEffect | ~m2464_37 |
| ir.cpp:2462:10:2462:13 | SideEffect | ~m2464_19 |
| ir.cpp:2464:14:2464:14 | Address | &:r2464_1 |
| ir.cpp:2464:18:2464:20 | CallTarget | func:r2464_3 |
| ir.cpp:2464:18:2464:20 | ChiPartial | partial:m2464_5 |
@@ -13527,42 +13526,18 @@
| ir.cpp:2464:18:2464:20 | StoreValue | r2464_4 |
| ir.cpp:2464:18:2464:22 | Address | &:r2464_2 |
| ir.cpp:2464:18:2464:22 | Address | &:r2464_8 |
| ir.cpp:2464:18:2464:22 | Address | &:r2464_21 |
| ir.cpp:2464:18:2464:22 | Address | &:r2464_21 |
| ir.cpp:2464:18:2464:22 | Address | &:r2464_33 |
| ir.cpp:2464:18:2464:22 | Address | &:r2464_33 |
| ir.cpp:2464:18:2464:22 | Address | &:r2464_15 |
| ir.cpp:2464:18:2464:22 | Address | &:r2464_15 |
| ir.cpp:2464:18:2464:22 | Arg(this) | this:r2464_8 |
| ir.cpp:2464:18:2464:22 | Arg(this) | this:r2464_21 |
| ir.cpp:2464:18:2464:22 | Arg(this) | this:r2464_33 |
| ir.cpp:2464:18:2464:22 | CallTarget | func:r2464_22 |
| ir.cpp:2464:18:2464:22 | CallTarget | func:r2464_34 |
| ir.cpp:2464:18:2464:22 | ChiPartial | partial:m2464_24 |
| ir.cpp:2464:18:2464:22 | ChiPartial | partial:m2464_27 |
| ir.cpp:2464:18:2464:22 | ChiPartial | partial:m2464_36 |
| ir.cpp:2464:18:2464:22 | ChiPartial | partial:m2464_39 |
| ir.cpp:2464:18:2464:22 | ChiTotal | total:m2464_17 |
| ir.cpp:2464:18:2464:22 | ChiTotal | total:m2464_18 |
| ir.cpp:2464:18:2464:22 | ChiTotal | total:m2464_19 |
| ir.cpp:2464:18:2464:22 | ChiTotal | total:m2464_20 |
| ir.cpp:2464:18:2464:22 | ChiTotal | total:m2464_29 |
| ir.cpp:2464:18:2464:22 | ChiTotal | total:m2464_30 |
| ir.cpp:2464:18:2464:22 | ChiTotal | total:m2464_31 |
| ir.cpp:2464:18:2464:22 | ChiTotal | total:m2464_32 |
| ir.cpp:2464:18:2464:22 | Phi | from 0:m2464_7 |
| ir.cpp:2464:18:2464:22 | Phi | from 0:~m2464_12 |
| ir.cpp:2464:18:2464:22 | Phi | from 2:m2464_28 |
| ir.cpp:2464:18:2464:22 | Phi | from 2:m2464_40 |
| ir.cpp:2464:18:2464:22 | Phi | from 2:~m2464_25 |
| ir.cpp:2464:18:2464:22 | Phi | from 2:~m2464_37 |
| ir.cpp:2464:18:2464:22 | Arg(this) | this:r2464_15 |
| ir.cpp:2464:18:2464:22 | CallTarget | func:r2464_16 |
| ir.cpp:2464:18:2464:22 | ChiPartial | partial:m2464_18 |
| ir.cpp:2464:18:2464:22 | ChiPartial | partial:m2464_21 |
| ir.cpp:2464:18:2464:22 | ChiTotal | total:m2464_7 |
| ir.cpp:2464:18:2464:22 | ChiTotal | total:m2464_12 |
| ir.cpp:2464:18:2464:22 | SideEffect | m2464_7 |
| ir.cpp:2464:18:2464:22 | SideEffect | m2464_17 |
| ir.cpp:2464:18:2464:22 | SideEffect | m2464_19 |
| ir.cpp:2464:18:2464:22 | SideEffect | m2464_29 |
| ir.cpp:2464:18:2464:22 | SideEffect | m2464_31 |
| ir.cpp:2464:18:2464:22 | SideEffect | ~m2464_18 |
| ir.cpp:2464:18:2464:22 | SideEffect | ~m2464_20 |
| ir.cpp:2464:18:2464:22 | SideEffect | ~m2464_30 |
| ir.cpp:2464:18:2464:22 | SideEffect | ~m2464_32 |
| ir.cpp:2464:18:2464:22 | SideEffect | m2464_7 |
| ir.cpp:2464:18:2464:22 | SideEffect | ~m2464_12 |
| ir.cpp:2464:18:2464:22 | Unary | r2464_2 |
| ir.cpp:2464:18:2464:22 | Unary | r2464_2 |
| ir.cpp:2464:23:2464:23 | CallTarget | func:r2464_9 |
@@ -13571,9 +13546,8 @@
| ir.cpp:2464:23:2464:23 | SideEffect | ~m2464_6 |
| ir.cpp:2464:23:2464:23 | Unary | r2464_10 |
| ir.cpp:2464:25:2464:25 | Address | &:r2464_14 |
| ir.cpp:2464:25:2464:25 | Load | ~m2464_25 |
| ir.cpp:2464:25:2464:25 | Load | ~m2464_37 |
| ir.cpp:2464:25:2464:25 | StoreValue | r2464_16 |
| ir.cpp:2464:25:2464:25 | Load | ~m2464_19 |
| ir.cpp:2464:25:2464:25 | StoreValue | r2464_23 |
| perf-regression.cpp:6:3:6:5 | Address | &:r6_5 |
| perf-regression.cpp:6:3:6:5 | Address | &:r6_5 |
| perf-regression.cpp:6:3:6:5 | Address | &:r6_7 |

View File

@@ -7,15 +7,7 @@ duplicateChiOperand
sideEffectWithoutPrimary
instructionWithoutSuccessor
ambiguousSuccessors
| ir.cpp:2464:18:2464:22 | IndirectMayWriteSideEffect: reuse of temporary object | Instruction 'IndirectMayWriteSideEffect: reuse of temporary object' has 2 successors of kind 'Goto' in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
unexplainedLoop
| ir.cpp:2464:18:2464:22 | Call: call to ~B | Instruction 'Call: call to ~B' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | CallSideEffect: call to ~B | Instruction 'CallSideEffect: call to ~B' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | CopyValue: reuse of temporary object | Instruction 'CopyValue: reuse of temporary object' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | FunctionAddress: call to ~B | Instruction 'FunctionAddress: call to ~B' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | IndirectMayWriteSideEffect: reuse of temporary object | Instruction 'IndirectMayWriteSideEffect: reuse of temporary object' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | IndirectReadSideEffect: reuse of temporary object | Instruction 'IndirectReadSideEffect: reuse of temporary object' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:25:2464:25 | Load: a | Instruction 'Load: a' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
unnecessaryPhiInstruction
memoryOperandDefinitionIsUnmodeled
operandAcrossFunctions
@@ -26,12 +18,9 @@ containsLoopOfForwardEdges
missingIRType
multipleIRTypes
lostReachability
| ir.cpp:2464:25:2464:25 | Load: a | Block 'Load: a' is not reachable by traversing only forward edges in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:25:2464:25 | Store: a | Block 'Store: a' is not reachable by traversing only forward edges in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
backEdgeCountMismatch
useNotDominatedByDefinition
| ir.cpp:1535:8:1535:8 | Unary | Operand 'Unary' is not dominated by its definition in function '$@'. | ir.cpp:1535:8:1535:8 | void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() | void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() |
| ir.cpp:2464:25:2464:25 | StoreValue | Operand 'StoreValue' is not dominated by its definition in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| try_except.c:13:13:13:13 | Left | Operand 'Left' is not dominated by its definition in function '$@'. | try_except.c:6:6:6:6 | void f() | void f() |
| try_except.c:13:13:13:13 | Left | Operand 'Left' is not dominated by its definition in function '$@'. | try_except.c:6:6:6:6 | void f() | void f() |
| try_except.c:39:15:39:15 | Left | Operand 'Left' is not dominated by its definition in function '$@'. | try_except.c:32:6:32:6 | void h(int) | void h(int) |

View File

@@ -14772,35 +14772,19 @@ ir.cpp:
# 2464| mu2464_10(unknown) = ^CallSideEffect : ~m?
# 2464| v2464_11(void) = ^IndirectReadSideEffect[-1] : &:r2464_7, ~m?
# 2464| r2464_12(glval<unsigned int>) = FieldAddress[a] : r2464_9
#-----| Goto -> Block 3
#-----| Goto -> Block 3
# 2464| Block 1
# 2464| mu2464_13(unsigned int) = Store[a] : &:r2464_1, r2464_14
# 2464| r2464_13(glval<B>) = CopyValue : r2464_2
# 2464| r2464_14(glval<unknown>) = FunctionAddress[~B] :
# 2464| v2464_15(void) = Call[~B] : func:r2464_14, this:r2464_13
# 2464| mu2464_16(unknown) = ^CallSideEffect : ~m?
# 2464| v2464_17(void) = ^IndirectReadSideEffect[-1] : &:r2464_13, ~m?
# 2464| mu2464_18(B) = ^IndirectMayWriteSideEffect[-1] : &:r2464_13
# 2464| r2464_19(unsigned int) = Load[?] : &:r2464_12, ~m?
# 2464| mu2464_20(unsigned int) = Store[a] : &:r2464_1, r2464_19
# 2465| v2465_1(void) = NoOp :
# 2462| v2462_4(void) = ReturnVoid :
# 2462| v2462_5(void) = AliasedUse : ~m?
# 2462| v2462_6(void) = ExitFunction :
# 2464| Block 2
# 2464| r2464_14(unsigned int) = Load[?] : &:r2464_12, ~m?
#-----| Goto (back edge) -> Block 3
#-----| Goto (back edge) -> Block 3
# 2464| Block 3
# 2464| r2464_21(glval<B>) = CopyValue : r2464_2
# 2464| r2464_22(glval<unknown>) = FunctionAddress[~B] :
# 2464| v2464_23(void) = Call[~B] : func:r2464_16, func:r2464_22, this:r2464_15, this:r2464_21
# 2464| mu2464_24(unknown) = ^CallSideEffect : ~m?
# 2464| v2464_25(void) = ^IndirectReadSideEffect[-1] : &:r2464_15, &:r2464_21, ~m?
# 2464| mu2464_26(B) = ^IndirectMayWriteSideEffect[-1] : &:r2464_15, &:r2464_21
#-----| Goto (back edge) -> Block 1
#-----| Goto (back edge) -> Block 2
# 2464| Block 3
#-----| Goto (back edge) -> Block 1
#-----| Goto (back edge) -> Block 2
perf-regression.cpp:
# 6| void Big::Big()
# 6| Block 0

View File

@@ -7,15 +7,7 @@ duplicateChiOperand
sideEffectWithoutPrimary
instructionWithoutSuccessor
ambiguousSuccessors
| ir.cpp:2464:18:2464:22 | IndirectMayWriteSideEffect: reuse of temporary object | Instruction 'IndirectMayWriteSideEffect: reuse of temporary object' has 2 successors of kind 'Goto' in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
unexplainedLoop
| ir.cpp:2464:18:2464:22 | Call: call to ~B | Instruction 'Call: call to ~B' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | CallSideEffect: call to ~B | Instruction 'CallSideEffect: call to ~B' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | CopyValue: reuse of temporary object | Instruction 'CopyValue: reuse of temporary object' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | FunctionAddress: call to ~B | Instruction 'FunctionAddress: call to ~B' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | IndirectMayWriteSideEffect: reuse of temporary object | Instruction 'IndirectMayWriteSideEffect: reuse of temporary object' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | IndirectReadSideEffect: reuse of temporary object | Instruction 'IndirectReadSideEffect: reuse of temporary object' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:25:2464:25 | Load: a | Instruction 'Load: a' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
unnecessaryPhiInstruction
memoryOperandDefinitionIsUnmodeled
operandAcrossFunctions
@@ -26,11 +18,8 @@ containsLoopOfForwardEdges
missingIRType
multipleIRTypes
lostReachability
| ir.cpp:2464:25:2464:25 | Load: a | Block 'Load: a' is not reachable by traversing only forward edges in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:25:2464:25 | Store: a | Block 'Store: a' is not reachable by traversing only forward edges in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
backEdgeCountMismatch
useNotDominatedByDefinition
| ir.cpp:2464:25:2464:25 | StoreValue | Operand 'StoreValue' is not dominated by its definition in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
switchInstructionWithoutDefaultEdge
notMarkedAsConflated
wronglyMarkedAsConflated

View File

@@ -7,15 +7,7 @@ duplicateChiOperand
sideEffectWithoutPrimary
instructionWithoutSuccessor
ambiguousSuccessors
| ir.cpp:2464:18:2464:22 | IndirectMayWriteSideEffect: reuse of temporary object | Instruction 'IndirectMayWriteSideEffect: reuse of temporary object' has 2 successors of kind 'Goto' in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
unexplainedLoop
| ir.cpp:2464:18:2464:22 | Call: call to ~B | Instruction 'Call: call to ~B' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | CallSideEffect: call to ~B | Instruction 'CallSideEffect: call to ~B' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | CopyValue: reuse of temporary object | Instruction 'CopyValue: reuse of temporary object' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | FunctionAddress: call to ~B | Instruction 'FunctionAddress: call to ~B' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | IndirectMayWriteSideEffect: reuse of temporary object | Instruction 'IndirectMayWriteSideEffect: reuse of temporary object' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:18:2464:22 | IndirectReadSideEffect: reuse of temporary object | Instruction 'IndirectReadSideEffect: reuse of temporary object' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:25:2464:25 | Load: a | Instruction 'Load: a' is part of an unexplained loop in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
unnecessaryPhiInstruction
memoryOperandDefinitionIsUnmodeled
operandAcrossFunctions
@@ -26,11 +18,8 @@ containsLoopOfForwardEdges
missingIRType
multipleIRTypes
lostReachability
| ir.cpp:2464:25:2464:25 | Load: a | Block 'Load: a' is not reachable by traversing only forward edges in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
| ir.cpp:2464:25:2464:25 | Store: a | Block 'Store: a' is not reachable by traversing only forward edges in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
backEdgeCountMismatch
useNotDominatedByDefinition
| ir.cpp:2464:25:2464:25 | StoreValue | Operand 'StoreValue' is not dominated by its definition in function '$@'. | ir.cpp:2462:10:2462:13 | void rvalue_conversion_with_destructor::test() | void rvalue_conversion_with_destructor::test() |
switchInstructionWithoutDefaultEdge
notMarkedAsConflated
wronglyMarkedAsConflated