Progress:
Changes

Changes from Git (git https://github.com/llvm/llvm-project.git)

Summary

  1. [MLIR][LLVM] Move the LLVM inliner interface into a separate file. (details)
  2. [ADT] add ConcurrentHashtable class. (details)
  3. [X86] LowerVectorAllZero - add 512-bit support with AVX512 vptestnmd+kortestw patterns (REAPPLIED) (details)
  4. Silence unused variable warning in NDEBUG builds (details)
  5. Revert "[ADT] add ConcurrentHashtable class." (details)
  6. [AIX][CodeGen] Storage Locations for Constant Pointers (details)
  7. [lldb][AArch64] Fix run-qemu.sh when only MTE is enabled. (details)
  8. [OpenMP] Add notifyDataUnmapped back in disassociatePtr (details)
  9. Enable constexpr class members that are device-mapped to not be optimized out. (details)
  10. [AggressiveInstCombine] Pre-Commit test for D144445 (NFC) (details)
  11. [AggressiveInstCombine] folding load for constant global patterened arrays and structs by alignment (details)
  12. [MSAN] Support load and stores of scalable vector types (details)
  13. [Clang] Fix evaluation of parameters of lambda call operator attributes (details)
  14. [AArch64] Add Missing Custom Target Operands (details)
  15. [HWASAN] Disable unexpected_format_specifier_test because HWASAN doesn't provide a printf interceptor (details)
  16. [HWASAN] Instrument scalable load/store without crashing (details)
  17. [OpenMP][OMPIRBuilder] Make OffloadEntriesInfoManager a member of OpenMPIRBuilder (details)
  18. [lldb] Explicitly set libcxx paths when USE_SYSTEM_STDLIB is provided (details)
  19. [BoundsChecking] Don't crash on scalable vector sizes (details)
  20. [MergeFuncs] Add tests for D144682 (NFC) (details)
  21. [X86] LowerVectorAllZero - lower to CMP(MOVMSK(NOT(X)),0) instead of CMP(MOVMSK(X),65535) (details)
  22. [MemProf] Use stable_sort to avoid non-determinism (details)
  23. [clangd] Add provider info on symbol hover. (details)
  24. [libc] Implement memory fences on NVPTX (details)
  25. [NFC][AArch64] Sort Hints in armv8.3a-signed-pointer.s test (details)
  26. [libc] Fix inline assembly for nvptx quick_exit (details)
  27. [MergeFunc] Don't assume constant metadata operands (details)
  28. [flang] Lowering fir.dispatch in the polymorphic op pass (details)
  29. [ArgPromotion] Remove dead code produced by removing dead arguments (details)
  30. [libc] enable printf using system FILE (details)
  31. [libc] Fix some math conversion warnings (details)
  32. [docs] Document -fomit-frame-pointer (details)
Commit a7c574d0c10ff686cf06d50010d759eaa5a4747b by tobias.gysi
[MLIR][LLVM] Move the LLVM inliner interface into a separate file.

A fully fledged LLVM inliner will require a lot of logic. Since
`LLVMDialect.cpp` is large enough as it is, preemptively outline the
inlining logic into a separate `.cpp` file. This will also allow us to
add a `DEBUG_TYPE` for debugging the inliner.

The name `LLVMInlining` was chosen over `LLVMInlinerInterface` to keep
the option open for exposing inlining functionality even when not
invoked through the `DialectInlinerInterface`.

Depends on D146616

Reviewed By: gysit

Differential Revision: https://reviews.llvm.org/D146628
The file was addedmlir/lib/Dialect/LLVMIR/IR/LLVMInlining.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/CMakeLists.txt
The file was addedmlir/lib/Dialect/LLVMIR/IR/LLVMInlining.h
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
Commit 8482b238062ed7263facea9490f67119e00a037a by a.v.lapshin
[ADT] add ConcurrentHashtable class.

ConcurrentHashTable - is a resizeable concurrent hashtable.
The range of resizings is limited up to x2^32. The hashtable allows only concurrent insertions.

Concurrent hashtable is necessary for the D96035 patch.

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D132455
The file was addedllvm/unittests/ADT/ConcurrentHashtableTest.cpp
The file was modifiedllvm/unittests/ADT/CMakeLists.txt
The file was addedllvm/include/llvm/ADT/ConcurrentHashtable.h
Commit 320969f5058bfffd6517c36771b46ac4a447c7ee by llvm-dev
[X86] LowerVectorAllZero - add 512-bit support with AVX512 vptestnmd+kortestw patterns (REAPPLIED)

Another step toward #53419 - this is also another step towards expanding MatchVectorAllZeroTest to match any pair of vectors and merge EmitAVX512Test into it.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/ptest.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-or-cmp.ll
Commit 8c7c1f11ffaacf762e612c65440fd2cbb58ee426 by benny.kra
Silence unused variable warning in NDEBUG builds

I usually would fold this into the assert, but the comment there
suggests side effects. NFC.

ModuleMap.cpp:938:9: error: unused variable 'MainFile' [-Werror,-Wunused-variable]
  auto *MainFile = SourceMgr.getFileEntryForID(SourceMgr.getMainFileID());
The file was modifiedclang/lib/Lex/ModuleMap.cpp
Commit fd4aeba307ca30da00a8db21a200cc9afcef63c6 by a.v.lapshin
Revert "[ADT] add ConcurrentHashtable class."

This reverts commit 8482b238062ed7263facea9490f67119e00a037a.
The file was removedllvm/unittests/ADT/ConcurrentHashtableTest.cpp
The file was removedllvm/include/llvm/ADT/ConcurrentHashtable.h
The file was modifiedllvm/unittests/ADT/CMakeLists.txt
Commit 4f9929add5369490c9607fc9203761483d2bc916 by qwu
[AIX][CodeGen] Storage Locations for Constant Pointers

This patch adds an `llc` option `-mroptr` to specify storage locations for constant pointers on AIX.

When the `-mroptr` option is specified, constant pointers, virtual function tables, and virtual type tables are placed in read-only storage. Otherwise, by default, pointers, virtual function tables, and virtual type tables are placed are placed in read/write storage.

https://reviews.llvm.org/D144190 enables the `-mroptr` option for `clang`.

Reviewed By: hubert.reinterpretcast, stephenpeckham, myhsu, MaskRay, serge-sans-paille

Differential Revision: https://reviews.llvm.org/D144189
The file was modifiedllvm/tools/llc/llc.cpp
The file was modifiedllvm/include/llvm/Target/TargetOptions.h
The file was modifiedllvm/include/llvm/CodeGen/CommandFlags.h
The file was modifiedllvm/lib/CodeGen/CommandFlags.cpp
The file was addedllvm/test/CodeGen/PowerPC/aix64-xcoff-roptr.ll
The file was modifiedllvm/docs/ReleaseNotes.rst
The file was addedllvm/test/CodeGen/PowerPC/aix-xcoff-roptr.ll
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
Commit 5193c4a8b38c3e61c862d5badf1cace7c26324f7 by david.spickett
[lldb][AArch64] Fix run-qemu.sh when only MTE is enabled.

SVE and MTE both require a CPU with that feature before
you can use the other options, but we only added the "max"
cpu when SVE was enabled too.
The file was modifiedlldb/scripts/lldb-test-qemu/run-qemu.sh
Commit 3ab79124db5e4e1be0b58c4fe43ff01e6fdb3060 by yeluo
[OpenMP] Add notifyDataUnmapped back in disassociatePtr

Fix regression introduced by https://reviews.llvm.org/D123446

Reviewed By: tianshilei1992

Differential Revision: https://reviews.llvm.org/D146689
The file was modifiedopenmp/libomptarget/src/device.cpp
Commit 0eabf59528f3c3f64923900cae740d9f26c45ae8 by doru.bercea
Enable constexpr class members that are device-mapped to not be optimized out.

This patch fixes an issue whereby a constexpr class member which is
mapped to the device is being optimized out thus leading to a runtime
error.

Patch: https://reviews.llvm.org/D146552
The file was addedopenmp/libomptarget/test/offloading/target_constexpr_mapping.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was addedclang/test/OpenMP/declare_target_constexpr_codegen.cpp
Commit c7a3284de3059ecb5940dac19dda897ade0d11b4 by kk.asano.luxy
[AggressiveInstCombine] Pre-Commit test for D144445 (NFC)

Differential Revision: https://reviews.llvm.org/D145355

tweak: test
The file was modifiedllvm/test/Transforms/InstSimplify/load.ll
The file was addedllvm/test/Transforms/AggressiveInstCombine/patterned-load.ll
The file was removedllvm/test/Transforms/InstSimplify/load-patterned-aggregates.ll
Commit 434b0badb5d53138490a075dd945df7480649154 by kk.asano.luxy
[AggressiveInstCombine] folding load for constant global patterened arrays and structs by alignment
Differential Revision: https://reviews.llvm.org/D144445
Reviewed By: nikic

fix: wrong arrow
The file was modifiedllvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
The file was modifiedllvm/test/Transforms/AggressiveInstCombine/patterned-load.ll
Commit 5bcb4c4da99c443fb880d408e5ff4e9b305bbb77 by listmail
[MSAN] Support load and stores of scalable vector types

This adds support for scalable vector types - at least far enough to get basic load and store cases working. It turns out that load/store without origin tracking already worked; I apparently got that working with one of the pre patches to use TypeSize utilities and didn't notice. The code changes here are required to enable origin tracking.

For origin tracking, a 4 byte value - the origin - is broadcast into a shadow region whose size exactly matches the type being accessed. This origin is only written if the shadow value is non-zero. The details of how shadow is computed from the original value being stored aren't relevant for this patch.

The code changes involve two related primitives.

First, we need to be able to perform that broadcast into a scalable sized memory region. This requires the use of a loop, and appropriate bound. The fixed size case optimizes with larger stores and alignment; I did not bother with that for the scalable case for now. We can optimize this codepath later if desired.

Second, we need a way to test if the shadow is zero. The mechanism for this in the code is to convert the shadow value into a scalar, and then zero check that. There's an assumption that this scalar is zero exactly when all elements of the shadow value are zero. As a result, we use an OR reduction on the scalable vector. This is analogous to how e.g. an array is handled. I landed a bunch of cleanup changes to remove other direct uses of the scalar conversion to convince myself there were no other undocumented invariants.

Differential Revision: https://reviews.llvm.org/D146157
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
The file was modifiedllvm/test/Instrumentation/MemorySanitizer/vector-load-store.ll
Commit 82c83d7e41053b72fc0dc84de9b8bee71986ffc3 by corentinjabot
[Clang] Fix evaluation of parameters of lambda call operator attributes

Fix a regresion introduced by D124351.
Attributes of lambda call operator were evaluated in the
context of the closure object type rather than its operator,
causing an assertion failure.

This was because we temporarily switch to the class lambda to
produce the mangling of the lambda, but we stayed in that
context too long.

Reviewed By: eandrews, aaron.ballman

Differential Revision: https://reviews.llvm.org/D146535
The file was modifiedclang/lib/Sema/SemaLambda.cpp
The file was modifiedclang/test/SemaCXX/lambda-expressions.cpp
Commit 61944469625d4b3ba4a87f4f8fffefb73e9f8cdc by archibald.elliott
[AArch64] Add Missing Custom Target Operands

I noticed, when examining the generated Asm Matcher table, that some of
these custom immediate operands are missing, and so we are not parsing
some hint aliases into the correct MCInst.

Where this becomes apparent is when you parse e.g. `hint #7` into an
MCInst - without these cases, it becomes the MCInst `(HINT 17)`, which
will always be printed as `hint #17`. With these cases, it becomes the
MCInst `XPACLRI`, which will be printed as `xpaclri` with pauth, or
`hint #17` without, matching how `xpaclri` is parsed.

We only handle some specific hint aliases in this manner, usually where
these hints have specific effects that need to be modelled for accurate
code-generation. Otherwise, we just use the normal `InstAlias` system
to have the aliases parsed into a `(HINT N)` MCInst.

Differential Revision: https://reviews.llvm.org/D146630
The file was modifiedllvm/test/MC/AArch64/armv8.3a-signed-pointer.s
The file was modifiedllvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
Commit f570bd8f6322fab18df5099786683a813f9e7a08 by kstoimenov
[HWASAN] Disable unexpected_format_specifier_test because HWASAN doesn't provide a printf interceptor

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D146647
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/unexpected_format_specifier_test.cpp
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/mprobe.cpp
Commit 5eb9acf9be3cee01ea95448fa8b1e00e3c01868a by listmail
[HWASAN] Instrument scalable load/store without crashing

We can simply push them down the existing call slowpath with some minor changes to how we compute the size argument.
The file was addedllvm/test/Instrumentation/HWAddressSanitizer/vector-load-store.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
Commit 85faee69928b1eeb74a0d74f374a1c74ddf236dd by jan_sjodin
[OpenMP][OMPIRBuilder] Make OffloadEntriesInfoManager a member of OpenMPIRBuilder

This patch adds the OffloadEntriesInfoManager to the OpenMPIRBuilder, and
allows the OffloadEntriesInfoManager to access the Configuration in the
OpenMPIRBuilder.  With the shared Config there is no risk for inconsistencies,
and there is no longer the need for clang to have a separate
OffloadEntriesInfoManager.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D146549
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.h
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
The file was modifiedllvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedllvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
Commit c640a146c4caa3cca559e308e2e7ecc78c45140d by Felipe de Azevedo Piovezan
[lldb] Explicitly set libcxx paths when USE_SYSTEM_STDLIB is provided

For tests marked as "USE_SYSTEM_STDLIB", the expectation is that the
system's standard library should be used. However, the implementation of
this flag is such that we simply don't pass _any_ libcxxx-related flags
to Clang; in turn, Clang will use its defaults.

For a Clang/Libcxx pair compiled together, Clang defaults to:
1. The headers of the sibling libcxx.
2. The libraries of the system.

This mismatch is actually a bug in the driver; once fixed, however, (2)
would point to the sibling libcxx as well, which is _not_ what test
authors intended with the USE_SYSTEM_STDLIB flag.

As such, this patch explicitly sets a path to the system's libraries.
This change is done only in Apple platforms so that we can test this
works in this case first.

Differential Revision: https://reviews.llvm.org/D146714
The file was modifiedlldb/packages/Python/lldbsuite/test/make/Makefile.rules
Commit 2cfd06ba672f4e3097b6c2c576bdb876d37c71d1 by listmail
[BoundsChecking] Don't crash on scalable vector sizes
The file was modifiedllvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
The file was modifiedllvm/test/Instrumentation/BoundsChecking/simple.ll
Commit 16b6826bdd6e5cc02844c10bd1f9af388a6ffed8 by npopov
[MergeFuncs] Add tests for D144682 (NFC)

I forgot to git add this test when committing the change.
The file was addedllvm/test/Transforms/MergeFunc/mergefunc-preserve-nonnull.ll
Commit ec294d2f8f1839e11c13ee32279cd28c1f46f66f by llvm-dev
[X86] LowerVectorAllZero - lower to CMP(MOVMSK(NOT(X)),0) instead of CMP(MOVMSK(X),65535)

In most cases the NOT will still be scalarized, but it allows us to perform the CMP(X,0) combines inside combineCMP()
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-or-cmp.ll
The file was modifiedllvm/test/CodeGen/X86/ptest.ll
The file was modifiedllvm/test/CodeGen/X86/pr45378.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit dc2f2d2180f1d1a1835dc55478d3bcceea41a4b1 by tejohnson
[MemProf] Use stable_sort to avoid non-determinism

Switch from std::sort to std::stable_sort when sorting callsites to
avoid non-determinism when the comparisons are equal. This showed up in
internal testing of fe27495be2040007c7b20844a9371b06156ab405.
The file was modifiedllvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Commit 2bececb8bed1f8fcd8d54dba831ceb117717bfcc by bakalova
[clangd] Add provider info on symbol hover.

Differential Revision: https://reviews.llvm.org/D144976
The file was modifiedclang-tools-extra/clangd/Hover.cpp
The file was modifiedclang-tools-extra/clangd/Hover.h
The file was modifiedclang-tools-extra/include-cleaner/lib/AnalysisInternal.h
The file was modifiedclang-tools-extra/clangd/IncludeCleaner.h
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
The file was modifiedclang-tools-extra/clangd/IncludeCleaner.cpp
The file was modifiedclang-tools-extra/clangd/Preamble.cpp
The file was modifiedclang-tools-extra/include-cleaner/include/clang-include-cleaner/Analysis.h
Commit 9c8bdbcbc502fac7d7d8da5c848cec448daf26ae by jhuber6
[libc] Implement memory fences on NVPTX

Memory fences are not handled by the NVPTX backend. We need to replace
them with a memory barrier intrinsic function. This doesn't include the
ordering, but should perform the necessary functionality, albeit slower.

Reviewed By: tianshilei1992

Differential Revision: https://reviews.llvm.org/D146725
The file was modifiedlibc/src/__support/CPP/atomic.h
Commit 5525087e4c7bdedea3935fd08ee99ac3ba53a5b2 by archibald.elliott
[NFC][AArch64] Sort Hints in armv8.3a-signed-pointer.s test
The file was modifiedllvm/test/MC/AArch64/armv8.3a-signed-pointer.s
Commit e33f8ac9d8b3bd8b376d2306c3988381309b68eb by jhuber6
[libc] Fix inline assembly for nvptx quick_exit

Summary:
The `exit` function in NVPTX has no intrinsic, but the assembly requires
a semicolon in the ptx, otherwise it will fail.
The file was modifiedlibc/src/__support/OSUtil/gpu/quick_exit.cpp
Commit 2f5fdbfab8c63047bd4ebef154258868065168b3 by npopov
[MergeFunc] Don't assume constant metadata operands

We should not call mdconst::extract, unless we know that the
metadata in question is ConstantAsMetadata.

For now we consider all other metadata as equal. The noalias test
shows that this is not correct, but at least it doesn't crash
anymore.
The file was modifiedllvm/lib/Transforms/Utils/FunctionComparator.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/FunctionComparator.h
The file was modifiedllvm/test/Transforms/MergeFunc/mergefunc-preserve-nonnull.ll
Commit 4c5dee7773dcc5ec1b7485dfba5ce5baa2355b2f by rkauffmann
[flang] Lowering fir.dispatch in the polymorphic op pass
Differential revision: https://reviews.llvm.org/D146594
The file was modifiedflang/test/Fir/dispatch.f90
The file was modifiedflang/lib/Semantics/runtime-type-info.cpp
The file was modifiedflang/lib/Optimizer/CodeGen/CodeGen.cpp
The file was modifiedflang/include/flang/Semantics/runtime-type-info.h
The file was modifiedflang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
The file was modifiedflang/test/Lower/allocatable-polymorphic.f90
Commit 7739be7c6b6d017bf6b4445c5010e59314655995 by jeffrey.byrnes
[ArgPromotion] Remove dead code produced by removing dead arguments

ArgPromotion currently produces phantom / dead loads. A good example of this is store-into-inself.ll. First, ArgPromo finds the promotable argument %p in @l. Then it inserts a load of %p in the caller, and passes instead the loaded value / transforms the function body. PromoteMem2Reg is able to optimize out the entire function body, resulting in an unused argument. In a subsequent ArgPromotion pass, it removes the dead argument, resulting in a dead load in the caller. These dead loads may reduce effectiveness of other transformations (e.g. SimplifyCFG, MergedLoadStoreMotion).

This patch removes loads and geps that are made dead in the caller after removal of dead args.

Differential Revision: https://reviews.llvm.org/D146327
The file was modifiedllvm/test/Transforms/PhaseOrdering/dce-after-argument-promotion-loads.ll
The file was modifiedllvm/lib/Transforms/IPO/ArgumentPromotion.cpp
The file was modifiedllvm/test/Transforms/ArgumentPromotion/propagate-remove-dead-args.ll
The file was modifiedllvm/test/Transforms/ArgumentPromotion/store-into-inself.ll
Commit de939c6cd80c1e88913f1ef12be11aea501eb89b by michaelrj
[libc] enable printf using system FILE

The printf and fprintf implementations use our internal implementation
to improve performance when it's available, but this patch enables using
the public FILE API for overlay mode.

Reviewed By: sivachandra, lntue

Differential Revision: https://reviews.llvm.org/D146001
The file was modifiedlibc/test/src/stdio/CMakeLists.txt
The file was removedlibc/src/stdio/printf_core/vfprintf_internal.cpp
The file was modifiedlibc/src/stdio/printf.cpp
The file was modifiedlibc/src/stdio/printf_core/file_writer.h
The file was modifiedlibc/src/stdio/printf_core/vfprintf_internal.h
The file was modifiedlibc/src/stdio/fprintf.cpp
The file was modifiedlibc/src/stdio/printf_core/CMakeLists.txt
The file was modifiedlibc/config/linux/x86_64/entrypoints.txt
The file was modifiedlibc/src/stdio/CMakeLists.txt
The file was modifiedlibc/test/src/stdio/fprintf_test.cpp
The file was removedlibc/src/stdio/printf_core/file_writer.cpp
Commit 7d11a592c5adc286bf1845c20b20965d5e999039 by abrachet
[libc] Fix some math conversion warnings

Differential Revision: https://reviews.llvm.org/D146738
The file was modifiedlibc/src/math/generic/log1pf.cpp
The file was modifiedlibc/src/math/generic/acoshf.cpp
The file was modifiedlibc/src/math/generic/tanhf.cpp
The file was modifiedlibc/src/math/generic/exp10f.cpp
The file was modifiedlibc/src/__support/FPUtil/NearestIntegerOperations.h
The file was modifiedlibc/src/math/generic/exp2f.cpp
The file was modifiedlibc/src/math/generic/asinf.cpp
The file was modifiedlibc/src/math/generic/sinhf.cpp
The file was modifiedlibc/src/math/generic/sincosf.cpp
The file was modifiedlibc/src/math/generic/coshf.cpp
The file was modifiedlibc/src/math/generic/cosf.cpp
The file was modifiedlibc/src/math/generic/log10.cpp
The file was modifiedlibc/src/math/generic/tanf.cpp
The file was modifiedlibc/src/math/generic/acosf.cpp
The file was modifiedlibc/src/math/generic/atanhf.cpp
The file was modifiedlibc/src/math/generic/sinf.cpp
The file was modifiedlibc/src/__support/FPUtil/ManipulationFunctions.h
The file was modifiedlibc/src/math/generic/atanf.cpp
The file was modifiedlibc/src/math/generic/asinhf.cpp
Commit 5f883cdbfbe216ec184194114676075f3633e08b by i
[docs] Document -fomit-frame-pointer

Close #61322

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D146603
The file was modifiedclang/include/clang/Driver/Options.td