Displaying 3 results from an estimated 3 matches for "otherbb".
2017 Mar 03
4
Optionally using value numbering in Simplify*
...use it replaces instructions as it goes. It's an example
of a larger issue that pops up quite a lot
I would appreciate thoughts on what to do about it
it amounts to something like this (but again, it happens a lot):
live = gep thing, 0
live2 = gep thing, 1
branch i1 provablytrue,, mergeblock, otherbb
otherbb:
dead = something else
br mergeblock
merge block
a = phi(live, dead)
b = live2
result = icmp sge a, b
both GVN and NewGVN prove provablytrue to be true, and phi to be equivalent
to live.
GVN transforms this piece at time, and so by the time simplifycmpinst sees
the icmp, it is
result = i...
2017 Mar 03
2
Optionally using value numbering in Simplify*
...use it replaces instructions as it goes. It's an example
of a larger issue that pops up quite a lot
I would appreciate thoughts on what to do about it
it amounts to something like this (but again, it happens a lot):
live = gep thing, 0
live2 = gep thing, 1
branch i1 provablytrue,, mergeblock, otherbb
otherbb:
dead = something else
br mergeblock
merge block
a = phi(live, dead)
b = live2
result = icmp sge a, b
both GVN and NewGVN prove provablytrue to be true, and phi to be equivalent
to live.
GVN transforms this piece at time, and so by the time simplifycmpinst sees
the icmp, it is
result = i...
2004 Dec 07
1
[LLVMdev] Question adding dummy basic blocks
Hi,
I got a problem when I am trying to add a dummy basic block.
Let say there are two blocks, A and B.
A----->B
I am trying to generate new BB called C which is located between A and B, but not break the edge of AB. The graph is like the following
A---->B
\ /
\ /
C
There is new BB 'C' with edges AC and CB.
It is kind of like what breakcriticaledge pass does.