Changes

Summary

  1. Avoid building the entire tree and testing LLVM itself on MLIR builders (details)
Commit fbdda46df1702d87909e66856796ffaefb5c0b41 by joker.eph
Avoid building the entire tree and testing LLVM itself on MLIR builders

This reduces the amount of targets to build and tests. The build gets faster (see below) but
the main motivation right now is to not get notified by an mlir-* bot when there is a failure
in a LLVM test (there are enough other bots to cover these).

Build time gain is hard to evaluate because it is highly dependent on the machine.
Below are the results on my Linux machine (with the same cmake config as the
win-mlir-buildbot, so no python tests):
```
$ time ninja check-mlir -j 16
894.323 [0/1/2803] Running the MLIR regression tests

Testing Time: 98.80s
  Unsupported      : 163
  Passed           : 927
  Expectedly Failed:   1

real 16m41.103s
user 188m17.260s
sys 23m22.081s
```

After that, adding `ninja -j 16` results in an added:

```
$ time ninja -j 16
441.094 [0/1/767] Linking CXX executable bin/SpeculativeJIT

real 7m21.771s
user 86m25.291s
sys 15m5.505s
```

So it is ~1/3 of the build time that we're saving here.

Differential Revision: https://reviews.llvm.org/D110187
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)

Summary

  1. [OpenMP][Offloading] Use bitset to indicate execution mode instead of value (details)
  2. [libc++] Disallow volatile types in std::allocator (details)
  3. [InstCombine] Update InstCombine to use poison instead of undef for shufflevector's placeholder (3/3) (details)
  4. [SLP] getReductionCost - use explicit TTI::TCK_RecipThroughput CostKind. NFCI. (details)
  5. [ORC] Re-enable ELF DebugObjectManagerPlugin tests (details)
  6. [CodeGen] Remove redundant declaration MIRCanonicalizerID (NFC) (details)
  7. [SLP][NFC]Add a test to show an issue with incorrectly extracted (details)
  8. [CSSPGO] Set PseudoProbeInserter as a default pass. (details)
  9. [NFC] clang-format -i llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp (details)
  10. [RISCV] Optimize vp.store with an all ones mask to avoid a vmset. (details)
  11. [mlir][sparse] replace ad-hoc MemRef struct with CRunnerUtils definition (details)
  12. [OpenMP] Add function tracing debugging to device RTL (details)
  13. [ORC] DebugObjectManagerPlugin tests can use lli in ORC greedy mode (details)
  14. [HWASan] Use a single .weak binding in asm. (details)
  15. [libc] Add an implementation of bsearch. (details)
  16. [SimplifyCFG] Ignore free instructions when computing cost for folding branch to common dest (details)
  17. Add document numbers for the C99 status page. (details)
  18. [NFCI][CodeGen, AArch64] Fix inconsistent TargetCostKind types. (details)
  19. [llvm-profgen] An option to dump disasm of specified symbols (details)
  20. [mlir][linalg] Fix interchange initialization in fusion on tensors. (details)
  21. Don't diagnose unused but set when the Cleanup attribute is used. (details)
  22. [Analysis] improve function matching for strlen libcall (details)
  23. Change error for storage-class to mean linkage, fix lang-linkage diag (details)
  24. Mark CFG as preserved in TypePromotion and InterleaveAccess passes (details)
  25. [lldb] Remove IRExecutionUnit::CollectFallbackNames (details)
  26. DebugInfo: Add (initially no-op) -gsimple-template-names={simple,mangled} (details)
  27. [OpenMP] Fix KeepAlive usage (details)
Commit ca999f719117f916b333a794cc8c59984ae40dd2 by tianshilei1992
[OpenMP][Offloading] Use bitset to indicate execution mode instead of value

The execution mode of a kernel is stored in a global variable, whose value means:
- 0 - SPMD mode
- 1 - indicates generic mode
- 2 - SPMD mode execution with generic mode semantics

We are going to add support for SIMD execution mode. It will be come with another
execution mode, such as SIMD-generic mode. As a result, this value-based indicator
is not flexible.

This patch changes to bitset based solution to encode execution mode. Each
position is:
[0] - generic mode
[1] - SPMD mode
[2] - SIMD mode (will be added later)

