[PATCH][X86] Fix non-determinism in LowerVectorAllZeroTest

Adam Nemet anemet at apple.com
Mon Mar 24 10:00:33 PDT 2014


Thanks!  It’s r204623.

On Mar 23, 2014, at 1:59 PM, Nadav Rotem <nrotem at apple.com> wrote:

> LGTM. 
> 
> On Mar 22, 2014, at 3:09 PM, Adam Nemet <anemet at apple.com> wrote:
> 
>> This can be observed with the old testcase of CodeGen/X86/pr12312.ll:
>> 
>> 47c47
>> <       vorps   %ymm0, %ymm1, %ymm0
>> ---
>>>     vorps   %ymm1, %ymm0, %ymm0
>> 97c97
>> <       vorps   %ymm1, %ymm0, %ymm0
>> ---
>>>     vorps   %ymm0, %ymm1, %ymm0
>> 
>> The vector VecIns is populated with all the values from VecInMap. This is done
>> while iterating VecInMap.  VecInMap uses a hash of pointer values so the
>> resulting order can vary depending on the memory layout.
>> 
>> The fix is to populate the vector VecIns earlier as VecInMap is populated.
>> This is done in DAG traversal order.
>> 
>> Fixes <rdar://problem/16398806>
>> 
>> Adam
>> 
>> <X86-Fix-non-determinism-in-LowerVectorAllZeroTest.patch>_______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> 





More information about the llvm-commits mailing list