Displaying 3 results from an estimated 3 matches for "sadd_openinst".
2009 Feb 08
0
[LLVMdev] overflow + saturation stuff
Hi Chris,
Would it be better to split add into multiple opcodes instead of using
SubclassData bits? Compare this:
switch (I->getOpcode()) {
case Instruction::Add: {
switch (cast<Add>(I)->getOverflowBehavior()) {
case AddInstruction::Wrapping:
// ...
case AddInstruction::UndefinedSigned:
// ...
case
2009 Feb 08
2
[LLVMdev] overflow + saturation stuff
...Wrapping:
> // ...
> case AddInstruction::UndefinedSigned:
> // ...
> case AddInstruction::UndefinedUnsigned:
Sure, that is ugly. However, I think it would be much more common to
look at these in "isa" flavored tests than switches:
if (isa<SAdd_OpenInst>(X))
is much nicer than:
if (BinaryOperator *BO = dyn_cast<BinaryOperator>(x))
if (BO->getOpcode() == blah::Add && BO->getOverflow() ==
blah::Undefined)
However, we a) already suffer this just for Add, because we don't have
an AddInst class, and b) don't car...
2009 Feb 07
6
[LLVMdev] overflow + saturation stuff
Edwin was asking about how we should handle PR3328, how we should make
GEP respect -fwrapv etc. I wrote up some thoughts here if anyone is
interested:
http://nondot.org/sabre/LLVMNotes/IntegerOverflow.txt
-Chris