[llvm-dev] Making loop guards part of canonical loop structure

Krzysztof Parzyszek via llvm-dev llvm-dev at lists.llvm.org
Fri May 31 08:32:17 PDT 2019

I don't really care that much about that particular case.  We generate hardware loops somewhat late in codegen, so this is long past IR-level loop transformations.  It's just a case where having guarded loops would make things easier to analyze, regardless of how the loop code may have been reorganized in the meantime.

Krzysztof Parzyszek  kparzysz at quicinc.com   LLVM compiler development

-----Original Message-----
From: Philip Reames <listmail at philipreames.com> 
Sent: Thursday, May 30, 2019 4:57 PM
To: Krzysztof Parzyszek <kparzysz at quicinc.com>; Finkel, Hal J. <hfinkel at anl.gov>; Kit Barton <kit.barton at gmail.com>; llvm-dev at lists.llvm.org
Subject: [EXT] Re: [llvm-dev] Making loop guards part of canonical loop structure

Seems like a case which should be handled by loop rotation.  If you find a reproducer for it, that's where I'd start looking rather than anything specific to guarded loops. 


On 5/30/19 1:44 PM, Krzysztof Parzyszek wrote:
> I don't remember the details of the particular case where we encountered this, but I think the loop started with the condition check and ended with an unconditional branch back to the beginning.

More information about the llvm-dev mailing list