llvm-project/llvm/test/Other
Johannes Doerfert 9548b74a83 [OpenMP] Introduce the OpenMPOpt transformation pass
The OpenMPOpt pass is a CGSCC pass in which OpenMP specific
optimizations can reside.

The OpenMPOpt pass uses the OpenMPKinds.def file to identify runtime
calls and their uses. This allows targeted transformations and eases
their implementation.

This initial patch deduplicates `__kmpc_global_thread_num` and
`omp_get_thread_num` calls. We can also identify arguments that are
equivalent to such a call result and use it instead. Later we can
determine "gtid" arguments based on the use in kernel functions etc.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D69930
2020-02-08 14:47:03 -06:00
..
Inputs Restore "[ThinLTO] Add additional ThinLTO pipeline testing with new PM" 2020-01-15 07:33:08 -08:00
X86 [test] More tests to target specific directories after CodeGenPrepare requires TargetPassConfig (D73754) 2020-02-02 10:43:02 -08:00
2002-01-31-CallGraph.ll
2002-02-24-InlineBrokePHINodes.ll
2002-03-11-ConstPropCrash.ll
2003-02-19-LoopInfoNestingBug.ll
2004-08-16-PackedConstantInlineStore.ll
2004-08-16-PackedGlobalConstant.ll
2004-08-16-PackedSelect.ll
2004-08-16-PackedSimple.ll
2004-08-20-PackedControlFlow.ll
2006-02-05-PassManager.ll
2007-06-05-PassID.ll Revert "Extend CFGPrinter and CallPrinter with Heat Colors" 2018-06-29 17:48:58 +00:00
2007-06-28-PassManager.ll
2007-09-10-PassManager.ll
2008-02-14-PassManager.ll
2008-06-04-FieldSizeInPacked.ll
2008-10-06-RemoveDeadPass.ll
2008-10-15-MissingSpace.ll
2009-03-31-CallGraph.ll
2009-06-05-no-implicit-float.ll
2009-09-14-function-elements.ll
2010-05-06-Printer.ll [PassInstrumentation] Remove excess newline for the new pass manager 2019-11-28 17:20:17 -08:00
FileCheck-space.txt
ResponseFile.ll
attribute-comment.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
available-externally-lto.ll [clang][NewPM] Do not eliminate available_externally durng `-O2 -flto` runs 2019-06-20 19:44:51 +00:00
bcanalyzer-block-info.txt
bcanalyzer-dump-option.txt [llvm-bcanalyzer] Don't dump the contents if -dump is not passed 2019-11-13 10:38:57 -08:00
can-execute.txt test/Other/can-execute.txt: delete %t after the test 2018-09-14 20:41:42 +00:00
cfg-printer-branch-weights.ll [CFG Printer] Add support for writing the dot files with a custom 2018-10-09 04:30:23 +00:00
cgscc-devirt-iteration.ll [BuildLibCalls] Noalias annotation 2019-08-14 16:50:06 +00:00
cgscc-disconnected-invalidation.ll
cgscc-iterate-function-mutation.ll
cgscc-libcall-update.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
cgscc-observe-devirt.ll
cleanup-lcssa.ll
close-stderr.ll Revert "[Support] make report_fatal_error `abort` instead of `exit`" 2020-01-15 17:52:25 -08:00
codegenprepare-and-debug.ll Fix inconsistency with/without debug information (-g) 2018-08-07 12:14:01 +00:00
constant-fold-gep-address-spaces.ll
constant-fold-gep.ll
cspgo-O2-pipeline.ll [PGO] Context sensitive PGO (part 4) 2019-03-06 19:31:37 +00:00
debugcounter-dce.ll [DCE] Add DebugCounter support 2018-09-13 20:29:50 +00:00
debugcounter-earlycse.ll
debugcounter-newgvn.ll
debugcounter-predicateinfo.ll [PredicateInfo] Use custom mangling to support ssa_copy with unnamed types. 2018-07-24 14:49:52 +00:00
extract-alias.ll
extract-linkonce.ll
extract-weak-odr.ll
extract.ll
invalid-commandline-option.ll
invariant.group.ll [FunctionAttrs] Annotate "willreturn" for intrinsics 2019-07-28 06:09:56 +00:00
lint.ll [instrinsics] Add @llvm.memcpy.inline instrinsics 2020-01-28 09:42:01 +01:00
lit-globbing.ll
lit-quoting.txt
lit-unicode.txt Remove some unnecessary REQUIRES: shell lines 2019-09-10 00:06:52 +00:00
llvm-nm-without-aliases.ll [llvm-nm][llvm-readelf] Avoid single-dash -long-option in tests 2019-04-27 16:12:14 +00:00
loop-deletion-printer.ll [NewPM] -print-module-scope -print-after now prints module even after invalidated Loop/SCC 2018-12-21 11:49:05 +00:00
loop-pass-ordering.ll
loop-pass-printer.ll [New PM][PassInstrumentation] IR printing support for New Pass Manager 2018-09-24 16:08:15 +00:00
loop-pm-invalidation.ll [New PM] Introducing PassInstrumentation framework 2018-09-20 17:08:45 +00:00
machine-size-remarks.ll Add REQUIRES line to machine-size-remarks 2018-09-10 23:53:08 +00:00
module-pass-printer.ll [IRPrinting] Improve module pass printer to work better with -filter-print-funcs 2019-09-04 08:08:58 +00:00
new-pass-manager.ll Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00:00
new-pm-cspgo.ll [PGO] Context sensitive PGO (part 4) 2019-03-06 19:31:37 +00:00
new-pm-defaults.ll [OpenMP] Introduce the OpenMPOpt transformation pass 2020-02-08 14:47:03 -06:00
new-pm-lto-defaults.ll Revert "[WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP" 2020-02-05 19:27:32 -08:00
new-pm-pgo-O0.ll [PGO] Add PGO support at -O0 in the experimental new pass manager 2019-08-01 22:36:34 +00:00
new-pm-pgo.ll Restore "[ThinLTO] Add additional ThinLTO pipeline testing with new PM" 2020-01-15 07:33:08 -08:00
new-pm-pr42726-cgscc.ll [NewPassManager] Resolve assertion in CGSCCPassManager when CallCounts change. 2019-08-02 18:37:03 +00:00
new-pm-thinlto-defaults.ll [OpenMP] Introduce the OpenMPOpt transformation pass 2020-02-08 14:47:03 -06:00
new-pm-thinlto-postlink-pgo-defaults.ll Revert "[WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP" 2020-02-05 19:27:32 -08:00
new-pm-thinlto-postlink-samplepgo-defaults.ll Revert "[WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP" 2020-02-05 19:27:32 -08:00
new-pm-thinlto-prelink-pgo-defaults.ll Fix bot by adjusting wildcard matching 2020-01-15 08:37:15 -08:00
new-pm-thinlto-prelink-samplepgo-defaults.ll Restore "[ThinLTO] Add additional ThinLTO pipeline testing with new PM" 2020-01-15 07:33:08 -08:00
opt-O0-pipeline.ll Generalize the pass registration mechanism used by Polly to any third-party tool 2020-01-02 16:45:31 +01:00
opt-O2-pipeline.ll [OpenMP] Introduce the OpenMPOpt transformation pass 2020-02-08 14:47:03 -06:00
opt-O3-pipeline.ll [OpenMP] Introduce the OpenMPOpt transformation pass 2020-02-08 14:47:03 -06:00
opt-Os-pipeline.ll [OpenMP] Introduce the OpenMPOpt transformation pass 2020-02-08 14:47:03 -06:00
opt-bisect-helper.py Python compat - print statement 2019-01-03 14:11:33 +00:00
opt-bisect-legacy-pass-manager.ll [lit, python] Always add quotes around the python path in lit 2018-08-06 22:37:44 +00:00
opt-hot-cold-split.ll [HotColdSplit] Schedule splitting late to fix perf regression 2019-02-15 18:46:44 +00:00
opt-override-frame-pointer.ll llc: Don't overwrite frame-pointer attribute 2020-01-15 20:56:46 -05:00
opt-override-mcpu-mattr.ll llc: Change behavior of -mattr with existing attribute 2020-01-15 19:46:01 -05:00
opt-twice.ll
optimization-remarks-inline.ll Revert "[Support] make report_fatal_error `abort` instead of `exit`" 2020-01-15 17:52:25 -08:00
optimization-remarks-invalidation.ll
optimization-remarks-lazy-bfi.ll
optimize-inrange-gep.ll Prevent Constant Folding From Optimizing inrange GEP 2018-09-11 01:53:36 +00:00
optimize-options.ll
pass-pipeline-parsing.ll [NewPM] Fixing test failure on Windows - removed opt binary name from pattern 2018-10-17 11:01:15 +00:00
pass-pipelines.ll [OpenMP] Introduce the OpenMPOpt transformation pass 2020-02-08 14:47:03 -06:00
pipefail.txt
pr32085.ll
print-debug-counter.ll Actually fix test from r345085 REQUIRE: asserts 2018-10-23 22:07:34 +00:00
print-module-scope.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
print-slotindexes.ll [SlotIndexes] Add print-slotindexes to disable printing slotindexes 2019-08-22 13:44:47 +00:00
printer.ll [PassInstrumentation] Remove excess newline for the new pass manager 2019-11-28 17:20:17 -08:00
scalable-vector-array.ll Scalable Vector IR Type with further LTO fixes 2019-07-05 12:48:16 +00:00
scalable-vector-struct.ll Scalable Vector IR Type with further LTO fixes 2019-07-05 12:48:16 +00:00
scalable-vectors-core-ir.ll [SVE][IR] Scalable Vector size queries and IR instruction support 2019-10-08 12:53:54 +00:00
scc-deleted-printer.ll [NewPM] -print-module-scope -print-after now prints module even after invalidated Loop/SCC 2018-12-21 11:49:05 +00:00
scc-pass-printer.ll Fixing -print-module-scope for legacy SCC passes 2018-12-03 14:48:15 +00:00
size-remarks.ll Make YAML quote forward slashes. 2018-10-12 16:31:20 +00:00
spir_cc.ll
statistic.ll Reland: [Timers] Use the pass argument name for JSON keys in time-passes 2018-06-13 21:03:56 +00:00
time-passes.ll [TimePasses] allow -time-passes reporting into a custom stream 2019-03-15 22:15:23 +00:00
unroll-sroa.ll [NewPM] Add an SROA pass after loop unroll 2019-11-01 14:59:08 -07:00
writing-to-stdout.ll