[llvm] r186724 - R600: Simplify AMDILCFGStructurize by removing templates and assuming single exit
Vincent Lejeune
vljn at ovi.com
Sat Jul 20 06:34:29 PDT 2013
Hi,
the name of AMDGPUCFGStructurize is quite misleading, the purpose of this pass is to lower
a machine function (with a linear cfg) into a single block machine function. It adds the "if/else/endif"
or "while/break/continue" statement between blocks.
Actually it could be shared by other targets like nvptx, but it would require some work to remove all the R600 specific bit first.
Vincent
----- Mail original -----
> De : Matt Arsenault <Matthew.Arsenault at amd.com>
> À : "Ye, Mei" <Mei.Ye at amd.com>
> Cc : Vincent Lejeune <vljn at ovi.com>; Tom Stellard <tom at stellard.net>; Evan Cheng <evan.cheng at apple.com>; Nick Lewycky <nicholas at mxc.ca>; llvm commits <llvm-commits at cs.uiuc.edu>
> Envoyé le : Samedi 20 juillet 2013 1h39
> Objet : Re: [llvm] r186724 - R600: Simplify AMDILCFGStructurize by removing
templates and assuming single exit
>
> On 07/19/2013 04:34 PM, Ye, Mei wrote:
>> Hi Evan and Nick
>>
>> Vincent's changes reminded me that this is probably where Evan and Nick
> will have preferred my changes to go.
>> But isn't there something in AMDGPUCFG* that can be code-shared with
> other GPU targets?
> The target independent CFG structurizer can be, and it's what's used for
>
> SI. I moved it recently into the generic transforms
> (lib/Transforms/StructurizeCFG.cpp).
>
More information about the llvm-commits
mailing list