[llvm-commits] Fwd: DAG type Legalizer bug?

Guo, Xiaoyi Xiaoyi.Guo at amd.com
Tue May 15 18:25:20 PDT 2012


Hi Duncan,

I have updated the comment to reflex the change and attached the updated patch. Would you help commit it?

Thanks,
Xiaoyi

-----Original Message-----
From: Duncan Sands [mailto:baldrick at free.fr] 
Sent: Monday, April 30, 2012 6:09 AM
To: Bill Wendling
Cc: Guo, Xiaoyi
Subject: Re: Fwd: [llvm-commits] DAG type Legalizer bug?

Hi Bill, the proposed change looks obviously correct to me.

Ciao, Duncan.

On 08/04/12 13:10, Bill Wendling wrote:
> Hi Duncan,
>
> This concerns code you added to the LegalizeTypes.cpp file. Could you 
> take a look? :)
>
> -bw
>
>
>
>
> Begin forwarded message:
>
>> *From: *"Guo, Xiaoyi" <Xiaoyi.Guo at amd.com 
>> <mailto:Xiaoyi.Guo at amd.com>>
>> *Subject: **Re: [llvm-commits] DAG type Legalizer bug?*
>> *Date: *April 5, 2012 2:23:31 PM PDT
>> *To: *"llvm-commits at cs.uiuc.edu <mailto:llvm-commits at cs.uiuc.edu>"
>> <llvm-commits at cs.uiuc.edu <mailto:llvm-commits at cs.uiuc.edu>>
>>
>> Ping?
>> *From:*llvm-commits-bounces at cs.uiuc.edu
>> <mailto:llvm-commits-bounces at cs.uiuc.edu>
>> [mailto:llvm-commits-bounces at cs.uiuc.edu]*On Behalf Of*Guo, Xiaoyi 
>> *Sent:*Tuesday, April 03, 2012 11:39 AM *To:*llvm-commits at cs.uiuc.edu 
>> <mailto:llvm-commits at cs.uiuc.edu> *Subject:*[llvm-commits] FW: DAG 
>> type Legalizer bug?
>> Please review the attached patch which fixes a bug as described 
>> below. Our test case fails on amdil backend. I failed to create a 
>> test case with one of the backends built-in to llvm. So I couldn't 
>> add a test case to the unit test suite.
>> Thanks,
>> Xiaoyi
>> *From:*llvmdev-bounces at cs.uiuc.edu 
>> <mailto:llvmdev-bounces at cs.uiuc.edu>
>> [mailto:llvmdev-bounces at cs.uiuc.edu]*On Behalf Of*Guo, Xiaoyi 
>> *Sent:*Friday, March 23, 2012 8:11 PM *To:*LLVM Developers Mailing 
>> List *Subject:*[LLVMdev] DAG type Legalizer bug?
>> The following looks like a bug in the legalizer to me.
>> DAGTypeLegalizer::SplitRes_MERGE_VALUES(SDNode*N, unsigned ResNo, 
>> SDValue& Lo, SDValue& Hi) { SDValue Op = DisintegrateMERGE_VALUES(N, 
>> ResNo); GetSplitOp(Op, Lo, Hi); }
>> DisintegrateMERGE_VALUE() returns SDValue(N, ResNo), where N is the 
>> MERGE_VALUE node itself.
>> Then GetSplitOp() tries to retrieve split result for N from the 
>> SplitVectors cache and hit assert because split result is for N is not in the cache yet.
>> Seems to me that DisintegrateMERGE_VALUES() should return the 
>> corresponding operand for the given ResNo, not the defined value.
>> Please confirm if it's a bug, or if I'm missing something.
>> Thanks,
>> Xiaoyi
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu <mailto:llvm-commits at cs.uiuc.edu> 
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
> =


-------------- next part --------------
A non-text attachment was scrubbed...
Name: LegalizeTypes.patch
Type: application/octet-stream
Size: 1219 bytes
Desc: LegalizeTypes.patch
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120516/77c0d71b/attachment.obj>


More information about the llvm-commits mailing list