Issue 169959
Summary Issues found PVS studio static analyzer
Labels new issue
Assignees
Reporter Seraphimt
    Hi! I found several issues in LLVM code using static analyzer tool PVS-studio. I hope this will be helpful. Full descriptions in the article: https://pvs-studio.com/en/blog/posts/cpp/1318/
- [ ] 2. Change logic by copy-past error. 
The PVS-Studio warning: V501 There are identical sub-expressions to the left and to the right of the '==' operator: PeekArg.getValNo() == PeekArg.getValNo() PPCISelLowering.cpp 7865
- [ ] 4. Potent UB: manipulation of invalid object.
The PVS-Studio warning: V519 The 'FeaturesValue' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 1190, 1192. LVCodeViewReader.cpp 1192
- [ ] 5. Potent UB: Divide by zero.
The PVS-Studio warning: V609 Divide by zero. Denominator range [0..255]. RISCVCustomBehaviour.cpp 268
- [ ] 6. Most likely call to the wrong function
The PVS-Studio warning: V779 Unreachable code detected. It is possible that an error is present. VEISelDAGToDAG.cpp 321
- [ ] 7. Comparison with impossible value. 
The PVS-Studio warnings: V560 a part of conditional _expression_ is always false: Opc == ARM::MVE_VORR. ARMBaseInstrInfo.cpp 752
- [ ] 8. Excessive check or logic issue.
The PVS-Studio warning: V590 Consider inspecting this _expression_. The _expression_ is excessive or contains a misprint. DwarfDebug.cpp 485
- [ ] 9. Potent logic issue. 
The PVS-Studio warning: V547 _expression_ 'Value' is always false. LoongArchAsmBackend.cpp 139
- [ ] 13. Unhandled exception sitiation. 
The PVS-Studio warning: V560 A part of conditional _expression_ is always false: Defs.count(R) > 1. HexagonMCChecker.cpp 612
- [ ] 16. Unclear logic and potentially missing handled exception sitiation. 
The PVS-Studio warning: V547 _expression_ is always true. SystemZAsmPrinter.cpp 1324
- [ ] 20. Minor misoptimization. 
The PVS-Studio warning: V791 The initial value of the index in the nested loop equals 'I'. Perhaps, 'I + 1' should be used instead. LoopUnrollAndJam.cpp 793

I took the liberty of correcting some simple fragments myself:

- [ ] 1. Misprint in conditional.
The PVS-Studio warning: V501 There are identical sub-expressions '!Subtarget.hasZeroCycleRegMoveFPR64()' to the left and to the right of the '&&' operator. AArch64InstrInfo.cpp 5430
- [ ] 3. Array overrun is possible.
The PVS-Studio warning: V557 Array overrun is possible. The value of 'regIdx' index could reach 31. VEAsmParser.cpp 696
- [ ] 10. Excessive check.
The PVS-Studio warning: V547 _expression_ 'IsLeaf' is always false. PPCInstrInfo.cpp 419
- [ ] 11. Doubling the same check.
The PVS-Studio warning: V581 The conditional expressions of the 'if' statements situated alongside each other are identical. Check lines: 5820, 5823. PPCInstrInfo.cpp 5823
- [ ] 12. Wrong value in conditional.
The PVS-Studio warning: V547 _expression_ 'Opcode == Instruction::FDiv' is always false. GISelValueTracking.cpp 1451
- [ ] 14. Type issue in _expression_.
The PVS-Studio warning: V560 A part of conditional _expression_ is always false: AVX10Ver >= 2. Host.cpp 2177
- [ ] 15. Excessive check.
The PVS-Studio warning: V547 _expression_ 'i != e' is always true. MachineFunction.cpp 1444
- [ ] 17. Excessive assignment.
The PVS-Studio warning: V1048 The 'FirstOp' variable was assigned the same value. MachineInstr.cpp 1995
- [ ] 18. Excessive check.
The PVS-Studio warning: V547 _expression_ 'AllSame' is always true. SimplifyCFG.cpp 1914
- [ ] 19. Excessive check.
The PVS-Studio warning: V547 _expression_ 'AbbrevDecl' is always true. LVDWARFReader.cpp 398
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to