Commit
4225e7fa34febac6da8c9151bd69f998a6a1d7df
by clementval[mlir][openacc] Introduce OpenACC dialect with parallel, data, loop operations
This patch introduces the OpenACC dialect with three operation defined parallel, data and loop operations with custom parsing and printing.
OpenACC dialect RFC can be find here: https://llvm.discourse.group/t/rfc-openacc-dialect/546/2
Reviewed By: rriddle, kiranchandramohan
Differential Revision: https://reviews.llvm.org/D84268
|
 | mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp |
 | mlir/test/Dialect/OpenACC/ops.mlir |
 | mlir/include/mlir/IR/DialectSymbolRegistry.def |
 | mlir/include/mlir/Dialect/CMakeLists.txt |
 | mlir/include/mlir/Dialect/OpenACC/OpenACC.h |
 | mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td |
 | mlir/lib/Dialect/OpenACC/CMakeLists.txt |
 | mlir/include/mlir/Dialect/OpenACC/CMakeLists.txt |
 | mlir/lib/Dialect/CMakeLists.txt |
 | mlir/include/mlir/InitAllDialects.h |
Commit
82057e3f39e624dbaa5bbd7497c359f704347f6f
by thakisclang: Fix minor grammar-o in diag added in c354b2e3b
|
 | clang/test/SemaCXX/elaborated-type-specifier.cpp |
 | clang/test/SemaCXX/pointer-forward-declared-class-conversion.cpp |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | clang/test/Modules/namespaces.cpp |
Commit
cd3b850a4c8eb7871f2cefb47b1274e734ad92f6
by llvm-devrG9bd97d0363987b582 - Revert "[X86][SSE] Fold HOP(SHUFFLE(X),SHUFFLE(Y)) --> SHUFFLE(HOP(X,Y))"
This reverts commit 9bd97d0363987b582e4a92b354b02e86ac068407.
Seeing some codegen issues in internal testing.
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/haddsub-undef.ll |
 | llvm/test/CodeGen/X86/haddsub-shuf.ll |
Commit
63863451d18b3ef590cba9916e1bec181ad252e7
by llvm-devFix unused variable warning. NFC.
Reduce the dyn_cast<> to a isa<> as that's all non-assert builds require, and move the cast<> inside the assert.
|
 | llvm/lib/Analysis/LazyValueInfo.cpp |
Commit
9cbfdde2ea060d7e51fd2637f63eaa74b8d92848
by vsavchenko[analyzer] Fix crash with pointer to members values
This fix unifies all of the different ways we handled pointer to members into one. The crash was caused by the fact that the type of pointer-to-member values was `void *`, and while this works for the vast majority of cases it breaks when we actually need to explain the path for the report.
rdar://problem/64202361
Differential Revision: https://reviews.llvm.org/D85817
|
 | clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h |
 | clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp |
 | clang/lib/StaticAnalyzer/Core/SValBuilder.cpp |
 | clang/test/Analysis/PR46264.cpp |
 | clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp |
 | clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h |
 | clang/test/Analysis/pointer-to-member.cpp |
 | clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h |
 | clang/lib/StaticAnalyzer/Core/SVals.cpp |
 | clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp |
 | clang/lib/StaticAnalyzer/Core/ExprEngine.cpp |
Commit
73f0772c0baf1c7cac2995341c11d83c4d7a37f4
by adamcz[clangd] Revert "[clangd] Fix crash-bug in preamble indexing when using modules."
This reverts commit 4061d9e42cff621462931ac7df9666806c77a237. Tests are failing in some configuration, likely due to not cleaning up module cache path before running the test.
Differential Revision: https://reviews.llvm.org/D85907
|
 | clang/lib/Index/IndexingAction.cpp |
 | clang-tools-extra/clangd/unittests/TestTU.cpp |
 | clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp |
 | clang-tools-extra/clangd/unittests/TestTU.h |
 | clang-tools-extra/clangd/unittests/TestFS.h |
Commit
1ffc299628948ee0bee3ffb7451c9085b5a80e83
by Louis Dionne[libc++] Ensure the CI scripts can find Ninja
Ninja isn't necessarily installed on macOS out of the box, so make sure we use the SDK Ninja instead of relying on one being available on the system.
|
 | libcxx/utils/ci/macos-backdeployment.sh |
 | libcxx/utils/ci/macos-trunk.sh |
Commit
7f8c49b016003a1a642235b14788648736809a58
by i[llvm-objdump] Change symbol name/PLT decoding errors to warnings
If the referenced symbol of a J[U]MP_SLOT is invalid (e.g. symbol index 0), llvm-objdump -d will bail out:
``` error: 'a': st_name (0x326600) is past the end of the string table of size 0x7 ```
where 0x326600 is the st_name field of the first entry past the end of .symtab
Change it to a warning to continue dumping. `X86/plt.test` uses a prebuilt executable, so I pick `ELF/AArch64/plt.test` which has a YAML input and can be easily modified.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D85623
|
 | llvm/include/llvm/Object/ELFObjectFile.h |
 | llvm/lib/Object/ELFObjectFile.cpp |
 | llvm/test/tools/llvm-objdump/ELF/AArch64/plt.test |
 | llvm/test/tools/llvm-objdump/MachO/malformed-machos.test |
 | llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp |
 | llvm/tools/llvm-objdump/llvm-objdump.cpp |
