[llvm-dev] How to know pass dependencies?
Wang, Luyuan (MU-Student) via llvm-dev
llvm-dev at lists.llvm.org
Mon Apr 22 20:54:27 PDT 2019
Dear LLVM developers,
I'm a beginner with LLVM, and I want to see how different loop optimization passes influence the performance. For example, I've generated IR code, and I would like to use "Loop Interchange" as the only loop optimization pass.
However, when I simply used `opt -loop-interchange input.ll -S -o output.ll` command, the IR code didn't change. I guess the reason may be the "-loop-interchange" pass also depends on other passes, so I should also specify some other passes before the loop interchange pass. But how do I know these dependencies?
Here is my C program to test loop interchange:
int main() {
int i=0;
int j=0;
int a[333][222];
for (i=0; i <222; i++) {
for (j=0; j <333; j++) {
a[j][i] = i * j;
}
}
return 0;
}
I also tried this command, but still no influence:
opt -mem2reg -simplifycfg -loops -lcssa -loop-simplify -loop-rotate -loop-
interchange input.ll -S -o output.ll
Thank you so much.
Best,
Luyuan Wang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190423/6eec7ef9/attachment.html>
More information about the llvm-dev
mailing list