mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
8a8876f845
Some targets may add required passes via TargetMachine::registerPassBuilderCallbacks(). We need to run those even under -O0. As an example, BPFTargetMachine adds BPFAbstractMemberAccessPass, a required pass. This also allows us to clean up BackendUtil.cpp (and out-of-tree Rust usage of the NPM) by allowing us to share added passes like coroutines and sanitizers between -O0 and other optimization levels. Since callbacks may end up not adding passes, we need to check if the pass managers are empty before adding them, so PassManager now has an isEmpty() function. For example, polly adds callbacks but doesn't always add passes in those callbacks, so this is necessary to keep -debug-pass-manager tests' output from changing depending on if polly is enabled or not. Tests are a continuation of those added in https://reviews.llvm.org/D89083. Reviewed By: asbirlea, Meinersbur Differential Revision: https://reviews.llvm.org/D89158 |
||
---|---|---|
.. | ||
OperandBundles | ||
alias2.ll | ||
aliases.ll | ||
alignment.ll | ||
attributes.ll | ||
basictest.ll | ||
callingconventions.ll | ||
calltest.ll | ||
casttest.ll | ||
cfgstructures.ll | ||
cold.ll | ||
comdat.ll | ||
const_pv.ll | ||
constexpr.ll | ||
constpointer.ll | ||
elf-deplibs.ll | ||
elf-linker-options.ll | ||
escaped_label.ll | ||
exception.ll | ||
float.ll | ||
fold-fpcast.ll | ||
forwardreftest.ll | ||
fp-intrinsics.ll | ||
global_pv.ll | ||
global_section.ll | ||
globalredefinition3.ll | ||
globalvars.ll | ||
indirectcall2.ll | ||
indirectcall.ll | ||
inlineasm.ll | ||
instructions.ll | ||
intrinsic-noduplicate.ll | ||
intrinsics.ll | ||
load_extension.ll | ||
md_on_instruction.ll | ||
memorymarkers.ll | ||
metadata.ll | ||
minsize_attr.ll | ||
NamedMDNode2.ll | ||
NamedMDNode.ll | ||
newcasts.ll | ||
optnone-llc.ll | ||
optnone-opt.ll | ||
optnone.ll | ||
packed_struct.ll | ||
packed.ll | ||
paramattrs.ll | ||
ppcld.ll | ||
prefixdata.ll | ||
prologuedata.ll | ||
properties.ll | ||
prototype.ll | ||
README.txt | ||
recursivetype.ll | ||
seh-nounwind.ll | ||
simplecalltest.ll | ||
small.ll | ||
smallest.ll | ||
sparcld.ll | ||
strip_names.ll | ||
terminators.ll | ||
testalloca.ll | ||
testconstants.ll | ||
testlogical.ll | ||
testtype.ll | ||
testvarargs.ll | ||
undefined.ll | ||
unreachable.ll | ||
varargs_new.ll | ||
varargs.ll | ||
vector-cast-constant-exprs.ll | ||
weak_constant.ll | ||
weirdnames.ll | ||
x86ld.ll |
This directory contains test cases for individual source features of LLVM. It is designed to make sure that the major components of LLVM support all of the features of LLVM, for very small examples. Entire programs should not go here. Regression tests for individual bug fixes should go into the test/Regression dir.