Commit
88498f44dfe7d9b886f2622335cdeae4dbf2b02a
by i[ELF] -r: allow SHT_X86_64_UNWIND to be merged into SHT_PROGBITS
* For .cfi_*, GCC/GNU as emits SHT_PROGBITS type .eh_frame sections. * Since rL252300, clang emits SHT_X86_64_UNWIND type .eh_frame sections (originated from Solaris, documented in the x86-64 psABI). * Some assembly use `.section .eh_frame,"a",@unwind` to generate SHT_X86_64_UNWIND .eh_frame sections.
In a non-relocatable link, input .eh_frame are combined and there is only one SyntheticSection .eh_frame in the output section, so the "section type mismatch" diagnostic does not fire.
In a relocatable link, there is no SyntheticSection .eh_frame. .eh_frame of mixed types can trigger the diagnostic. This patch fixes it by adding another special case 0x70000001 (= SHT_X86_64_UNWIND) to canMergeToProgbits().
ld.lld -r gcc.o clang.o => error: section type mismatch for .eh_frame
There was a discussion "RFC: Usefulness of SHT_X86_64_UNWIND" on the x86-64-abi mailing list. Folks are not wild about making the psABI value 0x70000001 into gABI, but a few think defining 0x70000001 for .eh_frame may be a good idea for a new architecture.
Reviewed By: grimar
Differential Revision: https://reviews.llvm.org/D85785
|
 | lld/ELF/OutputSections.cpp |
 | lld/test/ELF/eh-frame-type.test |
Commit
dd1a900575ff727d773132111b5f4091cd53d8e6
by spatel[AArch64][x86] add tests for x/sqrt(x); NFC
|
 | llvm/test/CodeGen/X86/sqrt-fastmath.ll |
 | llvm/test/CodeGen/AArch64/sqrt-fastmath.ll |
Commit
98cf77e33786eb1d4e258bfafcbd80344ac9b19d
by sam.mccall[clangd] Clean up old test fixture/names a little. NFC
|
 | clang-tools-extra/clangd/unittests/ClangdTests.cpp |
Commit
f09a2244ba660c105331836a3ae8a1e229b34177
by pklausler[flang] Correct the default value for PAD= to PAD='YES'.
|
 | flang/runtime/format.h |
Commit
51cfad3a1af6fcfba0b2fa2ef73c6860b4034e89
by pklausler[flang] Ensure Preprocessor::Define saves macro names correctly
This fixes problems with macros defined with -D on the command line and predefined macros defined in the throwaway driver program.
|
 | flang/lib/Parser/preprocessor.cpp |
Commit
e5caa6b5abfa3484fa6107961a62173c6955a8ef
by pklausler[flang] Correct manipulation of mixed complex expressions
Ensure that mixed complex expressions (one operand complex, the other not) are properly manipulated; add test.
|
 | flang/test/Evaluate/folding11.f90 |
 | flang/lib/Evaluate/tools.cpp |
Commit
19d7cc2e83061050923057abf72ab860bdc0a3b5
by psteinfeld[flang] Fix assert on character literal substrings as arguments
Character literal substrings used as arguments were causing asserts. This happened when the code was trying to get the DynamicType of the substring. We were only recording the DynamicType of the Designator on which the substring was based. For character literal substrings, the Designator was a character literal, and we weren't handling getting its type.
I fixed this by changing the `GetType()` method for `DynamicType` to check to see if we were getting the type of a `Substring` and calculating the type of the substring by getting the number of bytes in an element of the string.
I also changed the test `resolve49.f90` with some tests, one of which causes the original crash.
Differential Revision: https://reviews.llvm.org/D85908
|
 | flang/test/Semantics/resolve49.f90 |
 | flang/lib/Evaluate/variable.cpp |
Commit
fb141292f4411448af41fc454c07f3903acb84dd
by maskray[ELF] --gdb-index: skip SHF_GROUP .debug_info
-gdwarf-5 -fdebug-types-section may produce multiple .debug_info sections. All except one are type units (.debug_types before DWARF v5). When constructing .gdb_index, we should ignore these type units. We use a simple heuristic: the compile unit does not have the SHF_GROUP flag. (This needs to be revisited if people place compile unit .debug_info in COMDAT groups.)
This issue manifests as a data race: because an object file may have multiple .debug_info sections, we may concurrently construct `LLDDwarfObj` for the same file in multiple threads. The threads may access `InputSectionBase::data()` concurrently on the same input section. `InputSectionBase::data()` does a lazy uncompress() and rewrites the member variable `rawData`. A thread running zlib `inflate()` (transitively called by uncompress()) on a buffer with `rawData` tampered by another thread may fail with `uncompress failed: zlib error: Z_DATA_ERROR`.
Even if no data race occurred in an optimistic run, if there are N .debug_info, one CU entry and its address ranges will be replicated N times. The result .gdb_index can be much larger than a correct one.
The new test gdb-index-dwarf5-type-unit.s actually has two compile units. This cannot be produced with regular approaches (it can be produced with -r --unique). This is used to demonstrate that the .gdb_index construction code only considers the last non-SHF_GROUP .debug_info
Reviewed By: grimar
Differential Revision: https://reviews.llvm.org/D85579
|
 | lld/ELF/SyntheticSections.cpp |
 | lld/test/ELF/gdb-index-dwarf5-type-unit.s |
 | lld/ELF/DWARF.cpp |
 | lld/ELF/DWARF.h |
Commit
b36e22d64458fb87119eddc383229b6d0493967b
by sam.mccall[clangd] Extract BackgroundIndex::Options struct. NFC
I've dropped the background context parameter, since we in practice just pass the current context there, and we now have a different way to specify context too. While here, clean up a couple of comments.
Reviewed By: kadircet
Differential Revision: https://reviews.llvm.org/D83157
|
 | clang-tools-extra/clangd/ClangdServer.cpp |
 | clang-tools-extra/clangd/index/Background.cpp |
 | clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp |
 | clang-tools-extra/clangd/index/Background.h |
Commit
98ba0a5ffee219f503a9dc2526f609da832ebf01
by serguei.katkov[InstCombine] Handle gc.relocate(null) in one iteration
InstCombine adds users of transformed instruction to working list to process on the same iteration. However gc.relocate may have a hidden user (next gc.relocate) which is connected through gc.statepoint intrinsic and there is no direct def-use chain between them.
In this case if the next gc.relocation is already processed it will not be added to worklist and will not be able to be processed on the same iteration. Let's we have the following case: A = gc.relocate(null) B = statepoint(A) C = gc.relocate(B, hidden(A)) If C is already considered then after replacement of A with null, statepoint B instruction will be added to the queue but not C. C can be processed only on the next iteration.
If the chain of relocation is pretty long the many iteration may be required. This change is to reduce the number of iteration to meet the latest changes related to reducing infinite loop threshold.
This is a quick (not best) fix. In the follow up patches I plan to move gc relocation handling into statepoint handler. This should also help to remove unused gc live entries in statepoint bundle.
Reviewers: reames, dantrushin Reviewed By: reames Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D75598
|
 | llvm/test/Transforms/InstCombine/statepoint-iter.ll |
 | llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp |
