[LLVMdev] Question about anti-dependence breaker

Hal Finkel
Wed, 09 Oct 2013 13:32:55 -0000

----- Original Message -----
>
>
>
> hi,
> I have few question about breaking anti-dependence of postRAScheduler
> in LLVM.
> when I use command line "clang -target arm -mcpu=cortex-a8 -O2
> -integrated-as -c test.c -o test.o"
> and get objdump file as follows:
> ldr r1, [r0,#16]----(1
> str r1, [r0,#32]----(2
> ldr r1, [r0,#12]----(3
> str r1, [r0,#36]----(4
> ldr r1, [r0,#08]----(5 !
> str r1, [r0,#40]----(6
> However, I expect that instruction pairs (1,2), (3,4) and (5,6) use
> different registers after postRAScheduler pass.
> Then, I find that postRAScheduler only handle anti-dependence mode
> after debug LLVM source code.

I'm not familiar with ARM, but I use full anti-dependency breaking on
PowerPC with the postRAScheduler, and it certainly has an effect in a Release
build. Can you please be more specific about what you've tried/found?

 -Hal

> More while I use gcc to compile test.c and get expected result.
> Is it this compiler's drawbacks? Is any developer doing this
> function?
> it's my pleasure if any suggestion.
> Thanks.
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>

--
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory