1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/unittests
Roman Lebedev cb062e6baf 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 c95ffadb2474a4d8c4f598d94d35a9f31d9606cb.
2020-07-04 23:49:23 +03:00
..
ADT Reland [ADT] Support const-qualified unique_functions 2020-06-29 21:40:16 +02:00
Analysis Revert "[AssumeBundles] Use operand bundles to encode alignment assumptions" 2020-07-04 23:49:23 +03:00
AsmParser [SVE] Remove VectorType::getBitWidth() 2020-04-21 13:33:46 -07:00
BinaryFormat [BinaryFormat] Add formatv support for DW_OP constants 2020-06-08 15:27:44 +02:00
Bitcode [strictfp] Replace dangling strictfp attrs with nobuiltin 2020-06-15 10:05:35 -04:00
Bitstream [Bitcode] Move Bitstream to a separate library 2019-07-03 22:40:07 +00:00
CodeGen GlobalISel: Add unit tests for some utils functions 2020-06-24 12:00:38 -04:00
DebugInfo [DebugInfo] Use Cursor to detect errors in debug line prologue parser 2020-07-03 11:52:06 +01:00
Demangle Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
ExecutionEngine [ORC] Share ownership of JITDylibs between ExecutionSession and 2020-05-10 16:37:17 -07:00
Frontend Fix missing build dependencies on omp_gen 2020-07-02 07:55:20 -06:00
FuzzMutate [SVE] Deprecate default false variant of VectorType::get 2020-06-16 15:16:11 -07:00
IR [XCOFF][AIX] Use 'L..' instead of '.L' for getPrivateGlobalPrefix in DataLayout 2020-07-03 18:25:14 +00:00
LineEditor Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Linker [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
MC [AIX][XCOFF] add symbol priority for the llvm-objdump -D -symbol-description 2020-05-29 11:08:51 -04:00
MI [LiveIntervals] Fix early-clobber handling in handleMoveUp 2020-06-19 10:17:04 +01:00
Object [ELF] Fixing an issue in Elf_Note_Impl::getDescAsStringRef 2020-06-16 10:08:31 +00:00
ObjectYAML [DWARFYAML][unittest] Use parseDWARFYAML() in unit test. NFC. 2020-07-03 22:36:00 +08:00
Option Option spell checking: Penalize delimiter flags if input has no argument 2019-05-01 16:45:15 +00:00
Passes Don't export symbols from clang/opt/llc if plugins are disabled. 2020-03-23 12:17:09 -07:00
ProfileData Revert "[PGO] Extend the value profile buckets for mem op sizes." 2020-06-25 11:13:49 -07:00
Remarks [Remarks] Fix error message check in unit test 2019-10-31 15:51:36 -07:00
Support [ARM] Add Cortex-A77 Support for Clang and LLVM 2020-07-03 13:00:54 +01:00
TableGen Make unittests include path relative 2020-02-21 10:19:11 +01:00
Target [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
TextAPI [llvm][TextAPI/MachO] clean up auto usages in tests, NFC 2020-06-15 19:59:42 -07:00
tools [llvm-exegesis][NFC] Let the pfm::Counter own the PerfHelper. 2020-04-08 15:37:30 +02:00
Transforms LoopUtils.h - reduce AliasAnalysis.h include to forward declarations. NFC. 2020-06-24 17:58:38 +01:00
XRay Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
CMakeLists.txt CMake: Make most target symbols hidden by default 2020-01-14 19:46:52 -08:00
unittest.cfg.in Add support for unittest inputs. 2018-09-05 23:30:17 +00:00