[PATCH] D65593: [Attributor] Deduction based on path exploration
Johannes Doerfert via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 5 12:07:16 PST 2020
jdoerfert added a comment.
I have not convinced myself that this covers the recursive case properly, maybe that was never the intend though. Can we have a test like this:
void foo(int a, int b, int c, int *ptr) {
if (a) {
if (b)
*ptr = 1;
else
*ptr = 2;
} else {
if (c)
*ptr = 3;
else
*ptr = 4;
}
}
and maybe also
void foo(int a, int b, int c, int *ptr) {
if (a) {
if (b)
*ptr = 1;
else
*ptr = 2;
} else {
if (c)
*ptr = 3;
else
foo(1, 1, 1, ptr);
}
}
================
Comment at: llvm/lib/Transforms/IPO/Attributor.cpp:1032
+ // ParentState_m = ChildState_{m, 1} /\ ChildState_{2, 2} /\ ... /\
+ // ChildState_{1, n_m}
+ //
----------------
I don't get the comment. What are the two indices of ChildState and why is the second ChildState "out-of-sync"?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D65593/new/
https://reviews.llvm.org/D65593
More information about the llvm-commits
mailing list