[Mesa-dev] [PATCH 7/7] radeon/llvm: enable LICM and DCE pass

Christian König deathsimple at vodafone.de
Wed Mar 6 02:56:37 PST 2013


Am 05.03.2013 18:32, schrieb Vincent Lejeune:
> LICM stands for Loop Invariant Code Motion.
> Instructions that does not depend of loop index are moved outside of loop body.
> (This solves one of llvm generated code Vadim pointed in another thread)
>
> DCE is DeadCodeElimination...I don't know the difference between "classic" DCE and aggressive DCE though.

If I understand it correctly the DCE pass just removes the trivial dead 
instructions, e.g. not used and doesn't have a side effect. While the 
aggressive DCE pass goes a bit more into the depth. For example imagine 
a loop with an unused variable incremented, the increment depends on 
itself, but it's completely useless...

Christian.

>
>
>
>
> ----- Mail original -----
>> De : Michel Dänzer <michel at daenzer.net>
>> À : Christian König <deathsimple at vodafone.de>
>> Cc : mesa-dev at lists.freedesktop.org
>> Envoyé le : Mardi 5 mars 2013 18h20
>> Objet : Re: [Mesa-dev] [PATCH 7/7] radeon/llvm: enable LICM and DCE pass
>>
>> On Die, 2013-03-05 at 15:27 +0100, Christian König wrote:
>>>   From: Christian König <christian.koenig at amd.com>
>>>
>>>   Signed-off-by: Christian König <christian.koenig at amd.com>
>> This could use a little more information, e.g.: What are LICM and DCE?
>> Why is it a good idea to enable them?
>>
>>
>> -- 
>> Earthling Michel Dänzer           |                  http://www.amd.com
>> Libre software enthusiast         |          Debian, X and DRI developer
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>



More information about the mesa-dev mailing list