On Mon, Aug 26, 2024 at 2:44 AM Jeff Law wrote:
>
>
> On 8/20/24 5:41 AM, Richard Biener wrote:
>
> >
> > So the store-merging variant IIRC tracks a single overall source
> > only (unless it was extended and I missed that) and operates at
> > a byte granularity. I did want to extend it to suppor
in the source file as it's done for
gimple-ssa-store-merging.cc?
> We have some crude symbolic execution in gimple-ssa-store-merging.cc
> for the purpose of detecting byte-swaps. That operates on a byte level.
> It is quite efficient. I assume that the new symbolic execution framework
gt; >Supports only CRC specific operations.
> >
> >Example:
> >
> >uint8_t crc;
> >uint8_t pol = 1;
> >crc = crc ^ pol;
> >
> >during symbolic execution crc's value will be:
> >crc(8), crc(7), ... crc(1), crc(
Add symbolic execution support.
Gives an opportunity to execute the code on bit level,
assigning symbolic values to the variables which don't have initial values.
Supports only CRC specific operations.
Example:
uint8_t crc;
uint8_t pol = 1;
crc = crc ^ pol;
during symbolic execution crc's value
Hi all,
If we have division and remainder calculations with the same operands:
a = b / c;
d = b % c;
We can replace the calculation of remainder with multiplication +
subtraction, using the result from the previous division:
a = b / c;
d = a * c;
d = b - d;
Which will be faster.
Curre