In this way, `0x1` is generic mode, `0x2` is SPMD mode, and `0x3` is SPMD mode
execution with generic mode semantics. In the future after we add the support for
SIMD mode, `0b1xx` will be in SIMD mode.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D110029
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_proc_bind_codegen.cpp
The file was modifiedopenmp/libomptarget/plugins/cuda/CMakeLists.txt
The file was modifiedllvm/test/Transforms/OpenMP/spmdization_guarding.ll
The file was modifiedllvm/test/Transforms/OpenMP/is_spmd_exec_mode_fold.ll
The file was modifiedllvm/test/Transforms/OpenMP/spmdization.ll
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
The file was modifiedllvm/test/Transforms/OpenMP/spmdization_assumes.ll
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_simd_codegen.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPConstants.h
The file was modifiedopenmp/libomptarget/plugins/cuda/src/rtl.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_simd_codegen.cpp
The file was modifiedllvm/test/Transforms/OpenMP/get_hardware_num_threads_in_block_fold.ll
Commit 400b33e18d27d801ec5ad1cc52b34c6d8bed64aa by joeloser93
[libc++] Disallow volatile types in std::allocator

LWG 2447 is marked as `Complete`, but there is no `static_assert` to
reject volatile types in `std::allocator`. See the discussion at
https://reviews.llvm.org/D108856.

Add `static_assert` in `std::allocator` to disallow volatile types. Since this
is an implementation choice, mark the binding test as `libc++` only.

Remove tests that use containers backed by `std::allocator` that test
the container when used with a volatile type.

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D109056
The file was removedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared.volatile.pass.cpp
The file was modifiedlibcxx/TODO.TXT
The file was addedlibcxx/test/libcxx/memory/allocator_volatile.verify.cpp
The file was modifiedlibcxx/test/std/concepts/concepts.lang/concept.default.init/default_initializable.compile.pass.cpp
The file was modifiedlibcxx/include/__memory/allocator.h
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared.pass.cpp
Commit 98e96663f6a77ee06c5db3f25cdcf19b56ac8f04 by gusrb406
[InstCombine] Update InstCombine to use poison instead of undef for shufflevector's placeholder (3/3)

This patch is for fixing potential shufflevector-related bugs like D93818.
As D93818, this patch change shufflevector's default placeholder to poison.
To reduce risk, it was divided into several patches, and this patch is for InstCombineVectorOps.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D110230
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
The file was modifiedllvm/test/Transforms/InstCombine/X86/x86-avx512-inseltpoison.ll
The file was modifiedllvm/test/Transforms/InstCombine/X86/x86-avx512.ll
The file was modifiedllvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
The file was modifiedclang/test/CodeGen/aarch64-bf16-ldst-intrinsics.c
The file was modifiedllvm/test/Transforms/InstCombine/broadcast.ll
The file was modifiedllvm/test/Transforms/InstCombine/insert-extract-shuffle-inseltpoison.ll
The file was modifiedllvm/test/Transforms/InstCombine/reduction-shufflevector.ll
The file was modifiedllvm/test/Transforms/InstCombine/vec_demanded_elts.ll
The file was modifiedllvm/test/Transforms/InstCombine/shuffle-cast-dist.ll
The file was modifiedllvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
The file was modifiedllvm/test/Transforms/InstCombine/X86/x86-f16c-inseltpoison.ll
The file was modifiedllvm/test/Transforms/InstCombine/vec_shuffle.ll
The file was modifiedclang/test/CodeGen/aarch64-neon-dot-product.c
The file was modifiedllvm/test/Transforms/InstCombine/obfuscated_splat.ll
The file was modifiedllvm/test/Transforms/InstCombine/insert-extract-shuffle.ll
The file was modifiedllvm/test/Transforms/InstCombine/trunc-inseltpoison.ll
The file was modifiedllvm/test/Transforms/InstCombine/broadcast-inseltpoison.ll
The file was modifiedllvm/test/Transforms/InstCombine/obfuscated_splat-inseltpoison.ll
The file was modifiedllvm/test/Transforms/InstCombine/trunc.ll
The file was modifiedclang/test/CodeGen/arm-neon-dot-product.c
The file was modifiedllvm/test/Transforms/InstCombine/X86/x86-f16c.ll
Commit 8a44281f478fb0b62ea2d09f10b13643f774cdab by llvm-dev
[SLP] getReductionCost - use explicit TTI::TCK_RecipThroughput CostKind. NFCI.

Avoid relying on the default cost kinds in TTI calls (we already do this in other places in SLP) - noticed while trying to see how much work it'd be to extend D110242 and remove all remaining uses of default CostKind arguments.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 506dbd88fe8f1d3ac43457a9bb960c4745368886 by Stefan Gränitz
[ORC] Re-enable ELF DebugObjectManagerPlugin tests

