[llvm-commits] Fwd: [llvm] r105453 - in /llvm/trunk: lib/CodeGen/SelectionDAG/LegalizeTypes.cpp test/CodeGen/X86/widen_shuffle-1.ll test/CodeGen/X86/widen_shuffle-2.ll

Mon Ping Wang wangmp at apple.com
Fri Jun 4 11:20:08 PDT 2010



Begin forwarded message:

> From: Mon Ping Wang <monping at apple.com>
> Date: June 4, 2010 10:36:17 AM PDT
> To: Duncan Sands <baldrick at free.fr>
> Cc: llvm-commits at cs.uiuc.edu
> Subject: Re: [llvm-commits] [llvm] r105453 - in /llvm/trunk: lib/CodeGen/SelectionDAG/LegalizeTypes.cpp test/CodeGen/X86/widen_shuffle-1.ll test/CodeGen/X86/widen_shuffle-2.ll
> 
> Hi Duncan,
> 
> An alternative to fixing it this way is to change how SelectionDAG::ReplaceAllUsesWith works.  It could remove the From node from the CSE map and then reinsert the node back into the map after replacing all uses.  If you don't like that, I'll revert the change to give you a few days of poking at it.
> 
> Ciao,
>  -- Mon Ping
> 
> 
> On Jun 4, 2010, at 12:30 AM, Duncan Sands wrote:
> 
>> Hi Mon Ping,
>> 
>>> Fixed a bug during widening where we would avoid legalizing a node.  When we
>>> replace an OpA with a widened OpB, it is possible to get new uses of OpA due to CSE
>>> when recursively updating nodes.  Since OpA has been processed, the new uses are
>>> not examined again.  The patch checks if this occurred and it it did, updates the
>>> new uses of OpA to use OpB.
>> 
>> this is an incredibly fragile bit of code.  It's almost impossible to touch it
>> without breaking something!  At a minimum, for testing you should configure LLVM
>> with *expensive checks enabled*, bootstrap gcc and run the entire testsuite.
>> That said I would rather you reverted this, and give me a few days to poke at
>> the testcase.
>> 
>> Ciao,
>> 
>> Duncan.
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20100604/5563a635/attachment.html>


More information about the llvm-commits mailing list