[llvm] r259986 - New Loop Versioning LICM Pass

Nema, Ashutosh via llvm-commits llvm-commits at lists.llvm.org
Sat Feb 6 04:20:36 PST 2016


Ah my bad, these test will not work under no-assert build.
Will fix them right away.

Thanks Ismail for pointing.

Regards,
Ashutosh

-----Original Message-----
From: llvm-commits [mailto:llvm-commits-bounces at lists.llvm.org] On Behalf Of Ismail Donmez via llvm-commits
Sent: Saturday, February 06, 2016 4:09 PM
To: Ashutosh Nema
Cc: llvm-commits
Subject: Re: [llvm] r259986 - New Loop Versioning LICM Pass

On Sat, Feb 6, 2016 at 12:38 PM, Ismail Donmez <ismail at i10z.com> wrote:
> Hi,
>
> On Sat, Feb 6, 2016 at 9:47 AM, Ashutosh Nema via llvm-commits
> <llvm-commits at lists.llvm.org> wrote:
>> Author: ashutosh
>> Date: Sat Feb  6 01:47:48 2016
>> New Revision: 259986
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=259986&view=rev
>> Log:
>> New Loop Versioning LICM Pass
>>
>> Summary:
>> When alias analysis is uncertain about the aliasing between any two accesses,
>> it will return MayAlias. This uncertainty from alias analysis restricts LICM
>> from proceeding further. In cases where alias analysis is uncertain we might
>> use loop versioning as an alternative.
>>
>> Loop Versioning will create a version of the loop with aggressive aliasing
>> assumptions in addition to the original with conservative (default) aliasing
>> assumptions. The version of the loop making aggressive aliasing assumptions
>> will have all the memory accesses marked as no-alias. These two versions of
>> loop will be preceded by a memory runtime check. This runtime check consists
>> of bound checks for all unique memory accessed in loop, and it ensures the
>> lack of memory aliasing. The result of the runtime check determines which of
>> the loop versions is executed: If the runtime check detects any memory
>> aliasing, then the original loop is executed. Otherwise, the version with
>> aggressive aliasing assumptions is used.
>>
>> The pass is off by default and can be enabled with command line option
>> -enable-loop-versioning-licm.
>>
>> Reviewers: hfinkel, anemet, chatur01, reames
>>
>> Subscribers: MatzeB, grosser, joker.eph, sanjoy, javed.absar, sbaranga,
>>              llvm-commits
>>
>> Differential Revision: http://reviews.llvm.org/D9151
>>
>>
>> Added:
>>     llvm/trunk/lib/Transforms/Scalar/LoopVersioningLICM.cpp
>>     llvm/trunk/test/Transforms/LoopVersioningLICM/
>>     llvm/trunk/test/Transforms/LoopVersioningLICM/loopversioningLICM1.ll
>>     llvm/trunk/test/Transforms/LoopVersioningLICM/loopversioningLICM2.ll
>>     llvm/trunk/test/Transforms/LoopVersioningLICM/loopversioningLICM3.ll
>
> These tests fail on Linux with:
>
> opt: Unknown command line argument '-debug-only=loop-versioning-licm'.
> Try: '/home/abuild/rpmbuild/BUILD/llvm/stage2/./bin/opt -help'

This is a no-asserts build, might explain why.
_______________________________________________
llvm-commits mailing list
llvm-commits at lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list