These tests were disabled by accident after D107640. Actually, REQUIRES lines don't support `x86_64` and so these tests stopped running on all targets.
`native && target-x86_64` should be the correct term to express "x86_64 host targeting native arch".
The file was modifiedllvm/test/ExecutionEngine/OrcLazy/debug-objects-elf-minimal.ll
The file was modifiedllvm/test/ExecutionEngine/OrcLazy/debug-descriptor-elf-minimal.ll
Commit 3c557cd7f9a5d71a763a12027f18de66f6360562 by kazu
[CodeGen] Remove redundant declaration MIRCanonicalizerID (NFC)

Note that MIRCanonicalizerID is declared in
llvm/include/llvm/CodeGen/Passes.h, which MIRCanonicalizerPass.cpp
includes.

Identified with readability-redundant-declaration.
The file was modifiedllvm/lib/CodeGen/MIRCanonicalizerPass.cpp
Commit 173dd896db976d1e975a2a5d844fc09238884277 by a.bataev
[SLP][NFC]Add a test to show an issue with incorrectly extracted
pointers.
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll
Commit d9b511d8e8c43f79e0e277be287656693dd6563f by hoy
[CSSPGO] Set PseudoProbeInserter as a default pass.

Currenlty PseudoProbeInserter is a pass conditioned on a target switch. It works well with a single clang invocation. It doesn't work so well when the backend is called separately (i.e, through the linker or llc), where user has always to pass -pseudo-probe-for-profiling explictly. I'm making the pass a default pass that requires no command line arg to trigger, but will be actually run depending on whether the CU comes with `llvm.pseudo_probe_desc` metadata.

Reviewed By: wenlei

Differential Revision: https://reviews.llvm.org/D110209
The file was modifiedllvm/test/CodeGen/X86/opt-pipeline.ll
The file was modifiedlld/test/ELF/lto/pseudo-probe-lto.ll
The file was modifiedllvm/lib/CodeGen/PseudoProbeInserter.cpp
The file was modifiedllvm/lib/CodeGen/CommandFlags.cpp
The file was modifiedllvm/include/llvm/Target/TargetOptions.h
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedllvm/test/Transforms/SampleProfile/pseudo-probe-emit-inline.ll
The file was modifiedllvm/test/Transforms/SampleProfile/pseudo-probe-instsched.ll
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedllvm/test/Transforms/SampleProfile/pseudo-probe-dangle.ll
The file was modifiedlld/ELF/Options.td
The file was modifiedllvm/lib/CodeGen/TargetPassConfig.cpp
The file was modifiedllvm/include/llvm/CodeGen/CommandFlags.h
The file was modifiedllvm/test/tools/llvm-profgen/truncated-pseudoprobe.test
The file was modifiedlld/ELF/LTO.cpp
The file was modifiedllvm/test/Transforms/SampleProfile/pseudo-probe-emit.ll
The file was modifiedlld/ELF/Config.h
The file was modifiedllvm/lib/Target/X86/X86TargetMachine.cpp
The file was modifiedllvm/test/CodeGen/X86/O0-pipeline.ll
Commit b205b3300b2f3b18bf82771f761eb8e6794f3e32 by tianshilei1992
[NFC] clang-format -i llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
The file was modifiedllvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Commit b33a1cc05b4800ae9e8c7df097c4a76c9da28c94 by craig.topper
[RISCV] Optimize vp.store with an all ones mask to avoid a vmset.

We can use riscv_vse intrinsic instead of riscv_vse_mask. The code here
is based on similar code for handling masked.scatter and vp.scatter.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D110206
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpstore.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vpstore.ll
Commit 56bddf3b1c035043c2568efaa8aa37f6fa87f9f1 by ajcbik
[mlir][sparse] replace ad-hoc MemRef struct with CRunnerUtils definition

This revision removes the ad-hoc MemRefs that were needed using the old
ABI (when we still passed by value) and replaces them with the shared
StridedMemRef definitions of CRunnerUtils (possible now that we pass by
pointer). This avoids code duplication and makes sure we have a consistent
view of strided memory references in all our support libraries.

Reviewed By: jsetoain

Differential Revision: https://reviews.llvm.org/D110221
The file was modifiedmlir/lib/ExecutionEngine/SparseUtils.cpp
Commit 277b681edec2ee4394c7e62a118ad21b2cbbb227 by jhuber6
[OpenMP] Add function tracing debugging to device RTL

