1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/test/Transforms/Scalarizer
Bjorn Pettersson 651fd597ec [Scalarizer] Fix a non-deterministic scatter order problem
Summary:
The indexing operator in Scatterer may result in building new
instructions. When using multiple such operators in a function
argument list the order in which we build instructions depend on
argument evaluation order (which is undefined in C++).
This patch avoid such problems by expanding the components using
the [] operator prior to the function call.

Problem was seen when comparing output, while builing LLVM with
different compilers (clang vs gcc).

Reviewers: foad, cameron.mcinally, uabelho

Reviewed By: foad

Subscribers: hiraditya, mgrang, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D78455
2020-04-20 16:05:33 +02:00
..
basic.ll [Scalarizer] Propagate IR flags 2019-06-21 14:10:18 +00:00
cache-bug.ll
crash-bug.ll
dbginfo.ll Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
dbgloc-bug.ll
intrinsics.ll [Intrinsic] Add the llvm.umul.fix.sat intrinsic 2019-09-07 12:16:14 +00:00
order-bug.ll
phi-bug.ll
phi-unreachable-pred.ll [Scalarizer] Treat values from unreachable blocks as undef 2019-11-15 11:13:37 +01:00
scatter-order.ll [Scalarizer] Fix a non-deterministic scatter order problem 2020-04-20 16:05:33 +02:00
store-bug.ll
vector-gep.ll