Displaying 2 results from an estimated 2 matches for "change_value_range".
2004 Nov 23
2
[LLVMdev] Restoring SSA form
...Here's 'foo' is always called with positive value. However, the value range
assigned to 'i' variable can be only [-inf, +inf], because uses of 'i'
outside of condition can get any value. So, I'd like to convert the above to:
i = 0;
if (i > 0) {
i = change_value_range(i);
foo(i);
}
where 'change_value_range' is some artificial instruction. After that, I'd ask
LLVM to restore SSA property, giving:
i = 0;
if (i > 0) {
i.2 = change_value_range(i);
foo(i.2);
}
i.3 = phi(i, i.2)
And then will do my analysis as usual. T...
2004 Nov 23
0
[LLVMdev] Restoring SSA form
...lled with positive value. However, the value
> range
> assigned to 'i' variable can be only [-inf, +inf], because uses of 'i'
> outside of condition can get any value. So, I'd like to convert the
> above to:
>
> i = 0;
> if (i > 0) {
> i = change_value_range(i);
> foo(i);
> }
I don't know why you said that mem2reg is too specialized to work for
your problem, but at least for the example you gave you can make it
work. If you converted the above code to the following:
i = 0;
if (i > 0) {
tmp = i;
i = change_value...