Commit
11446b02c7ec258a55de0259c3447d9ce5d5ac63
by bjorn.a.pettersson[VectorCombine] Fix for non-zero addrspace when creating vector load from scalar load
This is a fixup to commit 43bdac290663f4424f9fb, to make sure the address space from the original load pointer is retained in the vector pointer.
Resolves problem with Assertion `castIsValid(op, S, Ty) && "Invalid cast!"' failed. due to address space mismatch.
Reviewed By: spatel
Differential Revision: https://reviews.llvm.org/D85912
|
 | llvm/test/Transforms/VectorCombine/X86/load.ll |
 | llvm/lib/Transforms/Vectorize/VectorCombine.cpp |
Commit
d54f5979bb829e3864016798cc1cb5eecf39c4e0
by 1894981+hiradityaAdd cold attribute to one time construction APIs
_cxa_guard_acquire is used for only one purpose, namely guarding local static variable initialization, and since that purpose is definitionally cold, it should be attributed as cold
Reviewed By: ldionne
Reviewers: mclow.lists, ldionne, jfb, yfeldblum
Differential Revision: https://reviews.llvm.org/D85873
|
 | libcxxabi/include/cxxabi.h |
Commit
44716856db599f8988affa16875a6b120189e013
by 1894981+hiradityaFix PR45442: Bail out when MemorySSA information is not available
|
 | llvm/lib/Transforms/Scalar/GVNHoist.cpp |
 | llvm/test/Transforms/GVNHoist/pr45442.ll |
Commit
66a2e3a525645ad8d356ef4f5b752bfcae3c27b7
by kadircet[clangd] Send EOF before resetting diagnostics consumer
Summary: Some clang-tidy checkers, e.g. llvm-include-order can emit diagnostics at this callback (as mentioned in the comments).
Clangd was resetting diag consumer to IgnoreDiags before sending EOF, hence we were unable to emit diagnostics for such checkers.
This patch changes the order of that reset and preprocosser event to make sure we emit that diag.
Fixes https://github.com/clangd/clangd/issues/314.
Reviewers: sammccall
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D83178
|
 | clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp |
 | clang-tools-extra/clangd/ParsedAST.cpp |
Commit
0464acd0197cda149f81dff20bf5c379a057722a
by kadircet[clangd] Move clang-tidy check modifications into ClangdServer
Summary: This enables sharing the logic between standalone clangd and embedders of it. The new approach should be same performance-wise, as it is only called once per addDocument call.
This patch also introduces a blacklisting code path for disabling crashy or high-noise tests, until we figure out a way to make them work with clangd-setup.
The biggest difference is the way we make use of preambles, hence those checks can't see directives coming from the preamble section of the file. The second thing is the fact that code might-not be compiling while clangd is trying to build an AST, hence some checks might choke on those incomplete ASTs.
Reviewers: sammccall
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, aaron.ballman, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D83224
|
 | clang-tools-extra/clangd/ClangdServer.cpp |
 | clang-tools-extra/clangd/tool/ClangdMain.cpp |
 | clang-tools-extra/clangd/unittests/ClangdTests.cpp |
Commit
e1a87f0a9bc3159fb5479a012a67d2c489bca221
by mcinally[SVE] Lower fixed length vector integer SMIN/SMAX
Differential Revision: https://reviews.llvm.org/D85855
|
 | llvm/test/CodeGen/AArch64/sve-fixed-length-int-minmax.ll |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
Commit
180d6ed66778ec5b7ee68878005ca1f0498b6d6d
by Jonas Devlieghere[lldb] Skip TestStepScripted with reproducers
Some of the test methods were already skipped because of an unexpected packet. The test started failing after it was expanded. Skip the whole test with reproducers so we don't have to add the decorator for every method.
|
 | lldb/test/API/functionalities/step_scripted/TestStepScripted.py |
 | lldb/packages/Python/lldbsuite/test/decorators.py |
Commit
fad31d60329b4573a27aaf10cfe3174407d75c3a
by pklausler[flang] Implement shape analysis of TRANSFER intrinsic function result
The shape (esp. the size) of the result of a call to TRANSFER is implemented according to the definition in the standard.
Differential Revision: https://reviews.llvm.org/D85866
|
 | flang/include/flang/Evaluate/initial-image.h |
 | flang/include/flang/Evaluate/type.h |
 | flang/lib/Evaluate/initial-image.cpp |
 | flang/test/Evaluate/folding10.f90 |
 | flang/lib/Evaluate/characteristics.cpp |
 | flang/lib/Semantics/compute-offsets.cpp |
 | flang/include/flang/Evaluate/characteristics.h |
 | flang/lib/Evaluate/type.cpp |
 | flang/lib/Evaluate/fold-designator.cpp |
 | flang/lib/Semantics/data-to-inits.cpp |
 | flang/lib/Evaluate/shape.cpp |
Commit
2632c625ed9b7cb5d384242e9a792a8c5703fda4
by david.green[ARM] Mark VMINNMA/VMAXNMA as commutative
These operations take Qda and Rn register operands, which are commutative so long as the instruction is not predicated.
Differential Revision: https://reviews.llvm.org/D85813
|
 | llvm/test/CodeGen/Thumb2/mve-vmaxnma-commute.ll |
 | llvm/lib/Target/ARM/Thumb2InstrInfo.h |
 | llvm/lib/Target/ARM/ARMInstrMVE.td |
 | llvm/lib/Target/ARM/Thumb2InstrInfo.cpp |
Commit
fed9ff511711762ac8cccbb9954eb4c0554fe622
by pifon[mlir] Test CallOp STD->LLVM conversion.
This exercises the corner case that was fixed in https://reviews.llvm.org/rG8979a9cdf226066196f1710903d13492e6929563.
The bug can be reproduced when there is a @callee with a custom type argument and @caller has a producer of this argument passed to the @callee.
Example: func @callee(!test.test_type) -> i32 func @caller() -> i32 { %arg = "test.type_producer"() : () -> !test.test_type %out = call @callee(%arg) : (!test.test_type) -> i32 return %out : i32 }
Even though there is a type conversion for !test.test_type, the output IR (before the fix) contained a DialectCastOp:
module { llvm.func @callee(!llvm.ptr<i8>) -> !llvm.i32 llvm.func @caller() -> !llvm.i32 { %0 = llvm.mlir.null : !llvm.ptr<i8> %1 = llvm.mlir.cast %0 : !llvm.ptr<i8> to !test.test_type %2 = llvm.call @callee(%1) : (!test.test_type) -> !llvm.i32 llvm.return %2 : !llvm.i32 } }
instead of
module { llvm.func @callee(!llvm.ptr<i8>) -> !llvm.i32 llvm.func @caller() -> !llvm.i32 { %0 = llvm.mlir.null : !llvm.ptr<i8> %1 = llvm.call @callee(%0) : (!llvm.ptr<i8>) -> !llvm.i32 llvm.return %1 : !llvm.i32 } }
Differential Revision: https://reviews.llvm.org/D85914
|
 | mlir/test/Transforms/test-convert-call-op.mlir |
 | mlir/tools/mlir-opt/mlir-opt.cpp |
 | mlir/test/lib/Transforms/TestConvertCallOp.cpp |
 | mlir/test/lib/Transforms/CMakeLists.txt |
Commit
2ddba09e067add1910cc0f39ce9e1e4e0e43bb28
by Jonas Devlieghere[lldb] Set the launch flags to GetLaunchInfo().GetLaunchFlags()
Instead of clearing the launch flags, always pass the target's current launch flags.
|
 | lldb/test/API/commands/expression/expr-in-syscall/TestExpressionInSyscall.py |
 | lldb/test/API/python_api/event/TestEvents.py |
 | lldb/test/API/functionalities/target-new-solib-notifications/TestModuleLoadedNotifys.py |
 | lldb/test/API/commands/register/register/register_command/TestRegisters.py |
Commit
3a2645e42899fe5a70df4bdb04acceea0e9db155
by llvm-dev[X86][SSE] Add HADD combine regression case from rG9bd97d036398
rG9bd97d036398 caused a miscompile of this internal test case
|
 | llvm/test/CodeGen/X86/haddsub-undef.ll |
Commit
5c9aca1e9396c54151b066189748209554230b59
by pklausler[flang] Descriptor-based I/O using wrong size for contiguous unformatted I/O
The descriptor-based I/O routine was using the size of the descriptor rather than the size of the described data for the transfer. Fix, and add a comment to the relevant API.
Differential Revision: https://reviews.llvm.org/D85863
|
 | flang/runtime/descriptor-io.h |
 | flang/runtime/descriptor.h |
Commit
612b4dda7667284f81eec0d3447356e88a87f350
by sameerarora101[llvm-install-name-tool] Add more documentation
Add documentation for the remaining options of `llvm-install-name-tool`.
Reviewed by jhenderson, smeenai
Differential Revision: https://reviews.llvm.org/D85655
|
 | llvm/docs/CommandGuide/llvm-install-name-tool.rst |
Commit
50c743fa713002fe4e0c76d23043e6c1f9e9fe6f
by Dávid Bolvanský[BPI] Improve static heuristics for integer comparisons
Similarly as for pointers, even for integers a == b is usually false.
GCC also uses this heuristic.
Reviewed By: ebrevnov
Differential Revision: https://reviews.llvm.org/D85781
|
 | llvm/test/CodeGen/ARM/cmpxchg-weak.ll |
 | llvm/test/CodeGen/AArch64/fast-isel-cmp-branch.ll |
 | llvm/test/CodeGen/Mips/compactbranches/no-beqzc-bnezc.ll |
 | llvm/test/Analysis/BranchProbabilityInfo/loop.ll |
 | llvm/test/CodeGen/X86/bt.ll |
 | llvm/test/CodeGen/Mips/brconne.ll |
 | llvm/test/CodeGen/Mips/seleq.ll |
 | llvm/test/CodeGen/Mips/brconlt.ll |
 | llvm/test/CodeGen/X86/jump_sign.ll |
 | llvm/test/CodeGen/Thumb2/mve-satmul-loops.ll |
 | llvm/test/DebugInfo/COFF/fpo-shrink-wrap.ll |
 | llvm/test/CodeGen/AArch64/cond-br-tuning.ll |
 | compiler-rt/test/profile/Linux/counter_promo_for.c |
 | llvm/test/Analysis/BranchProbabilityInfo/zero_heuristics.ll |
 | llvm/test/CodeGen/AArch64/branch-relax-alignment.ll |
 | llvm/test/CodeGen/X86/absolute-cmp.ll |
 | llvm/test/CodeGen/Mips/longbranch/compact-branches-long-branch.ll |
 | llvm/test/CodeGen/ARM/2011-12-14-machine-sink.ll |
 | llvm/test/CodeGen/X86/nobt.ll |
 | compiler-rt/test/profile/Linux/counter_promo_while.c |
 | llvm/test/CodeGen/Mips/selle.ll |
 | llvm/test/CodeGen/SystemZ/int-cmp-40.ll |
 | llvm/test/CodeGen/PowerPC/memCmpUsedInZeroEqualityComparison.ll |
 | llvm/test/CodeGen/X86/conditional-tailcall-pgso.ll |
 | llvm/test/CodeGen/X86/lsr-negative-stride.ll |
 | llvm/test/CodeGen/Mips/lcb5.ll |
 | llvm/test/CodeGen/PowerPC/redundant-copy-after-tail-dup.ll |
 | llvm/test/Transforms/PGOProfile/landingpad.ll |
 | llvm/include/llvm/Analysis/BranchProbabilityInfo.h |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/varying-outer-2d-reduction.ll |
 | llvm/test/CodeGen/Hexagon/newvaluejump2.ll |
 | llvm/test/CodeGen/X86/memcmp-more-load-pairs.ll |
 | llvm/test/CodeGen/X86/memcmp-pgso.ll |
 | llvm/test/CodeGen/X86/memcmp-optsize.ll |
 | llvm/test/CodeGen/X86/3addr-16bit.ll |
 | llvm/test/CodeGen/X86/machine-cse.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll |
 | llvm/test/CodeGen/X86/funnel-shift.ll |
 | llvm/test/CodeGen/X86/conditional-tailcall.ll |
 | llvm/test/Transforms/PGOProfile/counter_promo_mexits.ll |
 | llvm/test/CodeGen/X86/wide-integer-cmp.ll |
 | llvm/test/CodeGen/X86/atomic-unordered.ll |
 | llvm/lib/Analysis/BranchProbabilityInfo.cpp |
 | llvm/test/CodeGen/X86/memcmp.ll |
 | llvm/test/CodeGen/AArch64/aarch64-gep-opt.ll |
 | llvm/test/CodeGen/X86/atomic-flags.ll |
 | llvm/test/CodeGen/X86/indirect-branch-tracking-eh2.ll |
 | llvm/test/CodeGen/Mips/lcb2.ll |
 | llvm/test/CodeGen/ARM/lsr-unfolded-offset.ll |
 | llvm/test/CodeGen/PowerPC/brcond.ll |
 | llvm/test/CodeGen/X86/pr29170.ll |
 | llvm/test/CodeGen/RISCV/rv64m-w-insts-legalization.ll |
 | llvm/test/CodeGen/SystemZ/int-cmp-37.ll |
 | llvm/test/CodeGen/X86/bmi.ll |
 | llvm/test/Analysis/BranchProbabilityInfo/integer_heuristics.ll |
 | llvm/test/CodeGen/Mips/brcongt.ll |
 | llvm/test/CodeGen/X86/fast-isel-cmp-branch2.ll |
 | llvm/test/CodeGen/Thumb2/mve-postinc-distribute.ll |
 | llvm/test/CodeGen/ARM/machine-cse-cmp.ll |
 | llvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll |
 | llvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll |
 | llvm/test/CodeGen/RISCV/branch.ll |
 | llvm/test/CodeGen/X86/neg_cmp.ll |
 | llvm/test/CodeGen/Thumb2/thumb2-branch.ll |
Commit
8d58eb11f9dabacc37f1f5e2cc83149b24868180
by sameerarora101[llvm-libtool-darwin] Refactor ArchiveWriter
Refactoring function `writeArchive` in ArchiveWriter. Added a new function `writeArchiveBuffer` that returns the archive in a memory buffer instead of writing it out to the disk. This refactor is necessary so as to allow `llvm-libtool-darwin` to write universal files containing archives.
Reviewed by jhenderson, MaskRay, smeenai
Differential Revision: https://reviews.llvm.org/D84858
|
 | llvm/lib/Object/ArchiveWriter.cpp |
 | llvm/include/llvm/Object/ArchiveWriter.h |
Commit
05169af5cea2c3b9aa0f38354d0e81ddf6b7a3d9
by clementval[flang][openacc] Handle optional end directive in combined construct
OpenACC combined construct can have an optional end directive. This patch handle this case in the parsing/unparsing with a canonicalization step. Unlike OmpEndLoopDirective, this doesn't need a special treatment in the pre-fir tree as there is no clause attached to a AccEndCombinedDirective.
Reviewed By: klausler
Differential Revision: https://reviews.llvm.org/D84481
|
 | flang/lib/Parser/unparse.cpp |
 | flang/lib/Parser/executable-parsers.cpp |
 | flang/include/flang/Parser/parse-tree.h |
 | flang/lib/Semantics/check-acc-structure.cpp |
 | flang/lib/Parser/openacc-parsers.cpp |
 | flang/test/Semantics/acc-canonicalization-validity.f90 |
 | flang/lib/Parser/type-parsers.h |
 | flang/lib/Parser/program-parsers.cpp |
 | flang/test/Semantics/acc-clause-validity.f90 |
 | flang/lib/Semantics/canonicalize-acc.cpp |
 | flang/test/Lower/pre-fir-tree05.f90 |
Commit
bd2853f7998d41e0d16c00e2b043e35b688eaf00
by sameerarora101[llvm-libtool-darwin] Add support for -arch_only
Add support for -arch_only option for llvm-libtool-darwin. This diff also adds support for accepting universal files as input and flattening them to create the required static library. Supports input universal files contaning both Mach-O object files or archives.
Differences from cctools' libtool: - `-arch_only` can be specified multiple times - archives containing universal files are considered invalid (libtool allows such archives)
Reviewed by jhenderson, smeenai
Differential Revision: https://reviews.llvm.org/D84770
|
 | llvm/test/tools/llvm-libtool-darwin/universal-file-flattening.test |
 | llvm/test/tools/llvm-libtool-darwin/cpu-subtype-matching.test |
 | llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp |
 | llvm/tools/llvm-libtool-darwin/CMakeLists.txt |
 | llvm/tools/llvm-libtool-darwin/LLVMBuild.txt |
 | llvm/docs/CommandGuide/llvm-libtool-darwin.rst |
Commit
adaadbfeac98ab9d5ce34b8bb2ceedddc5dc1fd4
by Lang Hames[JITLink][MachO] Return an error when MachO TLV relocations are encountered.
MachO TLV relocations aren't supported yet. Error out rather than falling through to llvm_unreachable.
|
 | llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp |
Commit
e137b550587a85b0d9c9c539edc79de0122b6946
by Lang Hames[llvm-jitlink] Don't demote unreferenced definitions in -harness mode.
Demoting unreferenced externals is unsafe if multiple interdependent test objects are used, including objects loaded from archives.
|
 | llvm/tools/llvm-jitlink/llvm-jitlink.cpp |
Commit
2f7adf5ee37934ee5769276644fcafbc9d4dcda3
by Dávid Bolvanský[Diagnostics] Skip var decl of structs for -Wstring-concatenation
|
 | clang/test/Sema/string-concat.c |
 | clang/lib/Sema/SemaDecl.cpp |
Commit
3944d3df4f062db1e1fb1deab24e4c40bd5c8095
by Dávid Bolvanský[Tests] Removed debug copy command
|
 | compiler-rt/test/profile/Linux/counter_promo_for.c |
Commit
1a8c9cd1d96e680a3c519e9b3295ba9c4a34736d
by 1894981+hiradityaFix PR45442: Bail out when MemorySSA information is not available
Reviewers: sebpop, uabelho, fhahn Reviewed by: fhahn
Differential Revision: https://reviews.llvm.org/D85881
|
 | llvm/lib/Transforms/Scalar/GVNHoist.cpp |
 | llvm/test/Transforms/GVNHoist/pr45442.ll |
Commit
d25cb5a8a23ec9192e32a318eb565e956b87f553
by Stanislav.Mekhanoshin[AMDGPU] Fix misleading SDWA verifier error. NFC.
The old error from GFX9 shall be updated to GFX9+.
|
 | llvm/lib/Target/AMDGPU/SIInstrInfo.cpp |
Commit
0462aef5f359497b29bc811f94e8d6f7c1f2923e
by Stanislav.Mekhanoshin[AMDGPU] Inhibit SDWA if target instruction has FI
Differential Revision: https://reviews.llvm.org/D85918
|
 | llvm/test/CodeGen/AMDGPU/sdwa-stack.mir |
 | llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp |
Commit
759f9a7acdfc33afd5d8bd1c33446c1b4d721388
by Lang HamesRevert "[llvm-jitlink] Don't demote unreferenced definitions in -harness mode."
This reverts commit e137b550587a85b0d9c9c539edc79de0122b6946.
This commit broke a test case. Reverting while I investigate.
|
 | llvm/tools/llvm-jitlink/llvm-jitlink.cpp |
Commit
d650cbc349ccc4f477568c2827f1bce650020058
by haowei[elfabi] Move llvm-elfabi related code to InterfaceStub library
This change moves elfabi related code to llvm/InterfaceStub library so it can be shared by multiple llvm tools without causing cyclic dependencies.
Differential Revision: https://reviews.llvm.org/D85678
|
 | llvm/lib/InterfaceStub/LLVMBuild.txt |
 | llvm/include/llvm/InterfaceStub/TBEHandler.h |
 | llvm/unittests/CMakeLists.txt |
 | llvm/tools/llvm-elfabi/llvm-elfabi.cpp |
 | llvm/include/llvm/TextAPI/ELF/ELFStub.h |
 | llvm/lib/InterfaceStub/CMakeLists.txt |
 | llvm/lib/InterfaceStub/ELFStub.cpp |
 | llvm/unittests/TextAPI/ELFYAMLTest.cpp |
 | llvm/tools/llvm-elfabi/LLVMBuild.txt |
 | llvm/lib/TextAPI/ELF/ELFStub.cpp |
 | llvm/lib/TextAPI/ELF/TBEHandler.cpp |
 | llvm/lib/CMakeLists.txt |
 | llvm/lib/TextAPI/CMakeLists.txt |
 | llvm/lib/InterfaceStub/TBEHandler.cpp |
 | llvm/tools/llvm-elfabi/ELFObjHandler.h |
 | llvm/lib/InterfaceStub/ELFObjHandler.cpp |
 | llvm/unittests/InterfaceStub/ELFYAMLTest.cpp |
 | llvm/include/llvm/InterfaceStub/ELFObjHandler.h |
 | llvm/include/llvm/InterfaceStub/ELFStub.h |
 | llvm/tools/llvm-elfabi/ELFObjHandler.cpp |
 | llvm/lib/LLVMBuild.txt |
 | llvm/unittests/InterfaceStub/CMakeLists.txt |
 | llvm/unittests/TextAPI/CMakeLists.txt |
 | llvm/include/llvm/TextAPI/ELF/TBEHandler.h |
 | llvm/tools/llvm-elfabi/CMakeLists.txt |
Commit
25bbceb047a3ce85394d510a16bd3fcfd69b8c75
by shafik[LLDB] Fix how ValueObjectChild handles bit-fields stored in a Scalar in UpdateValue()
When bit-field data was stored in a Scalar in ValueObjectChild during UpdateValue() it was extracting the bit-field value. Later on in lldb_private::DumpDataExtractor(…) we were again attempting to extract the bit-field. Which would then not obtain the correct value. This will remove the extra extraction in UpdateValue(). We hit this specific case when values are passed in registers, which we could only reproduce in an optimized build.
Differential Revision: https://reviews.llvm.org/D85376
|
 | lldb/test/Shell/SymbolFile/DWARF/DW_AT_data_bit_offset-DW_OP_stack_value.s |
 | lldb/source/Core/ValueObjectChild.cpp |
Commit
34a5669ccd8b8c4edd35488a5ece407f0ed77601
by Stefan Gränitz[ORC] Fix SymbolLookupSet::containsDuplicates()
|
 | llvm/include/llvm/ExecutionEngine/Orc/Core.h |
Commit
f12db8cf750bb16515ba635143ca34b0c012968a
by Stefan Gränitz[ORC] cloneToNewContext() can work with a const-ref to ThreadSafeModule
|
 | llvm/lib/ExecutionEngine/Orc/ThreadSafeModule.cpp |
 | llvm/include/llvm/ExecutionEngine/Orc/ThreadSafeModule.h |
Commit
fa4b3147e3368f63e27b86ef66cd35f484ceb6d6
by riddleriver[mlir][DialectConversion] Update the documentation for dialect conversion
This revision updates the documentation for dialect conversion, as many concepts have changed/evolved over time.
Differential Revision: https://reviews.llvm.org/D85167
|
 | mlir/docs/DialectConversion.md |
Commit
f7a13479b809cdeb9d63d0daa0d6ab61f04d5f7a
by riddleriver[mlir][docs] Update/Add documentation for MLIRs Pattern Rewrite infrastructure
This infrastructure has evolved a lot over the course of MLIRs lifetime, and has never truly been documented outside of rationale or proposals. This revision aims to document the infrastructure and user facing API, with the rationale specific portions moved to the Rationale folder and updated.
Differential Revision: https://reviews.llvm.org/D85260
|
 | mlir/docs/Tutorials/Toy/Ch-3.md |
 | mlir/docs/DialectConversion.md |
 | mlir/docs/Rationale/RationaleGenericDAGRewriter.md |
 | mlir/docs/GenericDAGRewriter.md |
 | mlir/docs/PatternRewriter.md |
 | mlir/docs/Rationale/MLIRForGraphAlgorithms.md |
Commit
c2807b2e56c05080354818c221ed4a35abd8a5c8
by Alex Lorenz[darwin][driver] fix isMacosxVersionLT minimum supported OS version check
The previous Driver's triple check only worked for -target, but not for -arch -mmacosx-version-min invocations
|
 | clang/test/Driver/macos-apple-silicon-slice-link-libs-darwin-only.cpp |
 | clang/lib/Driver/ToolChains/Darwin.h |
 | clang/test/Driver/macos-apple-silicon-slice-link-libs.cpp |
Commit
5bcd32b7449482d6079d968c08d07a3890c86912
by Stefan Gränitz[ORC][NFC] Fix typo in comment
|
 | llvm/lib/ExecutionEngine/Orc/LLJIT.cpp |
Commit
5092039644eac33bdd9e494045a9f99654f792b3
by thakis[gn build] (manually) port d650cbc349ccc4
|
 | llvm/utils/gn/secondary/llvm/unittests/TextAPI/BUILD.gn |
 | llvm/utils/gn/secondary/llvm/lib/TextAPI/BUILD.gn |
 | llvm/utils/gn/secondary/llvm/tools/llvm-elfabi/BUILD.gn |
 | llvm/utils/gn/secondary/llvm/lib/InterfaceStub/BUILD.gn |
 | llvm/utils/gn/secondary/llvm/unittests/BUILD.gn |
 | llvm/utils/gn/secondary/llvm/unittests/InterfaceStub/BUILD.gn |
Commit
661d83aa386fd2c2df769a2509f7c1bd5ba99a7b
by thakis[gn build] (manually) port d650cbc349ccc4 better
|
 | llvm/utils/gn/secondary/llvm/lib/InterfaceStub/BUILD.gn |
Commit
21810b0e14287a7b885a7822c6e19609e3b902c8
by mcinally[SVE] Lower fixed length vector integer UMIN/UMAX
Differential Revision: https://reviews.llvm.org/D85926
|
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/test/CodeGen/AArch64/sve-fixed-length-int-minmax.ll |
Commit
bc45bab7eb6d6138442ba0dfab11faa734566ebf
by parallels[libc] Add strtok_r implementation.
Reviewed By: sivachandra
Differential Revision: https://reviews.llvm.org/D85779
|
 | libc/test/src/string/strtok_r_test.cpp |
 | libc/src/string/strtok_r.h |
 | libc/src/string/CMakeLists.txt |
 | libc/src/string/strtok.cpp |
 | libc/src/string/string_utils.h |
 | libc/config/linux/api.td |
 | libc/config/linux/x86_64/entrypoints.txt |
 | libc/spec/posix.td |
 | libc/config/linux/aarch64/entrypoints.txt |
 | libc/src/string/strtok_r.cpp |
 | libc/test/src/string/CMakeLists.txt |
Commit
96855125e77044b1a5d3c7f0ae90ea3a5cb035c0
by ckennelly[tsan] Respect no_huge_pages_for_shadow.
Disable huge pages in the TSan shadow regions when no_huge_pages_for_shadow == true (default).
Reviewed By: eugenis
Differential Revision: https://reviews.llvm.org/D85841
|
 | compiler-rt/lib/tsan/rtl/tsan_rtl.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_platform_posix.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_sync.cpp |
Commit
dedaf78fa71433d3c9da2e3d2f3dad3e9cd3bdd2
by hubert.reinterpretcast[SystemZ][z/OS] enable trigraphs by default on z/OS
This patch enables trigraphs on z/OS.
Reviewed By: hubert.reinterpretcast, fanbo-meng
Differential Revision: https://reviews.llvm.org/D85722
|
 | clang/test/Frontend/trigraphs.cpp |
 | clang/test/Lexer/cxx1z-trigraphs.cpp |
 | clang/lib/Frontend/CompilerInvocation.cpp |
Commit
114c9fa0e46f7bf1d05d92da70da116b19f16911
by vyngAdd "status" to the list of absl libraries.
The Abseil-NoInternalDependenciesCheck currently mistakenly triggers on any usage of internal helpers even if it is within absl/status.
Differential Revision: https://reviews.llvm.org/D85843
|
 | clang-tools-extra/clang-tidy/abseil/AbseilMatcher.h |
Commit
9f8c4039f202c4f8e8b820bce6f05039d53ea005
by petersanitizer_common: Introduce internal_madvise and start using it.
A recent change to sanitizer_common caused us to issue the syscall madvise(MADV_HUGEPAGE) during HWASAN initialization. This may lead to a problem if madvise is instrumented (e.g. because libc is instrumented or the user intercepted it). For example, on Android the syscall may fail if the kernel does not support transparent hugepages, which leads to an attempt to set errno in a HWASAN instrumented function. Avoid this problem by introducing a syscall wrapper and using it to issue this syscall.
Tested only on Linux; includes untested updates for the other platforms.
Differential Revision: https://reviews.llvm.org/D85870
|
 | compiler-rt/lib/sanitizer_common/sanitizer_netbsd.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_openbsd.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_solaris.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_posix.h |
Commit
524f591a395cbb65a67c85b4df111c5f4e9d753e
by nikita.ppv[InstSimplify] Add tests for assume with min/max intrinsic (NFC)
If we assume one of the operands is smaller/greater, then min/max may be simplified.
|
 | llvm/test/Transforms/InstSimplify/maxmin_intrinsics.ll |
Commit
5ef2287d36f93bac3b7b8c49c1b371d25d305e85
by Dávid Bolvanský[SLC] Optimize strncpy(a, a, C) to memcpy(a, a000, C) Solves PR47154
|
 | llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp |
 | llvm/test/Transforms/InstCombine/strncpy-3.ll |
Commit
f136e5ecfb335c61a23f09187150f363919df11a
by Lang HamesRe-apply "[llvm-jitlink] Don't demote unreferenced definitions in -harness mode"
This reapplies commit e137b550587a85b0d9c9c539edc79de0122b6946 with fixes for the broken test case: Non-global symbols should only be skipped after checking that they're not referenced by the harness.
|
 | llvm/tools/llvm-jitlink/llvm-jitlink.cpp |
Commit
18910c4cb5d4e59ef25f4b8b48fcbd3146833645
by Dávid Bolvanský[Tests] Update strncpy tests
|
 | llvm/test/Transforms/InstCombine/strncpy-1.ll |
Commit
f59bec7acb8228fc215fca3ee1e524c38083c50b
by ro[clang][Driver] Default to /usr/bin/ld on Solaris
`clang` currently requires the native linker on Solaris:
- It passes `-C` to `ld` which GNU `ld` doesn't understand.
- To use `gld`, one needs to pass the correct `-m EMU` option to select the right emulation. Solaris `ld` cannot handle that option.
So far I've worked around this by passing `-DCLANG_DEFAULT_LINKER=/usr/bin/ld` to `cmake`. However, if someone forgets this, it depends on the user's `PATH` whether or not `clang` finds the correct linker, which doesn't make for a good user experience.
While it would be nice to detect the linker flavor at runtime, this is more involved. Instead, this patch defaults to `/usr/bin/ld` on Solaris. This doesn't work on its own, however: a link fails with
clang-12: error: unable to execute command: Executable "x86_64-pc-solaris2.11-/usr/bin/ld" doesn't exist!
I avoid this by leaving absolute paths alone in `ToolChain::GetLinkerPath`.
Tested on `amd64-pc-solaris2.11`, `sparcv9-sun-solaris2.11`, and `x86_64-pc-linux-gnu`.
Differential Revision: https://reviews.llvm.org/D84029
|
 | llvm/utils/lit/lit/llvm/config.py |
 | clang/test/Driver/solaris-ld-sld.c |
 | clang/lib/Driver/ToolChains/Solaris.h |
 | clang/lib/Driver/ToolChain.cpp |
Commit
d53d952810e7afaad66a8c527fa073e8f68f6222
by tlively[WebAssembly] Allow inlining functions with different features
Allow inlining only when the Callee has a subset of the Caller's features. In principle, we should be able to inline regardless of any features because WebAssembly supports features at module granularity, not function granularity, but without this restriction it would be possible for a module to "forget" about features if all the functions that used them were inlined.
Requested in PR46812.
Differential Revision: https://reviews.llvm.org/D85494
|
 | llvm/test/Transforms/Inline/WebAssembly/inline-target-features.ll |
 | llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h |
 | llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp |
Commit
7d1cb187fbee336e831309ea22d4f2e273331d6d
by Austin.Kerbow[AMDGPU] Fix FP/BP spills when MUBUF constant offset exceeded
If we need a scratch register for the spill don't use the same scratch register that is being used for the MBUF offset.
Reviewed By: arsenm
Differential Revision: https://reviews.llvm.org/D85772
|
 | llvm/lib/Target/AMDGPU/SIFrameLowering.cpp |
 | llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll |
 | llvm/test/CodeGen/AMDGPU/stack-realign.ll |
Commit
3da939686c216f8d16a6aaae7831f4bb18c83483
by Jonas Devlieghere[lldb] Improve diagnostics in lldb-repro when replay fails
- Print the replay invocation. - Keep the reproducer around. - Return the "opposite" exit code so we don't have to rely on FileCheck to fail the test when the expected exit code is non-zero.
|
 | lldb/utils/lldb-repro/lldb-repro.py |
Commit
0c390c22a5af485a482de884134097eeee068cfa
by david.greenRevert "[ARM] Fix IT block generation after Thumb2SizeReduce with -Oz"
This reverts commit 18279a54b5d3382874924d6a3c7775b7e22598dc as it is causing some chromium android test problems.
|
 | llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp |
 | llvm/test/CodeGen/Thumb2/constant-hoisting.ll |
Commit
097c8fb2cbc10712269508bf8d248acf14232759
by ckennelly[NFC] Remove unused variables.
These were no longer needed following 96855125e77044b1a5d3c7f0ae90ea3a5cb035c0.
Reviewed By: rupprecht
Differential Revision: https://reviews.llvm.org/D85939
|
 | compiler-rt/lib/tsan/rtl/tsan_platform_posix.cpp |
Commit
ab9fc8bae805c785066779e76e7846aabad5609e
by Dávid Bolvanský[SLC] sprintf(dst, "%s", str) -> strcpy(dst, str)
Solves 46489
|
 | llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp |
 | llvm/test/Transforms/InstCombine/sprintf-1.ll |
 | llvm/test/Transforms/InstCombine/2010-05-30-memcpy-Struct.ll |
Commit
ae6523cd62a44642390f4f9d9ba9ce17d5bbbc58
by akhuang[DebugInfo] Add -fuse-ctor-homing cc1 flag so we can turn on constructor homing only if limited debug info is already on.
This adds a cc1 flag to enable constructor homing but doesn't turn on debug info if it wasn't enabled already (which is what using -debug-info-kind=constructor does). This will be used for testing, and won't be needed anymore once ctor homing is used as default / merged into =limited.
Bug to enable ctor homing: https://bugs.llvm.org/show_bug.cgi?id=46537
Differential Revision: https://reviews.llvm.org/D85799
|
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | clang/include/clang/Driver/Options.td |
 | clang/test/CodeGenCXX/debug-info-ctor-homing-flag.cpp |