Displaying 7 results from an estimated 7 matches for "greaterthan".
2011 Feb 08
2
[LLVMdev] A small pass to constant fold branch conditions in destination blocks
...nch and replace them with 0 on the spot). After walking up,
you would walk down again with what you learned; for example you may
have done %A = add %X, %Y way early on and know in this lower branch
that %Y is 0, now %A = %X. PS had a full comparison lattice (not-equals,
signed-lessthan-unsigned-greaterthan) and also grew constant range
analysis (x < y implies x != -1 and y != 0).
While I know PS removed tons of code from the .ll I was never really
able to detect a runtime performance improvement; my guess is that while
I was killing off lots of dead code it didn't impact the performance of...
2011 Feb 08
0
[LLVMdev] A small pass to constant fold branch conditions in destination blocks
...with 0 on the spot). After walking up,
> you would walk down again with what you learned; for example you may
> have done %A = add %X, %Y way early on and know in this lower branch
> that %Y is 0, now %A = %X. PS had a full comparison lattice (not-equals,
> signed-lessthan-unsigned-greaterthan) and also grew constant range
> analysis (x < y implies x != -1 and y != 0).
>
> While I know PS removed tons of code from the .ll I was never really
> able to detect a runtime performance improvement; my guess is that while
> I was killing off lots of dead code it didn't...
2011 Feb 08
1
[LLVMdev] A small pass to constant fold branch conditions in destination blocks
...pot). After walking up,
>> you would walk down again with what you learned; for example you may
>> have done %A = add %X, %Y way early on and know in this lower branch
>> that %Y is 0, now %A = %X. PS had a full comparison lattice (not-equals,
>> signed-lessthan-unsigned-greaterthan) and also grew constant range
>> analysis (x < y implies x != -1 and y != 0).
>>
>> While I know PS removed tons of code from the .ll I was never really
>> able to detect a runtime performance improvement; my guess is that while
>> I was killing off lots of dead...
2011 Feb 07
0
[LLVMdev] A small pass to constant fold branch conditions in destination blocks
Here is a new and improved version that also does the following: if the
condition for a conditional branch has the form "A && B" then A, B and the
condition are all replaced with "true" in the true destination (similarly
for || conditions in the false destination). Also, if the condition has
the form "X == Y" then X is replaced by Y everywhere in the true
2003 Sep 07
1
Problem Installing Open H.323 Channel Driver
...pp:115: `EqualTo' undeclared (first use this function)
ast_h323.cpp:118: invalid use of undefined type `class H323_G7231Capability'
ast_h323.h:70: forward declaration of `class H323_G7231Capability'
ast_h323.cpp:120: `LessThan' undeclared (first use this function)
ast_h323.cpp:122: `GreaterThan' undeclared (first use this function)
ast_h323.cpp:124: warning: control reaches end of non-void function
`H323_G7231Capability::Compare(const PObject &) const'
ast_h323.cpp: At top level:
ast_h323.cpp:127: invalid use of undefined type `class H323_G7231Capability'
ast_h323.h:70: fo...
2004 Dec 17
1
h323 channel compile error
...p:109: `EqualTo' undeclared (first use this function)
ast_h323.cpp:112: invalid use of undefined type `class
H323_G7231Capability'
ast_h323.h:60: forward declaration of `class H323_G7231Capability'
ast_h323.cpp:114: `LessThan' undeclared (first use this function)
ast_h323.cpp:116: `GreaterThan' undeclared (first use this function)
ast_h323.cpp: At top level:
ast_h323.cpp:121: invalid use of undefined type `class
H323_G7231Capability'
ast_h323.h:60: forward declaration of `class H323_G7231Capability'
ast_h323.cpp: In method `PObject *H323_G7231Capability::Clone ()
const'...
2011 Feb 07
7
[LLVMdev] A small pass to constant fold branch conditions in destination blocks
Hi all, I wrote a little pass (attached) which does the following: if it sees a
conditional branch instruction then it replaces all occurrences of the condition
in the true block with "true" and in the false block with "false". Well, OK, it
is a bit more sophisticated (and a bit more careful!) than that but you get the
idea. It will turn this
define i1 @t1(i1 %c) {
br