Displaying 3 results from an estimated 3 matches for "phinodefoldingthreshold".
2014 May 28
2
[LLVMdev] Why does Select have a higher speculation cost than other instructions?
...is is?
I would like SimplifyCFG to be able to speculatively execute Select
instructions. Which of these solutions makes the most sense:
1. Change speculation cost of Select from 2 to 1.
2. Add a TargetTransformInfo callback for Select speculation cost.
3. Add a TargetTransformInfo callback for PhiNodeFoldingThreshold to
enable speculation of more expensive instructions.
4. Something else.
Thanks,
Tom
2017 Jul 05
3
Dataflow analysis regression in 3.7
Hi all,
I just found an optimization regression regarding simple
dataflow/constprop analysis:
https://godbolt.org/g/Uz8P7t
This code
```
int dataflow(int b) {
int a;
if (b==4)
a = 3*b; // fully optimized when changed to a = 3;
else
a = 5;
if (a == 4)
return 0;
else
return 1;
}
```
is no longer optimized to just a "return 1". The regression happened in
LLVM
2017 Jul 06
2
Dataflow analysis regression in 3.7
...t
> don't
> > really know which keywords to look for...)
> >
> > Kind regards,
> > Johan
> >
>
> This regressed when SimplifyCFG changed the threshold for PHI nodes
> folding from 1 to 2.
>
> (see lib/Transforms/Utils/SimplifyCFG.cpp)
>
> +PHINodeFoldingThreshold("phi-node-folding-threshold", cl::Hidden,
> cl::init(2),
> + cl::desc("Control the amount of phi node folding to perform
> (default = 2)"));
>
> This could be re-evaluated, maybe, or some other transformation could
> catch this case.
>
I'm sure that a...