Duncan Sands
2013-Jan-08 16:11 UTC
[LLVMdev] [Polly] Aliasing problems escalation (WAS: Re: [DragonEgg] [Polly] Should we expect DragonEgg to produce identical LLVM IR for identical GIMPLE?)
On 04/01/13 15:58, Duncan Sands wrote:> PS: Another possibility is to do link-time optimization, since at that point the > optimizers are capable of finding out if that global is used anywhere else or > not.By the way, do the GCC optimizers get this, i.e. remove the loads? Ciao, Duncan.
Dmitry Mikushin
2013-Jan-15 21:22 UTC
[LLVMdev] [Polly] Aliasing problems escalation (WAS: Re: [DragonEgg] [Polly] Should we expect DragonEgg to produce identical LLVM IR for identical GIMPLE?)
Hi Duncan, You mean - what happens if DragonEgg is invoked with GCC optimization? I tried -O3 and -fplugin-arg-dragonegg-llvm-ir-optimize=1, but nothing changed. - D. 2013/1/8 Duncan Sands <baldrick at free.fr>> On 04/01/13 15:58, Duncan Sands wrote: > >> PS: Another possibility is to do link-time optimization, since at that >> point the >> optimizers are capable of finding out if that global is used anywhere >> else or >> not. >> > > By the way, do the GCC optimizers get this, i.e. remove the loads? > > Ciao, Duncan. >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130115/b2755e85/attachment.html>
Duncan Sands
2013-Jan-16 08:12 UTC
[LLVMdev] [Polly] Aliasing problems escalation (WAS: Re: [DragonEgg] [Polly] Should we expect DragonEgg to produce identical LLVM IR for identical GIMPLE?)
Hi Dmitry, On 15/01/13 22:22, Dmitry Mikushin wrote:> Hi Duncan, > > You mean - what happens if DragonEgg is invoked with GCC optimization? I tried > -O3 and -fplugin-arg-dragonegg-llvm-ir-optimize=1, but nothing changed.no, I meant if you run gcc with optimization and don't use dragonegg at all. If I understand right, your problem is that the LLVM optimizers don't remove some loads, and this blocks polly. If the GCC optimizers are able to remove the loads, then that means that the gcc optimizers have access to some info that the LLVM optimizers don't have (because removing the loads is invalid given the information currently in the IR). We would then have to just have to teach dragonegg to extract that information and pass it on to the LLVM optimizers. Ciao, Duncan.> > - D. > > 2013/1/8 Duncan Sands <baldrick at free.fr <mailto:baldrick at free.fr>> > > On 04/01/13 15:58, Duncan Sands wrote: > > PS: Another possibility is to do link-time optimization, since at that > point the > optimizers are capable of finding out if that global is used anywhere > else or > not. > > > By the way, do the GCC optimizers get this, i.e. remove the loads? > > Ciao, Duncan. > >
Reasonably Related Threads
- [LLVMdev] [Polly] Aliasing problems escalation (WAS: Re: [DragonEgg] [Polly] Should we expect DragonEgg to produce identical LLVM IR for identical GIMPLE?)
- [LLVMdev] [Polly] Aliasing problems escalation (WAS: Re: [DragonEgg] [Polly] Should we expect DragonEgg to produce identical LLVM IR for identical GIMPLE?)
- [LLVMdev] [Polly] Aliasing problems escalation (WAS: Re: [DragonEgg] [Polly] Should we expect DragonEgg to produce identical LLVM IR for identical GIMPLE?)
- [LLVMdev] [Polly] Aliasing problems escalation (WAS: Re: [DragonEgg] [Polly] Should we expect DragonEgg to produce identical LLVM IR for identical GIMPLE?)
- [LLVMdev] [Polly] Aliasing problems escalation (WAS: Re: [DragonEgg] [Polly] Should we expect DragonEgg to produce identical LLVM IR for identical GIMPLE?)