[llvm-commits] [llvm] r59025 - in /llvm/trunk: include/llvm/CodeGen/SelectionDAGNodes.h lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp lib/CodeGen/SelectionDAG/LegalizeTypes.h

Duncan Sands duncan.sands at math.u-psud.fr
Wed Nov 12 00:26:44 PST 2008


Hi,

> I'm probably misunderstanding the design.  PromoteIntRes will just  
> promote the result.   PromoteIntOp promotes an operand.  An operation  
> that can have an integer result will need a PromteIntRes routine and  
> any operation that can take an integer input will need a  
> PromoteIntOp.  The only cases where PromoteIntRes routine will look at  
> is operand is to know how to promote the result correctly. (e.g.,  bit  
> convert  needs to know what the input operand is to know what to  
> generate).

exactly.  So why does PromoteIntRes_CONVERT_RNDSAT look at the operand?
And why did you remove the operand promotion version?

> I didn't do the sign extensions or zero extensions because how these  
> convert operate.  If the convert is i8 to a float, it will do the  
> operation on the lower 8 bits and ignore the rest so having junk up  
> there is fine.  The issue is that I shouldn't look at the promoted  
> value.

OK.

Ciao,

Duncan.



More information about the llvm-commits mailing list