This reverts commit 65c7cecb13f8d2132a54103903501474083afe8f.
I used bisect to find the above mentioned patch, which causes clang to crash with the code below. Let's revert and fix forward.
Thanks!
Instruction does not dominate all uses! %shuffle = shufflevector <2 x double> %add.i.i.i.i.i.i.i.i.i.i.i.i.i.i, <2 x double> poison, <2 x i32> <i32 1, i32 0> %0 = shufflevector <2 x double> zeroinitializer, <2 x double> %shuffle, <2 x i32> <i32 2, i32 1> LLVM ERROR: Broken module found, compilation aborted!
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-grtev4-linux-gnu"
define i32 @crash() {
label:
%0 = extractelement <2 x double> zeroinitializer, i64 1
%1 = extractelement <2 x double> zeroinitializer, i64 0
%add.i.i.i.i.i.i.i.i.i.i.i.i.i.i = fadd <2 x double> zeroinitializer, zeroinitializer
%sroa.0.8.vec.extract = extractelement <2 x double> %add.i.i.i.i.i.i.i.i.i.i.i.i.i.i, i64 1
%2 = fmul double %sroa.0.8.vec.extract, %1
%conj.sroa.3.8.vec.insert = insertelement <2 x double> zeroinitializer, double %sroa.0.8.vec.extract, i64 0
%sroa.0.0.vec.extract = extractelement <2 x double> %add.i.i.i.i.i.i.i.i.i.i.i.i.i.i, i64 0
%mul.i.i23.i.i.i.i.i.i.i.i.i.i.i.i.i = fmul double %sroa.0.0.vec.extract, %0
%add.i.i.i.i.i.i.i.i.i.i.i.i.i = fadd double %2, %mul.i.i23.i.i.i.i.i.i.i.i.i.i.i.i.i
%mul.i.i.i.i.i.i.i.i.i.i.i.i = fmul double %add.i.i.i.i.i.i.i.i.i.i.i.i.i, 0.000000e+00
store double %mul.i.i.i.i.i.i.i.i.i.i.i.i, double* null, align 16
ret i32 0
}