This patch adds support for an RAII struct that will print function
traces when placed inside of a function declaration. Each successive
call will increase the indentation to make it easier to visually
inspect.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D110202
The file was modifiedopenmp/libomptarget/DeviceRTL/src/Configuration.cpp
The file was modifiedopenmp/libomptarget/DeviceRTL/include/Configuration.h
The file was modifiedopenmp/libomptarget/DeviceRTL/src/Debug.cpp
The file was modifiedopenmp/libomptarget/DeviceRTL/include/Debug.h
Commit 2131eb696386241e77f257ccc57e1a7955869971 by Stefan Gränitz
[ORC] DebugObjectManagerPlugin tests can use lli in ORC greedy mode

Initially, lli only supported lazy mode for ORC. Greedy mode was added with e1579894d205 and it's the default setting now. DebugObjectManagerPlugin tests don't rely on laziness, so we can switch them to greedy in order to avoid some unnecessary complexity.
The file was modifiedllvm/test/ExecutionEngine/OrcLazy/debug-descriptor-elf-minimal.ll
The file was modifiedllvm/test/ExecutionEngine/OrcLazy/debug-objects-elf-minimal.ll
Commit 1aedf77ece6bc9a1fc70453d4603280bde6ebf1f by mascasa
[HWASan] Use a single .weak binding in asm.

Specifying .global and .weak causes a compiler warning:

  warning: __sigsetjmp changed binding to STB_WEAK

Specifying only .weak should have the same effect without causing a
warning.

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D110178
The file was modifiedcompiler-rt/lib/hwasan/hwasan_setjmp_x86_64.S
The file was modifiedcompiler-rt/lib/hwasan/hwasan_setjmp_aarch64.S
Commit 32a50078657dd8beead327a3478ede4e9d730432 by sivachandra
[libc] Add an implementation of bsearch.

Reviewed By: michaelrj

Differential Revision: https://reviews.llvm.org/D110222
The file was modifiedlibc/spec/spec.td
The file was modifiedlibc/config/linux/aarch64/entrypoints.txt
The file was addedlibc/src/stdlib/bsearch.cpp
The file was addedlibc/test/src/stdlib/bsearch_test.cpp
The file was addedlibc/src/stdlib/bsearch.h
The file was modifiedlibc/spec/stdc.td
The file was modifiedlibc/config/linux/api.td
The file was modifiedlibc/config/linux/x86_64/entrypoints.txt
The file was modifiedlibc/src/stdlib/CMakeLists.txt
The file was modifiedlibc/test/src/stdlib/CMakeLists.txt
Commit e7249e4acf3cf9438d6d9e02edecebd5b622a4dc by aeubanks
[SimplifyCFG] Ignore free instructions when computing cost for folding branch to common dest

When determining whether to fold branches to a common destination by
merging two blocks, SimplifyCFG will count the number of instructions to
be moved into the first basic block. However, there's no reason to count
free instructions like bitcasts and other similar instructions.

This resolves missed branch foldings with -fstrict-vtable-pointers in
llvm-test-suite's lambda benchmark.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D108837
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest-free-cost.ll
The file was modifiedllvm/test/CodeGen/AArch64/csr-split.ll
Commit fe16d331d345acfb06a01da15100d5899efb0c51 by aaron
Add document numbers for the C99 status page.

This doesn't add all of the document numbers, but it adds a bunch of
them. Not all of the documents are available on the committee page
(they're old enough that they come from a time when the mailing was
comprised of physical pieces of paper), so some of the documents listed
are assumed to be correct based on my reading of editor's reports.
The file was modifiedclang/www/c_status.html
Commit 1a7b7d7ba23232fe27c996e1731da7099859569c by daniil.fukalov
[NFCI][CodeGen, AArch64] Fix inconsistent TargetCostKind types.

The pass uses different cost kinds to estimate "old" and "interleaved" costs:
default cost kind for all targets override `getInterleavedMemoryOpCost()` is
`TCK_SizeAndLatency`. Although at the moment estimated `TCK_Latency` costs are
equal to `TCK_SizeAndLatency`, (so the change is NFC) it may change in future.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D110100
The file was modifiedllvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
Commit 734f4d832cd2d3a9520d2384c98e1429b53e0238 by hoy
[llvm-profgen] An option to dump disasm of specified symbols

For large app, dumping disasm of the whole program can be slow and result in gianant output. Adding a switch to dump specific symbols only.

Reviewed By: wlei

Differential Revision: https://reviews.llvm.org/D110079
The file was modifiedllvm/test/tools/llvm-profgen/pseudoprobe-decoding.test
The file was modifiedllvm/tools/llvm-profgen/ProfiledBinary.cpp
The file was modifiedllvm/tools/llvm-profgen/ProfiledBinary.h
Commit e828655313db901c733bf4bab6ac78c18833d765 by gysit
[mlir][linalg] Fix interchange initialization in fusion on tensors.

If no interchange vector is given initialize it with the identity permutation from 0 to number of loops.

Reviewed By: mravishankar

Differential Revision: https://reviews.llvm.org/D110249
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp
Commit af99236747872af7e77092cbf6ddd18fa8623a2f by mbenfield
Don't diagnose unused but set when the Cleanup attribute is used.

This applies to -Wunused-but-set-variable and
-Wunused-but-set-parameter.

This addresses bug 51865.

Differential Revision: https://reviews.llvm.org/D109862
The file was modifiedclang/test/Sema/warn-unused-but-set-variables.c
The file was modifiedclang/lib/Sema/SemaDecl.cpp
Commit c240169ff2e416f2652a5d3a80a83ef68ab7fa23 by spatel
[Analysis] improve function matching for strlen libcall

The return type of strlen is size_t, not just any integer.

This is a partial fix for an example based on:
https://llvm.org/PR50836

There's another bug here because we can still crash
processing a real strlen or something that looks like it.
The file was modifiedllvm/test/Transforms/InstCombine/simplify-libcalls.ll
The file was modifiedllvm/lib/Analysis/TargetLibraryInfo.cpp
The file was modifiedllvm/test/Transforms/InstCombine/call-callconv.ll
Commit 97b2f20a446e54f4354d8f950dfab62c37e6ddf4 by erich.keane
Change error for storage-class to mean linkage, fix lang-linkage diag

Allow multiversioning declarations to match when the actual formal
linkage matches, not just when the storage class is identical.
Additionally, change the ambiguous 'linkage' mismatch to be more
specific and say 'language linkage'.
The file was modifiedclang/test/SemaCXX/attr-cpuspecific.cpp
The file was modifiedclang/test/SemaCXX/attr-target-mv.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Sema/SemaDecl.cpp
Commit c49611f9097899e51a91ddc71eb295486f5271ea by david.green
Mark CFG as preserved in TypePromotion and InterleaveAccess passes

Neither of these passes modify the CFG, allowing us to preserve DomTree
and LoopInfo across them by using setPreservesCFG.

Differential Revision: https://reviews.llvm.org/D110161
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll
The file was modifiedllvm/lib/CodeGen/TypePromotion.cpp
The file was modifiedllvm/lib/CodeGen/InterleavedAccessPass.cpp
Commit 43552651319e1c39c09ce0f61b588813414cebda by apl
[lldb] Remove IRExecutionUnit::CollectFallbackNames

The work that IRExecutionUnit::CollectFallbackNames is basically the
work that `CPlusPlusLanguage::GetDemangledFunctionNameWithoutArguments`
does already. It's also (at time or writing) specific to C++, so it can
be folded into `IRExecutionUnit::CollectCandidateCPlusPlusNames`.

Differential Revision: https://reviews.llvm.org/D109928
The file was modifiedlldb/source/Expression/IRExecutionUnit.cpp
The file was modifiedlldb/include/lldb/Expression/IRExecutionUnit.h
Commit 38c09ea2d279eddddabe3602e2002f8cdfcc5380 by dblaikie
DebugInfo: Add (initially no-op) -gsimple-template-names={simple,mangled}

This is to build the foundation of a new debug info feature to use only
the base name of template as its debug info name (eg: "t1" instead of
the full "t1<int>"). The intent being that a consumer can still retrieve
all that information from the DW_TAG_template_*_parameters.

So gno-simple-template-names is business as usual/previously ("t1<int>")
   =simple is the simplified name ("t1")
   =mangled is a special mode to communicate the full information, but
   also indicate that the name should be able to be simplified. The data
   is encoded as "_STNt1|<int>" which will be matched with an
   llvm-dwarfdump --verify feature to deconstruct this name, rebuild the
   original name, and then try to rebuild the simple name via the DWARF
   tags - then compare the latter and the former to ensure that all the
   data necessary to fully rebuild the name is present.
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/include/clang/Basic/DebugInfoOptions.h
The file was modifiedclang/test/Driver/debug-options.c
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
Commit 60a40cf37904f6496ad038be5f494e3c37a7d1bb by jhuber6
[OpenMP] Fix KeepAlive usage

Summary:
Functions were called the wrong way around, this didn't keep the symbol
alive.
The file was modifiedopenmp/libomptarget/DeviceRTL/include/Utils.h
The file was modifiedopenmp/libomptarget/DeviceRTL/src/Utils.cpp
The file was modifiedopenmp/libomptarget/DeviceRTL/src/Mapping.cpp