aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CIR/CodeGen/CIRGenModule.cpp
diff options
context:
space:
mode:
authorRamkumar Ramachandra <ramkumar.ramachandra@codasip.com>2025-07-02 15:36:27 +0100
committerGitHub <noreply@github.com>2025-07-02 15:36:27 +0100
commitcbfd0d68ea5084704bd9ff0c6c51e04fa3fff4be (patch)
tree80297e615a033b1c54f9af29756896e023335718 /clang/lib/CIR/CodeGen/CIRGenModule.cpp
parent8dcdc0ff1f410897bf7b59fa31d480319d1169e7 (diff)
downloadllvm-cbfd0d68ea5084704bd9ff0c6c51e04fa3fff4be.zip
llvm-cbfd0d68ea5084704bd9ff0c6c51e04fa3fff4be.tar.gz
llvm-cbfd0d68ea5084704bd9ff0c6c51e04fa3fff4be.tar.bz2
[HashRecognize] Rewrite arePHIsIntertwined (#144878)
The test crc8.le.tc16 is a valid CRC algorithm, but isn't recognized as such due to a buggy arePHIsIntertwined, which is asymmetric in its PHINode arguments. There is also a fundamental correctness issue: the core functionality is to match a XOR that's a recurrence in both PHI nodes, ignoring casts, but the user of the XOR is never checked. Rewrite and rename the function. crc8.le.tc16 is still not recognized as a valid CRC algorithm, due to an incorrect check for loop iterations exceeding the bitwidth of the result: in reality, it should not exceed the bitwidth of LHSAux, but we leave this fix to a follow-up. Co-authored-by: Piotr Fusik <p.fusik@samsung.com>
Diffstat (limited to 'clang/lib/CIR/CodeGen/CIRGenModule.cpp')
0 files changed, 0 insertions, 0 deletions