On Fri, 13 May 2005, Markus F.X.J. Oberhumer wrote:> Chris Lattner wrote:
>> On Fri, 13 May 2005, Markus F.X.J. Oberhumer wrote:
>>
>>> There is still one unneeded LongTy in LowerInvoke.cpp - something
like
>>> this pseudo-diff should probably get applied.
>>
>>
>> What does this impact?
>
> This causes code like
>
> write(2, (&(l227_abortmsg[0ll])), 95);
>
> in the CBE, which not all 32-bit compilers do like.
Ah ok, in that case, the CBE should be fixed. There are other cases that
could cause long arguments to exist on 32-bit systems. If the C compiler
takes issue with this, it would be best to tell the CBE to emit casts to C
(long) or something.
-Chris
>> -Chris
>>
>>> Index: LowerInvoke.cpp
>>>
==================================================================>>>
RCS file: /var/cvs/llvm/llvm/lib/Transforms/Scalar/LowerInvoke.cpp,v
>>> retrieving revision 1.23
>>> diff -r1.23 LowerInvoke.cpp
>>> 160c160
>>> < std::vector<Constant*> GEPIdx(2,
>>> Constant::getNullValue(Type::LongTy));
>>> ---
>>>
>>>> std::vector<Constant*> GEPIdx(2,
>>>
>>> Constant::getNullValue(XXX::IntPtrTy));
>>> 173c173
>>> < std::vector<Constant*> GEPIdx(2,
>>> Constant::getNullValue(Type::LongTy));
>>> ---
>>>
>>>> std::vector<Constant*> GEPIdx(2,
>>>
>>> Constant::getNullValue(XXX::IntPtrTy));
>>>
>>>
>>
>> -Chris
>>
>
>
>
-Chris
--
http://nondot.org/sabre/
http://llvm.cs.uiuc.edu/