llvm-project/llvm/test/Analysis
Matthias Braun 850d53a197 LTO: Decide upfront whether to use opaque/non-opaque pointer types
LTO code may end up mixing bitcode files from various sources varying in
their use of opaque pointer types. The current strategy to decide
between opaque / typed pointers upon the first bitcode file loaded does
not work here, since we could be loading a non-opaque bitcode file first
and would then be unable to load any files with opaque pointer types
later.

So for LTO this:
- Adds an `lto::Config::OpaquePointer` option and enforces an upfront
  decision between the two modes.
- Adds `-opaque-pointers`/`-no-opaque-pointers` options to the gold
  plugin; disabled by default.
- `--opaque-pointers`/`--no-opaque-pointers` options with
  `-plugin-opt=-opaque-pointers`/`-plugin-opt=-no-opaque-pointers`
  aliases to lld; disabled by default.
- Adds an `-lto-opaque-pointers` option to the `llvm-lto2` tool.
- Changes the clang driver to pass `-plugin-opt=-opaque-pointers` to
  the linker in LTO modes when clang was configured with opaque
  pointers enabled by default.

This fixes https://github.com/llvm/llvm-project/issues/55377

Differential Revision: https://reviews.llvm.org/D125847
2022-06-01 18:05:53 -07:00
..
AliasSet
AssumptionCache
BasicAA Reapply "[Intrinsics] Add `nocallback` to the default intrinsic attributes" 2022-03-25 09:36:50 -05:00
BlockFrequencyInfo [test][NewPM] Remove RUN lines using -analyze 2021-09-02 11:38:14 -07:00
BranchProbabilityInfo [BPI] Look-up tables for non-loop branches. NFC. 2021-11-22 10:30:42 +00:00
CFLAliasAnalysis [AAEval] Make compatible with opaque pointers 2022-03-16 10:02:11 +01:00
CallGraph [Statepoint] Update gc.statepoint calls in tests with elementtype (NFC) 2022-02-04 14:15:41 +01:00
CostModel [AArch64] Costmodel tests for llvm.vscale intrinsics. NFC 2022-05-26 10:16:21 +01:00
CycleInfo [test] Replace/remove some 'opt -analyze' RUN lines 2022-02-09 15:49:53 -08:00
DDG
Delinearization [test] Remove one more unnecessary -analyze RUN line 2022-02-09 16:05:43 -08:00
DemandedBits [test][NewPM] Remove RUN lines using -analyze 2021-09-02 11:38:14 -07:00
DependenceAnalysis [DA] Refactor with a better API 2022-04-13 14:51:48 -04:00
DivergenceAnalysis [test][NewPM] Remove RUN lines using -analyze 2021-09-02 11:38:14 -07:00
DominanceFrontier
Dominators Introduce NewPM .dot printers for DomTree 2022-01-05 23:25:40 +00:00
FunctionPropertiesAnalysis
GlobalsModRef [GlobalsModRef][FIX] Ensure we honor synchronizing effects of intrinsics 2022-04-12 16:42:50 -05:00
IRSimilarityIdentifier [IRSim] Ignore debug instructions when creating canonical numbering 2022-04-19 13:18:28 -05:00
IVUsers [test][NewPM] Remove RUN lines using -analyze 2021-09-02 11:38:14 -07:00
LazyCallGraph [Statepoint] Update gc.statepoint calls in tests with elementtype (NFC) 2022-02-04 14:15:41 +01:00
LazyValueAnalysis
LegacyDivergenceAnalysis [test] Replace `-analyze -divergence` with `-passes='print<divergence>'` 2022-02-09 16:09:14 -08:00
Lint [test] Modify some tests to remove implicit -basic-aa in legacy PM RUN lines 2022-03-08 14:35:06 -08:00
LoopAccessAnalysis Revert "[LAA] Initial support for runtime checks with pointer selects." 2022-06-01 15:24:27 +02:00
LoopCacheAnalysis/PowerPC [NFC][LoopCacheAnalysis] Update test cases to make sure the outputs follow the right order 2022-05-25 23:32:00 -04:00
LoopInfo [test][NewPM] Remove RUN lines using -analyze 2021-09-02 11:38:14 -07:00
LoopNestAnalysis
MemoryDependenceAnalysis [test] Modify some tests to remove implicit -basic-aa in legacy PM RUN lines 2022-03-08 14:35:06 -08:00
MemorySSA [FileCheck] Catch missspelled directives. 2022-05-26 11:37:19 +01:00
MustExecute
PhiValues
PostDominators [test][NewPM] Remove RUN lines using -analyze 2021-09-02 11:38:14 -07:00
ProfileSummary
RegionInfo [FileCheck] Catch missspelled directives. 2022-05-26 11:37:19 +01:00
ScalarEvolution [ValueTracking] Enable -branch-on-poison-as-ub by default 2022-06-01 10:46:06 +02:00
ScopedNoAliasAA [test] Modify some tests to remove implicit -basic-aa in legacy PM RUN lines 2022-03-08 14:35:06 -08:00
StackSafetyAnalysis LTO: Decide upfront whether to use opaque/non-opaque pointer types 2022-06-01 18:05:53 -07:00
TypeBasedAliasAnalysis Reapply "[Intrinsics] Add `nocallback` to the default intrinsic attributes" 2022-03-25 09:36:50 -05:00
ValueTracking [ValueTracking] Added support to deduce PHI Nodes values being a power of 2 2022-05-26 20:30:31 +00:00
alias-analysis-uses.ll