[LLVMdev] Dependence Analysis [was: Flow-Sensitive AA]
Vikram S. Adve
vadve at cs.uiuc.edu
Thu Aug 21 07:35:15 PDT 2008
Great, thanks! How much work do you think it will take to bring it up
to date with the LLVM IR, except *ignoring* first-class structs and
arrays for now? I believe llvm-gcc does not generate those in most
cases and we can do a lot without supporting those. What else is
missing relative to the current LLVM IR?
Thanks,
--Vikram
Associate Professor, Computer Science
University of Illinois at Urbana-Champaign
http://llvm.org/~vadve
On Aug 21, 2008, at 3:37 AM, Wojciech Matyjewicz wrote:
>> Wojtek,
>>
>> Please see David's message below. Have you or can you check in your
>> code, perhaps as a project for now? That will allow us to start
>> looking at it and perhaps collaborating on it.
>
> Sure. For now, I am posting it as an attachment, because it does not
> build against the current SVN version. It is really basic (for
> example,
> it cannot produce distance vectors, breaking conditions and it does
> not
> handle affine loop bounds), but hope you find some pieces of it
> useful.
>
> The attached version does not reflect the recent changes in the LLVM
> IR
> (larger set of first-class types) yet, so it should be built against
> one
> of the previous revisions (it works with r50174 for sure). It have
> to be
> configured with --with-llvmsrc and --with-llvmobj switches. Build
> process will produce libmemdep.so shared library that can be load into
> opt. In the archive, there is also 'test' directory with simple
> programs
> to test the pass. I suggest using such a toolchain:
>
> $ llvm-gcc -c -emit-llvm -O3 <program.c> -o - | opt -
> load=loopmemdep.so
> -loopsimplify -anders-aa -loop-memdep -debug-only=loop-memdep
>
> (Debug output is quite verbose.)
>
> I am investigating what changes are necessary to add support for
> first-class structs and arrays and will prepare a version to check
> in as
> a LLVM project if there still is interest.
>
> Wojtek
> <loopmemdep.tar.bz2>
More information about the llvm-dev
mailing list