llvm-project/llvm/test/Transforms/PhaseOrdering
Roman Lebedev 7ea46aee36
Revert "[AssumeBundles] Use operand bundles to encode alignment assumptions"
Assume bundle can have more than one entry with the same name,
but at least AlignmentFromAssumptionsPass::extractAlignmentInfo() uses
getOperandBundle("align"), which internally assumes that it isn't the
case, and happily crashes otherwise.

Minimal reduced reproducer: run `opt -alignment-from-assumptions` on

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-unknown-linux-gnu"

%0 = type { i64, %1*, i8*, i64, %2, i32, %3*, i8* }
%1 = type opaque
%2 = type { i8, i8, i16 }
%3 = type { i32, i32, i32, i32 }

; Function Attrs: nounwind
define i32 @f(%0* noalias nocapture readonly %arg, %0* noalias %arg1) local_unnamed_addr #0 {
bb:
  call void @llvm.assume(i1 true) [ "align"(%0* %arg, i64 8), "align"(%0* %arg1, i64 8) ]
  ret i32 0
}

; Function Attrs: nounwind willreturn
declare void @llvm.assume(i1) #1

attributes #0 = { nounwind "reciprocal-estimates"="none" }
attributes #1 = { nounwind willreturn }


This is what we'd have with -mllvm -enable-knowledge-retention

This reverts commit c95ffadb24.
2020-07-04 23:49:23 +03:00
..
X86 [VectorCombine] try to form vector compare and binop to eliminate scalar ops 2020-06-29 10:38:52 -04:00
2010-03-22-empty-baseclass.ll
PR6627.ll
basic.ll
bitfield-bittests.ll
gdce.ll
globalaa-retained.ll
inlining-alignment-assumptions.ll Revert "[AssumeBundles] Use operand bundles to encode alignment assumptions" 2020-07-04 23:49:23 +03:00
lifetime-sanitizer.ll Add PhaseOrdering/lifetime-sanitizer.ll tests 2019-08-27 00:18:28 +00:00
min-max-abs-cse.ll [EarlyCSE] avoid crashing when detecting min/max/abs patterns (PR41083) 2020-02-10 17:25:34 -05:00
minmax.ll [InstCombine] add tests for cmyk benchmark; NFC 2020-04-02 13:00:46 -04:00
reassociate-after-unroll.ll [InstCombine] (A + B) + B --> A + (B << 1) 2020-05-22 11:46:59 -04:00
rotate.ll [PhaseOrdering][NewPM] update test that silently showed bug with SpeculativeExecutionPass; NFC 2020-06-30 14:22:20 -04:00
scev-custom-dl.ll Reland [DataLayout] Fix occurrences that size and range of pointers are assumed to be the same. 2019-12-13 14:30:21 +00:00
scev.ll
simplifycfg-options.ll Revert "Revert "As a follow-up to my initial mail to llvm-dev here's a first pass at the O1 described there."" 2019-11-26 20:28:52 -08:00
two-shifts-by-sext.ll Revert "Revert "As a follow-up to my initial mail to llvm-dev here's a first pass at the O1 described there."" 2019-11-26 20:28:52 -08:00
unsigned-multiply-overflow-check.ll [InstSimplify] Drop leftover "division-by-zero guard" around `@llvm.umul.with.overflow` inverted overflow bit 2019-08-29 12:48:04 +00:00
vector-trunc.ll [InstCombine] convert bitcast-shuffle to vector trunc 2020-04-05 09:48:02 -04:00