Old fork of llvm-mirror, used on older RPCS3 builds
Go to file
Adam Nemet a1b54dd1ff [X86] Fix non-determinism in LowerVectorAllZeroTest
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>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204623 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-24 16:52:08 +00:00
autoconf Remove projects/sample. 2014-03-12 22:40:22 +00:00
bindings
cmake [CMake][cygming] Disable --out-implib from executables. 2014-03-16 13:51:24 +00:00
docs Update release notes with EHABI current behaviour 2014-03-24 11:02:38 +00:00
examples
include remove a bunch of unused private methods 2014-03-23 17:09:26 +00:00
lib [X86] Fix non-determinism in LowerVectorAllZeroTest 2014-03-24 16:52:08 +00:00
projects Remove projects/sample. 2014-03-12 22:40:22 +00:00
test [mips] Add error message when trying to use $at in '.set noat' mode. 2014-03-24 16:48:01 +00:00
tools Teach llvm-readobj to print human friendly description of reserved sections. 2014-03-24 05:00:34 +00:00
unittests SupportTests.LockFileManagerTest: Add assertions for Win32. 2014-03-23 23:55:57 +00:00
utils remove a bunch of unused private methods 2014-03-23 17:09:26 +00:00
.arcconfig
.clang-format
.gitignore Remove projects/sample. 2014-03-12 22:40:22 +00:00
CMakeLists.txt static link polly into tools 2014-03-14 04:04:14 +00:00
CODE_OWNERS.TXT Update my e-mail address in CODE_OWNERS.TXT 2014-03-13 18:04:41 +00:00
configure Remove projects/sample. 2014-03-12 22:40:22 +00:00
CREDITS.TXT
LICENSE.TXT Remove projects/sample. 2014-03-12 22:40:22 +00:00
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in
Makefile.rules
README.txt

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level
Virtual Machine, a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you're writing a package for LLVM, see docs/Packaging.rst for our
suggestions.