search for: greaterthan

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