Dimitry Andric 397a8ba053 Apply fix for LLVM PR51957 (Miscompilation in Botan's SHA3)
Merge commit e27a6db5298f from llvm git (by Jameson Nash):

  Bad SLPVectorization shufflevector replacement, resulting in write to wrong memory location

  We see that it might otherwise do:

    %10 = getelementptr {}**, <2 x {}***> %9, <2 x i32> <i32 10, i32 4>
    %11 = bitcast <2 x {}***> %10 to <2 x i64*>
  ...
    %27 = extractelement <2 x i64*> %11, i32 0
    %28 = bitcast i64* %27 to <2 x i64>*
    store <2 x i64> %22, <2 x i64>* %28, align 4, !tbaa !2

  Which is an out-of-bounds store (the extractelement got offset 10
  instead of offset 4 as intended). With the fix, we correctly generate
  extractelement for i32 1 and generate correct code.

  Differential Revision: https://reviews.llvm.org/D106613
2021-11-13 21:52:25 +01:00
..
2021-10-06 23:30:59 +02:00
2021-09-10 13:11:28 -07:00
2021-03-01 16:01:44 +01:00
2021-09-22 11:10:58 +02:00
2021-07-17 22:20:44 -07:00
2021-11-06 16:24:36 -06:00
2021-02-23 17:47:07 +00:00
2021-05-06 18:01:44 -07:00
2021-11-05 09:39:56 +01:00
2021-05-20 00:12:27 +03:00
2021-08-17 02:32:56 -07:00