diff options
author | Roman Lebedev <lebedev.ri@gmail.com> | 2022-12-06 20:04:26 +0300 |
---|---|---|
committer | Roman Lebedev <lebedev.ri@gmail.com> | 2022-12-06 20:26:53 +0300 |
commit | 46db90cc71d11df1dd7d397d253445671836dfa0 (patch) | |
tree | bf381288f2618b471ea1dda3f013b14b17412b31 /llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp | |
parent | ce66f4d0a6e0f5e756fc06992bb143d7bf6def66 (diff) | |
download | llvm-46db90cc71d11df1dd7d397d253445671836dfa0.zip llvm-46db90cc71d11df1dd7d397d253445671836dfa0.tar.gz llvm-46db90cc71d11df1dd7d397d253445671836dfa0.tar.bz2 |
[SCEV] `MatchBinaryOp()`: try to recognize `or` as `add`-in-disguise (w/ no common bits set)
LLVM *loves* to convert `add` of operands with no common bits
into an `or`. But SCEV really doesn't deal with `or` that well,
so try extra hard to recognize this `or` as an `add`.
I believe, previously this wasn't being done because of the recursive
of this, but now that the `createSCEV()` is not recursive,
this should be fine. Unless this is *too* costly compile-time wise...
https://alive2.llvm.org/ce/z/EfapCo
Diffstat (limited to 'llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp')
0 files changed, 0 insertions, 0 deletions