[llvm-commits] [llvm] r51134 - in /llvm/trunk: lib/Transforms/Scalar/InstructionCombining.cpp test/Transforms/InstCombine/2003-11-13-ConstExprCastCall.ll test/Transforms/InstCombine/fp-ret-bitcast.ll

Dale Johannesen dalej at apple.com
Thu May 15 13:29:42 PDT 2008


On May 15, 2008, at 1:24 PM, Duncan Sands wrote:

> Hi Dale,
>
>>> are you saying that the declaration of objc_msgSend_fpret is wrong?
>>> That sounds like the real problem to me.  Having wrong declarations
>>> is fatal.  For example, suppose that the declaration was right: it
>>> does return void.  Then NOT performing the transform would be wrong,
>>> because otherwise you will pop a float that shouldn't be popped...
>>> Where is the declaration coming from?
>>
>> That's the way the ObjC FE does things; it predates anyone working on
>> llvm, and has tendrils all over gcc.  I don't like it either.  In
>> theory I think you are right, but I doubt changing that is a  
>> practical
>> approach.
>
> I feel your pain :)  Nonetheless, it would be better to fix this in  
> the
> front-end if possible.  Did you/Bill try and fail?

Not really.  But we, and Chris, have tried to change some of the other  
weird things the ObjC FE does and always wound up having to back it out.




More information about the llvm-commits mailing list