Multi-version IF-THEN-ELSE conditional
Jeff Law
law@redhat.com
Mon Jun 29 18:15:00 GMT 2015
On 06/27/2015 06:10 AM, Ajit Kumar Agarwal wrote:
> All:
>
> The presence of aliases disables many optimizations like CCP(conditional constant propagation) , PRE(Partial Redundancy Elimination),
> Scalar Replacements for conditional IF-THEN-ELSE. The presence of aliasing also disables the IF-conversion.
>
> I am proposing the Multi-version IF-THEN-ELSE where the different version of the IF-THEN-ELSE is one without aliasing and other
> versions with the aliasing. Thus converting the different Multi-version IF-THEN-ELSE enables the CCP, PRE, Scalar replacements
> and IF-conversions for the version of the IF-THEN-ELSE that does not have aliasing on the pointer variables and the versions that
> has alias information will not be affected with such optimizations.
>
> I don't have examples on hand currently but I am working on currently to provide the examples.
Probably the hardest part will be the heuristics around this. The
optimizations you want to improve happen as separate passes, so there
won't necessarily be a good way to predict if the multi-version
if-then-else will enable further optimizations.
Jeff
More information about the Gcc
mailing list