Commit
07f0faed1156e6ffe6b7df240ef422bd3adb9812
by qiucofan[NFC][Scheduler] Refactor tryCandidate to return boolean
This patch changes return type of tryCandidate from void to bool:
1. Methods in some targets already follow this convention. 2. This would help if some target wants to re-use generic code. 3. It looks more intuitive if these try-method returns the same type.
We may need to change return type of them from bool to some enum further, to make it less confusing.
Reviewed By: foad
Differential Revision: https://reviews.llvm.org/D103951
|
 | llvm/lib/CodeGen/MachineScheduler.cpp |
 | llvm/lib/Target/PowerPC/PPCMachineScheduler.h |
 | llvm/lib/Target/PowerPC/PPCMachineScheduler.cpp |
 | llvm/include/llvm/CodeGen/MachineScheduler.h |
Commit
333d3a3cdfd44ad67e7a09a078decee3bae56eb2
by lebedev.ri[NFC][PassBuilder] addVectorPasses(): clarify that 'IsLTO' is actually 'IsFullLTO'
I.e. it will be `false` for thin lto.
|
 | llvm/lib/Transforms/IPO/PassManagerBuilder.cpp |
 | llvm/lib/Passes/PassBuilder.cpp |
 | llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h |
 | llvm/include/llvm/Passes/PassBuilder.h |
Commit
e825c244b6063344ae726600d6a1225a05788dfa
by jan.kratochvil[lldb] Fix Recognizer/assert.test with glibc-2.33.9000-31.fc35.x86_64
While on regular Linux system (Fedora 34 GA, not updated):
* thread #1, name = '1', stop reason = hit program assert frame #0: 0x00007ffff7e242a2 libc.so.6`raise + 322 frame #1: 0x00007ffff7e0d8a4 libc.so.6`abort + 278 frame #2: 0x00007ffff7e0d789 libc.so.6`__assert_fail_base.cold + 15 frame #3: 0x00007ffff7e1ca16 libc.so.6`__assert_fail + 70 * frame #4: 0x00000000004011bd 1`main at assert.c:7:3
On Fedora 35 pre-release one gets:
* thread #1, name = '1', stop reason = signal SIGABRT * frame #0: 0x00007ffff7e48ee3 libc.so.6`pthread_kill@GLIBC_2.2.5 + 67 frame #1: 0x00007ffff7dfb986 libc.so.6`raise + 22 frame #2: 0x00007ffff7de5806 libc.so.6`abort + 230 frame #3: 0x00007ffff7de571b libc.so.6`__assert_fail_base.cold + 15 frame #4: 0x00007ffff7df4646 libc.so.6`__assert_fail + 70 frame #5: 0x00000000004011bd 1`main at assert.c:7:3
I did not write a testcase as one needs the specific glibc. An artificial test would just copy the changed source.
Reviewed By: mib
Differential Revision: https://reviews.llvm.org/D105133
|
 | lldb/source/Target/AssertFrameRecognizer.cpp |
Commit
8066f22c4663d9ee6c763d9108c89448e5c19848
by fabian[MLIR] Add argument insertion helpers for FunctionLike
Add helpers to facilitate adding arguments and results to operations that implement the `FunctionLike` trait. These operations already have a convenient argument and result *erasure* mechanism, but a corresopnding utility for insertion is missing. This introduces such a utility.
|
 | mlir/test/IR/test-func-insert-arg.mlir |
 | mlir/test/lib/IR/TestFunc.cpp |
 | mlir/include/mlir/IR/FunctionSupport.h |
 | mlir/test/IR/test-func-insert-result.mlir |
 | mlir/include/mlir/IR/BuiltinTypes.td |
 | mlir/lib/IR/FunctionSupport.cpp |
 | mlir/lib/IR/BuiltinTypes.cpp |
Commit
0e2d4bd4bfa516977d027ece8597fc8dd1f3c656
by sam.mccall[clangd] Fix gRPC build due to missing include path
|
 | clang-tools-extra/clangd/index/remote/CMakeLists.txt |
Commit
226f925c3f3461cbd3e76f383069b01b5f7db2f3
by gysit[mlir][linalg][python] Update integration of OpDSL doc (NFC).
Move the OpDSL doc to a linalg sub folder and updated the integration in the main linalg documentation.
Differential Revision: https://reviews.llvm.org/D105188
|
 | mlir/docs/Tools/LinalgOpDsl.md |
 | mlir/docs/Rationale/RationaleLinalgDialect.md |
 | mlir/docs/Dialects/Linalg.md |
 | mlir/docs/Dialects/Linalg/_index.md |
 | mlir/docs/Dialects/Linalg/OpDSL.md |
Commit
788a5d4afe6407e647454a9832a7b4a27fba06bf
by andrzej.warzynskiPoC for Flang Driver Plugins
|
 | flang/lib/Frontend/CompilerInvocation.cpp |
 | llvm/lib/Support/DynamicLibrary.cpp |
 | flang/examples/CMakeLists.txt |
 | flang/lib/FrontendTool/ExecuteCompilerInvocation.cpp |
 | flang/include/flang/Frontend/FrontendPluginRegistry.h |
 | llvm/include/llvm/Support/Registry.h |
 | flang/include/flang/Frontend/FrontendActions.h |
 | flang/lib/Frontend/FrontendAction.cpp |
 | flang/include/flang/Frontend/FrontendOptions.h |
 | flang/examples/HelloWorld/CMakeLists.txt |
 | clang/include/clang/Driver/Options.td |
 | flang/examples/HelloWorld/HelloWorldPlugin.cpp |
 | flang/CMakeLists.txt |
 | flang/lib/Frontend/FrontendActions.cpp |
Commit
ea3698ded34419310a92e441e92be1c85444140d
by andrzej.warzynski[flang][docs] Add documentation for the new Flang driver
Differential Revision: https://reviews.llvm.org/D104229
|
 | flang/docs/FlangDriver.md |
Commit
39f64c4c83754b4e436d7fffa31bd70f11d7a657
by Lang Hames[ORC] Add wrapper-function support methods to ExecutorProcessControl.
Adds support for both synchronous and asynchronous calls to wrapper functions using SPS (Simple Packed Serialization). Also adds support for wrapping functions on the JIT side in SPS-based wrappers that can be called from the executor.
These new methods simplify calls between the JIT and Executor, and will be used in upcoming ORC runtime patches to enable communication between ORC and the runtime.
|
 | llvm/include/llvm/ExecutionEngine/Orc/Core.h |
 | llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h |
 | llvm/include/llvm/ExecutionEngine/Orc/OrcRPCExecutorProcessControl.h |
 | llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp |
 | llvm/include/llvm/ExecutionEngine/Orc/Shared/WrapperFunctionUtils.h |
 | llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt |
 | llvm/unittests/ExecutionEngine/Orc/ExecutorProcessControlTest.cpp |
 | llvm/unittests/ExecutionEngine/Orc/WrapperFunctionUtilsTest.cpp |
Commit
c1f068b8f1d5f6ca75acc07fdedf2e7416e834ec
by andrzej.warzynski[flang] Revert "PoC for Flang Driver Plugins"
This patch has not been reviewed and was commited by accident.
This reverts commit 788a5d4afe6407e647454a9832a7b4a27fba06bf.
|
 | flang/lib/Frontend/FrontendAction.cpp |
 | flang/examples/HelloWorld/HelloWorldPlugin.cpp |
 | flang/lib/Frontend/CompilerInvocation.cpp |
 | flang/lib/FrontendTool/ExecuteCompilerInvocation.cpp |
 | flang/examples/CMakeLists.txt |
 | flang/lib/Frontend/FrontendActions.cpp |
 | flang/CMakeLists.txt |
 | llvm/include/llvm/Support/Registry.h |
 | clang/include/clang/Driver/Options.td |
 | flang/examples/HelloWorld/CMakeLists.txt |
 | flang/include/flang/Frontend/FrontendActions.h |
 | flang/include/flang/Frontend/FrontendOptions.h |
 | flang/include/flang/Frontend/FrontendPluginRegistry.h |
 | llvm/lib/Support/DynamicLibrary.cpp |
Commit
820ced136280474a6702a10e9dfb35fdef1a0e6f
by llvmgnsyncbot[gn build] Port 39f64c4c8375
|
 | llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc/BUILD.gn |
Commit
aa454dda2eed4e71081bc57b1f32dfce2486b177
by balazs.benics[analyzer] LValueToRValueBitCasts should evaluate to an r-value
Previously `LValueToRValueBitCast`s were modeled in the same way how a regular `BitCast` was. However, this should not produce an l-value. Modeling bitcasts accurately is tricky, so it's probably better to model this expression by binding a fresh conjured value.
The following code should not result in a diagnostic: ```lang=C++ __attribute__((always_inline)) static inline constexpr unsigned int_castf32_u32(float __A) { return __builtin_bit_cast(unsigned int, __A); // no-warning } ```
Previously, it reported `Address of stack memory associated with local variable '__A' returned to caller [core.StackAddressEscape]`.
Differential Revision: https://reviews.llvm.org/D105017
Reviewed by: NoQ, vsavchenko
|
 | clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp |
 | clang/test/Analysis/builtin_bitcast.cpp |
Commit
55662b24a4755680e4fd34dc22a3dd555fdb1291
by balazs.benics[analyzer][NFC] Inline ExprEngine::handleLVectorSplat()
It seems like ExprEngine::handleLVectorSplat() was used at only 2 places. It might be better to directly inline them for readability.
It seems like these cases were not covered by tests according to my coverage measurement, so I'm adding tests as well, demonstrating that no behavior changed. Besides that, I'm handling CK_MatrixCast similarly to how the rest of the unhandled casts are evaluated.
Differential Revision: https://reviews.llvm.org/D105125
Reviewed by: NoQ
|
 | clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp |
 | clang/test/Analysis/casts.c |
Commit
dc4299a7f3ad7e4fa3c310d585de4e46bde58d16
by flo[BasicAA] Fix typo ScaleForGDC -> ScaleForGCD.
|
 | llvm/lib/Analysis/BasicAliasAnalysis.cpp |
Commit
c32186038d6c581dcf5d12e16c47d003cd6fafff
by czhengsz[PowerPC] add a testcase for byval parameter; NFC
|
 | llvm/test/CodeGen/PowerPC/byval.ll |
Commit
f9937106b7171eb1f4f8914e29c2be0c36ebc46d
by mydeveloperday[clang-format] PR50727 C# Invoke Lamda Expression indentation incorrect
https://bugs.llvm.org/show_bug.cgi?id=50727
When processing C# Lambda expression in the indentation can goes a little wrong, resulting the the closing } being at the wrong indentation level and meaning the remaining part of the file is incorrectly indented.
This can be a fairly common pattern for when C# wants to peform a UI action from a thread, and it wants to invoke that action on the main thread
Reviewed By: exv, jbcoe
Differential Revision: https://reviews.llvm.org/D104388
|
 | clang/lib/Format/UnwrappedLineParser.cpp |
 | clang/unittests/Format/FormatTestCSharp.cpp |
Commit
cd8f979fe48c068e9cd50c283833fa8c4430b20b
by kuhneladded some example code for llvm::Expected<T>
Since I had some fun understanding how to properly use llvm::Expected<T> I added some code examples that I would have liked to see when learning to use it.
Reviewed By: sammccall
Differential Revision: https://reviews.llvm.org/D105014
|
 | llvm/include/llvm/Testing/Support/Error.h |
 | llvm/include/llvm/Support/Error.h |
Commit
7d2d5a3a6d7aaa40468c30250bf6b0938ef02c08
by mizvekov[clang] Apply P1825 as Defect Report from C++11 up to C++20.
This extends the effects of [[ http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1825r0.html | P1825 ]] to all C++ standards from C++11 up to C++20.
According to Motion 23 from Cologne 2019, P1825R0 was accepted as a Defect Report, so we retroactively apply this all the way back to C++11.
Note that we also remove implicit moves from C++98 as an extension altogether, since the expanded first overload resolution from P1825 can cause some meaning changes in C++98. For example it can change which copy constructor is picked when both const and non-const ones are available.
This also rips out warn_return_std_move since there are no cases where it would be worthwhile to suggest it.
This also fixes a bug with bailing into the second overload resolution when encountering a non-rvref qualified conversion operator. This was unnoticed until now, so two new test cases cover these.
Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
Reviewed By: rsmith
Differential Revision: https://reviews.llvm.org/D104500
|
 | clang/test/SemaCXX/P1155.cpp |
 | clang/include/clang/Sema/Sema.h |
 | clang/test/CXX/class/class.init/class.copy.elision/p3.cpp |
 | clang/test/SemaCXX/warn-return-std-move.cpp |
 | clang/lib/Sema/SemaStmt.cpp |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | clang/test/SemaCXX/conversion-function.cpp |
 | clang/test/SemaObjCXX/block-capture.mm |
Commit
47c3fe2a22cf753fd55d08d367fbd817b4dd4a1c
by jeremy.morse[DebugInfo][InstrRef][1/4] Support transformations that widen values
Very late in compilation, backends like X86 will perform optimisations like this:
$cx = MOV16rm $rax, ... -> $rcx = MOV64rm $rax, ...
Widening the load from 16 bits to 64 bits. SEeing how the lower 16 bits remain the same, this doesn't affect execution. However, any debug instruction reference to the defined operand now refers to a 64 bit value, nto a 16 bit one, which might be unexpected. Elsewhere in codegen, there's often this pattern:
CALL64pcrel32 @foo, implicit-def $rax %0:gr64 = COPY $rax %1:gr32 = COPY %0.sub_32bit
Where we want to refer to the definition of $eax by the call, but don't want to refer the copies (they don't define values in the way LiveDebugValues sees it). To solve this, add a subregister field to the existing "substitutions" facility, so that we can describe a field within a larger value definition. I would imagine that this would be used most often when a value is widened, and we need to refer to the original, narrower definition.
Differential Revision: https://reviews.llvm.org/D88891
|
 | llvm/test/DebugInfo/MIR/InstrRef/x86-fixup-bw-inst-subreb.mir |
 | llvm/test/DebugInfo/MIR/InstrRef/twoaddr-to-threeaddr-sub.mir |
 | llvm/lib/CodeGen/MIRPrinter.cpp |
 | llvm/lib/CodeGen/MachineFunction.cpp |
 | llvm/lib/Target/X86/X86FixupBWInsts.cpp |
 | llvm/lib/CodeGen/MIRParser/MIRParser.cpp |
 | llvm/include/llvm/CodeGen/MachineFunction.h |
 | llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp |
 | llvm/test/DebugInfo/MIR/InstrRef/substitusions-roundtrip.mir |
 | llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_instrref_tolocs.mir |
 | llvm/include/llvm/CodeGen/MachineInstr.h |
 | llvm/include/llvm/CodeGen/MIRYamlMapping.h |
 | llvm/lib/CodeGen/MachineInstr.cpp |
Commit
ce857d3cfd42dc7056505e0f45390ef703ff0bfe
by benny.kra[mlir][async] Remove unused variable. NFC.
|
 | mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp |
Commit
73bea97a336ba2da276ef34fd21b2c5c676b0a97
by nicolas.vasilache[mlir][Linalg] Add support for CallOp bufferization (10/n)
Cross function boundary bufferization support is added. This is enabled by cross-function boundary alias analysis, for which the bufferization process is extended: it can now modify the BufferizationAliasInfo as new ops are introduced.
A number of simplifying assumptions are made:
1. by default we bufferize to the most dynamic strided memref type, further memref::CastOp canonicalizations are expected to clean up the IR. 2. in the current implementation, the stride information is always erased at function boundaries. A subsequent pass will be required to analyze the meet of all call ops to a function and decide whether more static buffer types can be used. This will potentially clone functions when it is deemed profitable to do so (e.g. when the stride-1 dimension may vary). 3. external function always bufferize to the most dynamic strided memref version. This may require special annotations for specifying that particular operands of top-level functions have contiguous buffer layout.
An alternative to point 3. would be to support tensor layout annotations, which is currently not supported in MLIR.
Differential revision: https://reviews.llvm.org/D104873
|
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir |
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize-invalid.mlir |
 | mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp |
Commit
2a1ef8784ad9a78583a2f1f3bba536ee57b6b13b
by llvm-dev[CostModel][X86] getCastInstrCost - attempt to match custom cast/conversion before legalized types.
Move the (SSE-only) generic, legalized type conversion matching after the specific,custom conversion cases, allowing us to properly provide cost overrides.
The next step will be to clean up some of the weird existing costs and then to enable AVX+ legalized costs, which will let us strip out a lot of the cost tables entries.
|
 | llvm/lib/Target/X86/X86TargetTransformInfo.cpp |
 | llvm/test/Analysis/CostModel/X86/sitofp.ll |
 | llvm/test/Analysis/CostModel/X86/cast.ll |
Commit
65722561dff2c3110af1617f91eae162f32d5968
by david.spickett[llvm][docs] Bump release number from 12 -> 13
This seems to have been forgotten. The result was the title of pages like https://llvm.org/docs/ReleaseNotes.html
Was: <title>LLVM 13.0.0 Release Notes — LLVM 12 documentation</title>
Reviewed By: tstellar
Differential Revision: https://reviews.llvm.org/D105189
|
 | llvm/docs/conf.py |
Commit
01b846674d27f035becac4c980a91c1204b6587b
by bradley.smith[AArch64][SVE] Add support for fixed length MSCATTER/MGATHER
Since gather lowering can now lower to nodes that may need expansion via the vector legalizer, do MGATHER lowering via vector legalizer.
Additionally, as part of adding passthru support for fixed typed gathers, fix passthru support for scalable types.
Depends on D104910
Differential Revision: https://reviews.llvm.org/D104217
|
 | llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp |
 | llvm/test/CodeGen/AArch64/sve-masked-gather.ll |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h |
 | llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll |
 | llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll |
Commit
231b9dd9de87f15170850e7d752dd6bd19799449
by nicolas.vasilache[mlir][Linalg] Add comprehensive bufferization support for linalg::InitTensor and tensor::CastOp (11/n)
Also add an integration test that connects all the dots end to end, including with cast to unranked tensor for external library calls.
Differential Revision: https://reviews.llvm.org/D105106
|
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir |
 | mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp |
 | mlir/test/Integration/Dialect/Linalg/CPU/test-comprehensive-bufferize.mlir |
Commit
d21a35ac0a958fd4cff0b8f424a2706b8785b89d
by simon.moll[VP] Implementation of intrinsic and SDNode definitions for VP load, store, gather, scatter.
This patch adds intrinsic definitions and SDNodes for predicated load/store/gather/scatter, based on the work done in D57504.
Reviewed By: simoll, craig.topper
Differential Revision: https://reviews.llvm.org/D99355
|
 | llvm/lib/IR/IntrinsicInst.cpp |
 | llvm/include/llvm/IR/IntrinsicInst.h |
 | llvm/include/llvm/IR/Intrinsics.td |
 | llvm/unittests/IR/VPIntrinsicTest.cpp |
 | llvm/include/llvm/IR/VPIntrinsics.def |
 | llvm/include/llvm/CodeGen/SelectionDAGNodes.h |
Commit
55c274d7d30eb4de129a70bf48a063e740b71c9c
by nicolas.vasilache[mlir][Linalg] Drop comprehensive-func-bufferize (12/n)
This revision drops the comprehensive bufferization Function pass, which has issues when trying to bufferize constants. Instead, only support the comprehensive-module-bufferize by default.
Differential Revision: https://reviews.llvm.org/D105228
|
 | mlir/test/Dialect/Linalg/comprehensive-func-bufferize-analysis.mlir |
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize-invalid.mlir |
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir |
 | mlir/include/mlir/Dialect/Linalg/Passes.td |
 | mlir/include/mlir/Dialect/Linalg/Passes.h |
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize-analysis.mlir |
 | mlir/test/Dialect/Linalg/comprehensive-func-bufferize.mlir |
 | mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp |
 | mlir/test/Dialect/Linalg/comprehensive-func-bufferize-analysis-invalid.mlir |
Commit
ed1681ed3aff0f1fb97f1a738938671df098b939
by nicolas.vasilache[mlir][Linalg] Add comprehensive bufferization support for ConstantOp (13/n)
ConstantOp are only supported in the ModulePass because they require a GlobalCreator object that must be constructed from a ModuleOp. If the standlaone FunctionPass encounters a ConstantOp, bufferization fails.
Differential revision: https://reviews.llvm.org/D105156
|
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir |
 | mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp |
Commit
db89414da4eae1c4cde63b8a4b0c762bbebf53b7
by jonathanchesterfield[libomptarget][nfc] Move grid size computation
Change getLaunchVals to return the integers used for launch
Reviewed By: pdhaliwal
Differential Revision: https://reviews.llvm.org/D105237
|
 | openmp/libomptarget/plugins/amdgpu/src/rtl.cpp |
Commit
aa13e4fe7e7b03b827fe2ade346174ce57fb9411
by andrea.dibiagio[llvm-mca] Fix JSON output (PR50922)
Based on the discussion in PR50922, minor changes have been done to properly output a valid JSON. Removed "not implemented" keys.
Differential Revision: https://reviews.llvm.org/D105064
|
 | llvm/test/tools/llvm-mca/JSON/X86/views.s |
 | llvm/tools/llvm-mca/Views/BottleneckAnalysis.h |
 | llvm/tools/llvm-mca/Views/SchedulerStatistics.h |
 | llvm/tools/llvm-mca/Views/RegisterFileStatistics.h |
 | llvm/tools/llvm-mca/Views/View.h |
 | llvm/tools/llvm-mca/PipelinePrinter.cpp |
 | llvm/tools/llvm-mca/Views/InstructionInfoView.cpp |
 | llvm/docs/CommandGuide/llvm-mca.rst |
 | llvm/tools/llvm-mca/Views/DispatchStatistics.cpp |
 | llvm/tools/llvm-mca/Views/RetireControlUnitStatistics.h |
 | llvm/tools/llvm-mca/Views/DispatchStatistics.h |
Commit
e9641c911ef4127da1d98c4e4d37039989e6052b
by jeremy.morse[DebugInfo][InstrRef][2/4] Use subreg substitutions in LiveDebugValues
Added in 47c3fe2a22cf, we sometimes need to describe a variable value substitution with a subregister qualifier, to say that "the value is the lower 32 bits of this 64 bit register def" for example. That then needs support during LiveDebugValues to interpret the subregister qualifiers, which is what this patch adds.
Whenever we encounter a DBG_INSTR_REF and find its value by using a substitution, collect any subregister qualifiers seen. Then, accumulate the effects of the qualifiers to work out what offset and what size should be extracted from the defined register. Finally, for the target ValueIDNum, extract whatever subregister is in the correct position
Currently, describing a subregister field of a larger value that has been spilt to the stack, is unimplemented.
Differential Revision: https://reviews.llvm.org/D88894
|
 | llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp |
 | llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_subreg_substitutions.mir |
Commit
cf76569f6a617b782373548a6b030ab3dd44c6af
by irina.dobrescu[AArch64] Add test for min/max
Differential Revision: https://reviews.llvm.org/D104447
|
 | llvm/test/CodeGen/AArch64/min-max.ll |
Commit
314e456dfe85f8b5c53b85a7d815f7d463fe02ef
by hokein.wu[clang] Fix CallExpr dependence bit may not respect all its arguments.
Before this patch, the dependence of CallExpr was only computed in the constructor, the dependence bits might not reflect truth -- some arguments might be not set (nullptr) during this time, e.g. CXXDefaultArgExpr will be set via the setArg method in the later parsing stage, so we need to recompute the dependence bits.
|
 | clang/include/clang/AST/Expr.h |
 | clang/lib/AST/Expr.cpp |
 | clang/test/SemaCXX/recovery-expr-type.cpp |
 | clang/lib/Sema/SemaExpr.cpp |
Commit
b122ff71f3084d70dea7bf75c08414bf4bc1b38d
by flo[AArch64] Add fp16 tests for vector copysign.
Add additional fp16 vector tests for copysign, to show improvements in follow-up patch.
|
 | llvm/test/CodeGen/AArch64/vector-fcopysign.ll |
Commit
e77191c35e334bbdbb72aeaecb44c7b5f6bfd31b
by andrzej.warzynski[flang][driver] Extend the `flang` bash script to act as a driver
Until now, `f18` would: 1. Use Flang to unparse the input files 2. Call an external Fortran compiler to compile the unparsed source files (generated in step 1)
With this patch, `f18` will stop after unparsing the input source files, i.e. step 1 above. The `flang` bash script will take care of step 2, i.e. calling an external Fortran compiler driver to compile them. This way: * the functionality of `f18` is reduced - it will only drive Flang (as opposed to delegating code-generation to an external tool on top of this) * we will able to switch between `f18` and `flang-new` for unparsing before an external Fortran compiler is called for code-generation
The updated `flang` bash script needs to specify the output file when using the `-fdebug-unparse` action. Both `f18` and `flang-new` have been updated accordingly.
These changes were discussed in [1] as a requirement for replacing `f18` with `flang-new`.
[1] https://lists.llvm.org/pipermail/flang-dev/2021-April/000677.html
Differential Revision: https://reviews.llvm.org/D103177
|
 | flang/tools/f18/flang.in |
 | flang/tools/f18/flang |
 | flang/tools/f18/CMakeLists.txt |
 | flang/tools/f18/f18.cpp |
 | flang/lib/Frontend/FrontendActions.cpp |
Commit
67643f46ee9fb08e32075d67715a59c840aa761b
by a.bataev[OPENMP]Fix PR50640: OpenMP target clause implicitly scaling loop bounds to uint64_t.
Need to add some conversions to suppress possible warning messages.
Differential Revision: https://reviews.llvm.org/D105187
|
 | clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp |
 | clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp |
 | clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp |
 | clang/lib/Sema/SemaOpenMP.cpp |
 | clang/test/OpenMP/distribute_parallel_for_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_ast_print.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp |
 | clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_generic_mode_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp |
Commit
51b4ab26ca583b8d313da7663478392196ae6b6a
by david.sherwood[NFC] Add new setDebugLocFromInst that uses the class Builder by default
In lots of places we were calling setDebugLocFromInst and passing in the same Builder member variable found in InnerLoopVectorizer. I personally found this confusing so I've changed the interface to take an Optional<IRBuilder<> *> and we can now pass in None when we want to use the class member variable.
Differential Revision: https://reviews.llvm.org/D105100
|
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
Commit
d93ca4d27ef75676728eaeff47457ebd22eb234f
by a.bataevRevert "[OPENMP]Fix PR50640: OpenMP target clause implicitly scaling loop bounds to uint64_t."
This reverts commit 67643f46ee9fb08e32075d67715a59c840aa761b to fix unexpected diagnostic notes.
|
 | clang/lib/Sema/SemaOpenMP.cpp |
 | clang/test/OpenMP/distribute_parallel_for_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_ast_print.cpp |
 | clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp |
 | clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp |
 | clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_generic_mode_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp |
 | clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp |
Commit
c475efe9162437045d7292befc5e4d35ad5c4351
by Louis Dionne[libc++] Fix incorrect shell expansion in macos-ci-setup
|
 | libcxx/utils/ci/macos-ci-setup |
Commit
24d76419d6b7a3191ec1f4bfc33a640e716f11c8
by samuel.tebbs[ARM] Transform a floating-point to fixed-point conversion to a VCVT_fix
Much like fixed-point to floating-point conversion, the converse can also be transformed into a fixed-point VCVT. This patch transforms multiplications of floating point numbers by 2^n into a VCVT_fix. The exception is that a float to fixed conversion with 1 fractional bit ends up being an FADD (FADD(x, x) emulates FMUL(x, 2)) rather than an FMUL so there is a special case for that. This patch also moves the code from https://reviews.llvm.org/D103903 into a separate function as fixed to float and float to fixed are very similar.
Differential Revision: https://reviews.llvm.org/D104793
|
 | llvm/test/CodeGen/Thumb2/mve-vcvt-fixed-to-float.ll |
 | llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp |
 | llvm/test/CodeGen/Thumb2/mve-vcvt-float-to-fixed.ll |
 | llvm/test/CodeGen/Thumb2/mve-vcvt-fixed.ll |
Commit
513ad683157d547628e246cc86487a70ddadf98d
by sjoerd.meijer[AArch64] Add some more tests to CodeGen/AArch64/aarch64-load-ext.ll. NFC.
|
 | llvm/test/CodeGen/AArch64/aarch64-load-ext.ll |
Commit
4a361f52093b976401a78bdd261964e45492f2e3
by aschwaighofer[coro async] Add support for specifying which parameter is swiftself in async resume functions
Differential Revision: https://reviews.llvm.org/D104147
|
 | llvm/test/Transforms/Coroutines/coro-async.ll |
 | llvm/lib/Transforms/Coroutines/CoroSplit.cpp |
Commit
5e5ba14b4d839dab361fcd929b45e9a35ca315c8
by llvm-dev[CostModel][X86] Adjust fp<->int vXi32 SSE legalized costs based on llvm-mca reports.
Building on rG2a1ef8784ad9a, adjust the SSE cost tables to use the legalized types based on the worst case costs from the script in D103695.
To account for different numbers of src/dst legalized type registers we must scale the cost by maximum of the src/dst, not just use src
|
 | llvm/test/Transforms/SLPVectorizer/X86/sitofp-inseltpoison.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/alternate-cast.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/uitofp.ll |
 | llvm/test/Analysis/CostModel/X86/uitofp.ll |
 | llvm/test/Analysis/CostModel/X86/cast.ll |
 | llvm/test/Analysis/CostModel/X86/sitofp.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/sitofp.ll |
 | llvm/lib/Target/X86/X86TargetTransformInfo.cpp |
 | llvm/test/Analysis/CostModel/X86/fptoui.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/alternate-cast-inseltpoison.ll |
Commit
0af9b25affc9187bc8314bc3999a0ef8b16b522a
by llvm-dev[LoopVectorize][X86] Regenerate conversion-cost.ll tests
|
 | llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll |
Commit
2f79acb7b701c41494abff588b5f03a74ea2e11d
by thakis[clangd] Unbreak mac build differently 0c96a92d8666b8
This reverts b56e5f8a10c1 (and follow-up f6db88535cb) and instead restores the state we had before 0c96a92d8666b8: ClangdMain.cpp includes Features.inc before including Transport.h.
This is a bit ugly, but it matches the former state and making Transport.h include Features.h means that xpc/ needs to be able to find the generated Features.inc, wich is also a bit ugly.
|
 | clang-tools-extra/clangd/Transport.h |
 | clang-tools-extra/clangd/tool/ClangdMain.cpp |
 | llvm/utils/gn/secondary/clang-tools-extra/clangd/xpc/BUILD.gn |
Commit
3eb2158f4fea90d56aeb200a5ca06f536c1df683
by a.bataev[OPENMP]Fix PR50640: OpenMP target clause implicitly scaling loop bounds to uint64_t.
Need to add some conversions to suppress possible warning messages.
Differential Revision: https://reviews.llvm.org/D105187
|
 | clang/lib/Sema/SemaOpenMP.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_ast_print.cpp |
 | clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp |
 | clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp |
 | clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_generic_mode_codegen.cpp |
 | clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp |
 | clang/test/OpenMP/distribute_parallel_for_codegen.cpp |
Commit
71d5b0a7572010e07430dd0c3c79bb6c4ebfdfac
by irina.dobrescu[AArch64][GlobalISel]Legalise some vector types for min/max
Differential Revision: https://reviews.llvm.org/D105200
|
 | llvm/test/CodeGen/AArch64/GlobalISel/legalize-min-max.mir |
 | llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp |
Commit
42d7d52314e0719b899b6e7ba924d34260866880
by david.green[ARM] Extra BFI codegen tests. NFC
|
 | llvm/test/CodeGen/ARM/bfi.ll |
Commit
661577e698645d0645a5639ec180f0e3c83af021
by Stanislav.Mekhanoshin[AMDGPU] Fix immediate sign during V_MOV_B64_PSEUDO expansion
Creating a V_MOV_B32 with zero extended immediate source prevented conversion to V_BFREV_B32.
Differential Revision: https://reviews.llvm.org/D105235
|
 | llvm/test/CodeGen/AMDGPU/v_mov_b64_expansion.mir |
 | llvm/lib/Target/AMDGPU/SIInstrInfo.cpp |
 | llvm/test/CodeGen/AMDGPU/v_mov_b64_expand_and_shrink.mir |
Commit
2668727929e497553eba485876eb6190d38cc367
by bradley.smith[SelectionDAG] Implement PromoteIntRes_INSERT_SUBVECTOR
Inserting into a smaller-than-legal scalable vector would result in an internal compiler error. For example, inserting a <vscale x 4 x i8> into a <vscale x 8 x i8> (both illegal vector types for SVE) would cause a crash.
This crash was happening because there was no code to promote (legalise) the result of an INSERT_SUBVECTOR node.
This patch implements PromoteIntRes_INSERT_SUBVECTOR, which legalises the ISD node. This is currently done by going through memory. This is necessary because of the requirement that the SubVec parameter of the INSERT_SUBVECTOR node must be smaller than the Vec parameter, which means that INSERT_SUBVECTOR cannot always have a legal result/operand types.
Co-Authored-by: Joe Ellis <joe.ellis@arm.com>
Differential Revision: https://reviews.llvm.org/D102766
|
 | llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h |
 | llvm/test/CodeGen/AArch64/insert-subvector-res-legalization.ll |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
Commit
99c7e918b5ea2262635cc5f80b8887e487227638
by Matthew.ArsenaultGlobalISel: Use LLT in call lowering callbacks
This preserves the memory type so the lowerings can rely on them.
|
 | llvm/lib/Target/M68k/GlSel/M68kCallLowering.h |
 | llvm/lib/Target/PowerPC/GISel/PPCCallLowering.h |
 | llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp |
 | llvm/test/CodeGen/X86/GlobalISel/irtranslator-callingconv.ll |
 | llvm/lib/Target/M68k/GlSel/M68kCallLowering.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp |
 | llvm/lib/CodeGen/GlobalISel/CallLowering.cpp |
 | llvm/lib/Target/ARM/ARMCallLowering.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/call-translator-tail-call.ll |
 | llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h |
 | llvm/lib/Target/PowerPC/GISel/PPCCallLowering.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll |
 | llvm/lib/Target/X86/X86CallLowering.cpp |
Commit
8c7349b3f43267036f6c133d3502def86307528a
by nikita.ppv[OpaquePtr] Support opaque pointers in intrinsic type check
This adds support for opaque pointers in intrinsic type checks of IIT kind Pointer and PtrToElt.
This is less straight-forward than it might initially seem, because we should only accept opaque pointers here in --force-opaque-pointers mode. Otherwise, there would be more than one valid type signature for a given intrinsic name.
Differential Revision: https://reviews.llvm.org/D105155
|
 | llvm/include/llvm/IR/LLVMContext.h |
 | llvm/lib/IR/LLVMContext.cpp |
 | llvm/lib/IR/Function.cpp |
 | llvm/test/Other/force-opaque-ptrs.ll |
 | llvm/test/Assembler/remangle-intrinsic-opaque-ptr.ll |
Commit
266a7414d8f2643be2b1dad86693b12a9f1246fa
by ajcbik[mlir][sparse] move tensor expression builder into Merger utility
Rationale: Follow-up on migrating lattice and tensor expression related methods into the new utility. This also prepares the next step of generalizing the op kinds that are handled.
Reviewed By: gussmith23
Differential Revision: https://reviews.llvm.org/D105219
|
 | mlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h |
 | mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp |
 | mlir/lib/Dialect/SparseTensor/Utils/CMakeLists.txt |
 | mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp |
Commit
369216ab3132623e98c8c974ded915803f080dcf
by tianshilei1992[OpenMP][Offloading] Refined return value of `DeviceTy::getOrAllocTgtPtr`
`DeviceTy::getOrAllocTgtPtr` just returns a target pointer. In addition, two bool values (`IsNew` and `IsHostPtr`) are passed by reference to make the change in the function available in callee.
In this patch, a struct, which contains the target pointer, two flags, and an iterator to the map table entry corresponding to the queried host pointer, will be returned. In addition to make the logic clearer regarding the two bool values, this paves the way for the next patch to fix the data race in `bug49334.cpp` by attaching an event to the map table entry (and that's why we need the iterator).
Reviewed By: grokos
Differential Revision: https://reviews.llvm.org/D104382
|
 | openmp/libomptarget/src/omptarget.cpp |
 | openmp/libomptarget/src/device.h |
 | openmp/libomptarget/src/device.cpp |
Commit
c605dfcfc0c1c1605d254b00536351e2e8a87e19
by arjunpitchanathan[MLIR] FlatAffineConstraints: Use Matrix objects to store the constraints
This results in significant deduplication of code. This patch is not expected to change any functionality, it's just some simplification in preparation for future work. Also slightly simplified some code that was being touched anyway and added some unit tests for some functions that were touched.
Reviewed By: bondhugula
Differential Revision: https://reviews.llvm.org/D105152
|
 | mlir/unittests/Analysis/Presburger/MatrixTest.cpp |
 | mlir/include/mlir/Analysis/Presburger/Matrix.h |
 | mlir/include/mlir/Analysis/AffineStructures.h |
 | mlir/unittests/Analysis/AffineStructuresTest.cpp |
 | mlir/lib/Analysis/AffineStructures.cpp |
 | mlir/lib/Analysis/Presburger/Matrix.cpp |
Commit
bef9464c514ad868eb99c4ad391690ac2eb690c1
by gcmn[Bazel] Fixes for 266a7414d8
Adds LinalgOps dep needed for https://github.com/llvm/llvm-project/commit/266a7414d8f26
Differential Revision: https://reviews.llvm.org/D105294
|
 | utils/bazel/llvm-project-overlay/mlir/BUILD.bazel |
Commit
bc7cc2074b7b7043e05cb46346f1368eb4ae9949
by aaronFix an accepts-invalid issue with [[]] attributes in the type position in C
A user reported an issue to me via email that Clang was accepting some code that GCC was rejecting. After investigation, it turned out to be a general problem of us failing to properly reject attributes written in the type position in C when they don't apply to types. The root cause was a terminology issue -- we sometimes use "CXX11Attr" to mean [[]] in C++11 mode and sometimes [[]] in general -- and this came back to bite us because in this particular case, it really meant [[]] in C++ mode.
I fixed the issue by introducing a new function AttributeCommonInfo::isStandardAttributeSyntax() to represent [[]] in either C or C++ mode.
This fix pointed out that we've had the issue in some of our existing tests, which have all been corrected. This resolves https://bugs.llvm.org/show_bug.cgi?id=50954.
|
 | clang/lib/Sema/SemaType.cpp |
 | clang/lib/Parse/Parser.cpp |
 | clang/lib/Sema/SemaDeclAttr.cpp |
 | clang/test/AST/ast-dump-c-attr.c |
 | clang/test/Sema/attr-external-source-symbol.c |
 | clang/test/Sema/c2x-maybe_unused-errors.c |
 | clang/test/Sema/overloadable.c |
 | clang/include/clang/Basic/AttributeCommonInfo.h |
 | clang/test/Sema/attr-availability-square-brackets.c |
 | clang/test/Sema/attr-c2x.c |
 | clang/test/Sema/attr-deprecated-c2x.c |
Commit
955f12589940634acc6c9901e8b25534808f691c
by listmail[instcombine] Fold overflow check using overflow intrinsic to comparison
This follows up to D104665 (which added umulo handling alongside the existing uaddo case), and generalizes for the remaining overflow intrinsics.
I went to add analogous handling to LVI, and discovered that LVI already had a more general implementation. Instead, we can port was LVI does to instcombine. (For context, LVI uses makeExactNoWrapRegion to constrain the value 'x' in blocks reached after a branch on the condition `op.with.overflow(x, C).overflow`.)
Differential Revision: https://reviews.llvm.org/D104932
|
 | llvm/test/Transforms/InstCombine/saddo.ll |
 | llvm/lib/Transforms/InstCombine/InstructionCombining.cpp |
 | llvm/test/Transforms/InstCombine/usubo.ll |
 | llvm/test/Transforms/InstCombine/smulo.ll |
 | llvm/test/Transforms/InstCombine/ssubo.ll |
Commit
f03d29601e0951da2c88f07d4234128e14e87870
by code[NFC][compiler-rt] add back solaris xfail for unpoison-alternate-stack.cpp
|
 | compiler-rt/test/asan/TestCases/Posix/unpoison-alternate-stack.cpp |
Commit
39a15b5ae00df9a5e35f67dbffaed082b7e54d50
by Vitaly Buka[NFC][scudo] Extract MapAllocatorTest for TEST_F
|
 | compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp |
Commit
7d207472030a244d540fa53e47a734675b289a94
by Vitaly Buka[gwp_asan] Improve symbolizer script
Show inlined functions. Hide unhelpful DWARF related warnings.
Reviewed By: hctim
Differential Revision: https://reviews.llvm.org/D105230
|
 | compiler-rt/lib/gwp_asan/scripts/symbolize.sh |
Commit
f83654982be65567d41c513b27ef76c3c64946f5
by Louis Dionne[libc++] Migrate the additional_features parameter to the DSL
This is required to run the tests under any configuration that uses additional_features using a from-scratch config. That is the case of e.g. the Debug mode (which uses LIBCXX-DEBUG-FIXME) and the tests on Windows.
|
 | libcxx/utils/libcxx/test/dsl.py |
 | libcxx/test/libcxx/selftest/dsl/dsl.sh.py |
 | libcxx/utils/libcxx/test/config.py |
 | libcxx/utils/libcxx/test/params.py |
Commit
000444214f1658de9905533231f4c80fde2b7f1b
by zoecarver[libcxx] Update optional star operator to be noexcept.
Differential Revision: https://reviews.llvm.org/D105296
|
 | libcxx/include/optional |
 | libcxx/test/std/utilities/optional/optional.object/optional.object.observe/dereference_rvalue.pass.cpp |
 | libcxx/test/std/utilities/optional/optional.object/optional.object.observe/dereference.pass.cpp |
 | libcxx/test/std/utilities/optional/optional.object/optional.object.observe/dereference_const_rvalue.pass.cpp |
 | libcxx/test/std/utilities/optional/optional.object/optional.object.observe/dereference_const.pass.cpp |
Commit
050b064f15ee56ee0b42c9b957a3dd0f32532394
by Louis Dionne[libcxx][functional][modular] splices <functional> into modular headers
Differential Revision: https://reviews.llvm.org/D104942
|
 | libcxx/include/experimental/functional |
 | libcxx/include/__functional/perfect_forward.h |
 | libcxx/include/ext/__hash |
 | libcxx/include/__functional/operations.h |
 | libcxx/include/__functional/default_searcher.h |
 | libcxx/include/__functional/pointer_to_binary_function.h |
 | libcxx/include/__functional/mem_fn.h |
 | libcxx/include/__functional_base_03 |
 | libcxx/include/memory |
 | libcxx/include/set |
 | libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/deduct.pass.cpp |
 | libcxx/include/typeindex |
 | libcxx/include/system_error |
 | libcxx/include/__ranges/ref_view.h |
 | libcxx/include/__functional/binary_function.h |
 | libcxx/include/__memory/allocator_arg_t.h |
 | libcxx/include/functional |
 | libcxx/include/__functional_03 |
 | libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp |
 | libcxx/include/concepts |
 | libcxx/include/__string |
 | libcxx/include/__functional/binder2nd.h |
 | libcxx/include/__functional/pointer_to_unary_function.h |
 | libcxx/include/__memory/unique_ptr.h |
 | libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/result_of.pass.cpp |
 | libcxx/include/__functional/identity.h |
 | libcxx/include/unordered_set |
 | libcxx/include/__functional/bind.h |
 | libcxx/include/__memory/shared_ptr.h |
 | libcxx/include/__functional/binary_negate.h |
 | libcxx/include/__functional/is_transparent.h |
 | libcxx/include/__functional/unary_negate.h |
 | libcxx/include/__memory/uses_allocator.h |
 | libcxx/include/__functional/reference_wrapper.h |
 | libcxx/include/unordered_map |
 | libcxx/include/module.modulemap |
 | libcxx/include/queue |
 | libcxx/include/map |
 | libcxx/include/__functional/weak_result_type.h |
 | libcxx/include/__functional/mem_fun_ref.h |
 | libcxx/include/__functional/not_fn.h |
 | libcxx/include/CMakeLists.txt |
 | libcxx/include/__functional/bind_front.h |
 | libcxx/include/stack |
 | libcxx/include/__functional/invoke.h |
 | libcxx/include/__functional/unwrap_ref.h |
 | libcxx/include/__iterator/advance.h |
 | libcxx/include/future |
 | libcxx/include/experimental/__memory |
 | libcxx/include/__functional/function.h |
 | libcxx/include/__functional/ranges_operations.h |
 | libcxx/include/__functional/binder1st.h |
 | libcxx/include/__functional_base |
 | libcxx/include/tuple |
Commit
a319eafd160d8d8f3ebd47a3a636e01597b36bff
by jasonliu[libc++] Provide c++03 alternative for va_copy if available in xlocale.h
Summary: If we are on c++03 mode for some reason, and __builtin_va_copy is available, then use it instead of error out on not having va_copy in 03 mode.
Reviewed by: ldionne
Differential Revision: https://reviews.llvm.org/D100336
|
 | libcxx/include/__support/ibm/xlocale.h |
Commit
c360553c15a8e5aa94d2236eb73e7dfeab9543e5
by Louis Dionne[runtimes] Simplify how we specify XFAIL & friends based on the triple
Now that Lit supports regular expressions inside XFAIL & friends, it is much easier to write Lit annotations based on the triple.
Differential Revision: https://reviews.llvm.org/D104747
|
 | libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/path.pass.cpp |
 | libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp |
 | libcxx/test/std/utilities/charconv/charconv.to.chars/integral.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get.pass.cpp |
 | libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp |
 | libcxx/test/std/re/re.alg/re.alg.search/awk.locale.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp |
 | libunwind/test/signal_unwind.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/int.pass.cpp |
 | libcxx/test/libcxx/thread/latch.availability.verify.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long_long.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/streambuf.pass.cpp |
 | libcxx/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp |
 | libcxx/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_weekday_wide.pass.cpp |
 | libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp |
 | libcxxabi/test/catch_pointer_nullptr.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_encoding.pass.cpp |
 | libcxx/test/std/utilities/optional/optional.bad_optional_access/derive.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp |
 | libcxx/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp |
 | libcxx/test/libcxx/thread/semaphore.availability.verify.cpp |
 | libcxx/test/std/utilities/charconv/charconv.from.chars/integral.roundtrip.pass.cpp |
 | libcxx/test/std/thread/thread.latch/arrive_and_wait.pass.cpp |
 | libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp |
 | libcxx/test/std/thread/thread.semaphore/acquire.pass.cpp |
 | libcxx/test/std/utilities/variant/variant.get/get_index.pass.cpp |
 | libcxx/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp |
 | libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/ctor_char16_t_char8_t.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_in.pass.cpp |
 | libcxx/test/std/utilities/any/any.nonmembers/make_any.pass.cpp |
 | libcxx/test/std/localization/locales/locale/locale.statics/global.pass.cpp |
 | libcxx/test/std/thread/thread.latch/try_wait.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/types_char16_t_char8_t.pass.cpp |
 | libcxx/test/std/utilities/any/any.class/any.modifiers/reset.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp |
 | libcxx/test/libcxx/memory/aligned_allocation_macro.compile.pass.cpp |
 | libcxx/test/std/re/re.alg/re.alg.search/basic.locale.pass.cpp |
 | libcxxabi/test/incomplete_type.sh.cpp |
 | libcxx/test/libcxx/language.support/cxa_deleted_virtual.pass.cpp |
 | libcxx/test/std/localization/locales/locale/locale.cons/locale_locale_cat.pass.cpp |
 | libcxx/utils/libcxx/test/params.py |
 | libcxx/test/std/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp |
 | libcxx/test/std/thread/thread.semaphore/try_acquire.pass.cpp |
 | libcxx/test/std/re/re.alg/re.alg.search/extended.locale.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_unshift.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_for.pass.cpp |
 | libcxx/test/std/thread/thread.barrier/arrive.pass.cpp |
 | libcxx/test/std/utilities/variant/variant.visit/visit_return_type.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/getline_pointer_size_chart.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long.pass.cpp |
 | libcxx/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp |
 | libcxx/test/std/input.output/iostreams.base/ios.base/ios.types/ios_Init/ios_Init.multiple.pass.cpp |
 | libcxx/test/std/re/re.alg/re.alg.search/ecma.locale.pass.cpp |
 | libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/check_arg_id.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_max_length.pass.cpp |
 | libcxx/test/std/utilities/optional/optional.object/optional.object.observe/value.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/getline_pointer_size.pass.cpp |
 | libcxx/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_init_list_args.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_chart.pass.cpp |
 | libcxx/test/std/re/re.traits/lookup_collatename.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_weekday.pass.cpp |
 | libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/next_arg_id.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minmax_showbase.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_ctor.pass.cpp |
 | libcxx/test/std/thread/futures/futures.async/async_race.38682.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp |
 | libcxx/test/std/localization/locales/locale/locale.cons/assign.pass.cpp |
 | libcxx/test/std/utilities/time/time.clock/time.clock.file/now.pass.cpp |
 | libcxxabi/test/uncaught_exceptions.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_pointer_size.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/copy.compile.fail.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_long.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_one.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/peek.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/mutex.pass.cpp |
 | libcxx/test/std/thread/thread.barrier/completion.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock_shared.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock.pass.cpp |
 | libcxxabi/test/forced_unwind2.pass.cpp |
 | libcxxabi/test/catch_member_pointer_nullptr.pass.cpp |
 | libcxx/test/libcxx/language.support/support.dynamic/aligned_alloc_availability.verify.cpp |
 | libcxx/test/libcxx/thread/atomic.availability.verify.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_time_point.pass.cpp |
 | libcxxabi/test/catch_multi_level_pointer.pass.cpp |
 | libcxxabi/test/dynamic_cast.pass.cpp |
 | libcxx/test/std/localization/locales/locale/locale.cons/copy.pass.cpp |
 | libcxxabi/test/exception_object_alignment.pass.cpp |
 | libcxx/test/std/utilities/any/any.nonmembers/swap.pass.cpp |
 | libcxx/test/std/language.support/support.exception/uncaught/uncaught_exceptions.pass.cpp |
 | libcxx/test/std/utilities/variant/variant.visit/robust_against_adl.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock_shared.pass.cpp |
 | libcxx/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp |
 | libcxx/test/std/localization/locales/locale/locale.cons/string.pass.cpp |
 | libcxx/test/std/numerics/rand/rand.device/ctor.pass.cpp |
 | libcxx/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp |
 | libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_fsizeddeallocation.pass.cpp |
 | libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp |
 | libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp |
 | libcxx/test/libcxx/thread/barrier.availability.verify.cpp |
 | libcxx/test/std/input.output/filesystems/lit.local.cfg |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/float.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_unshift.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/assign.compile.fail.cpp |
 | libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_length.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/types_char32_t_char8_t.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_pointer_size_chart.pass.cpp |
 | libcxx/test/std/utilities/optional/optional.bad_optional_access/default.pass.cpp |
 | libcxx/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp |
 | libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock_shared.pass.cpp |
 | libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp |
 | libcxx/test/std/thread/thread.semaphore/binary.pass.cpp |
 | libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp |
 | libcxx/test/std/localization/locales/locale/locale.cons/locale_char_pointer_cat.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_long_long.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_out.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore.pass.cpp |
 | libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/ctor_char32_t_char8_t.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/default.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/double.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp |
 | libcxx/test/std/utilities/any/any.class/any.assign/copy.pass.cpp |
 | libcxx/test/std/utilities/memory/temporary.buffer/overaligned.pass.cpp |
 | libcxx/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until.pass.cpp |
 | libcxx/test/libcxx/language.support/support.dynamic/new_faligned_allocation.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp |
 | libcxx/test/std/utilities/format/format.error/format.error.pass.cpp |
 | libcxx/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/owns_lock.pass.cpp |
 | libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp |
 | libcxx/test/std/re/re.alg/re.alg.match/basic.locale.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_defer_lock.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minus1.pass.cpp |
 | libcxx/test/libcxx/utilities/charconv/charconv.to.chars/availability.fail.cpp |
 | libcxx/test/std/localization/locales/locale/locale.cons/locale_facetptr.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_for.pass.cpp |
 | libcxx/test/std/localization/locales/locale/locale.members/combine.pass.cpp |
 | libcxx/test/std/re/re.alg/re.alg.match/awk.locale.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until_deadlock_bug.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_char16_t_char8_t.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_try_to_lock.pass.cpp |
 | libcxxabi/test/test_exception_address_alignment.pass.cpp |
 | libcxx/test/std/utilities/any/any.class/any.assign/move.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/pointer.pass.cpp |
 | libcxx/test/std/re/re.alg/re.alg.match/extended.locale.pass.cpp |
 | libcxx/test/std/localization/locales/locale/locale.cons/locale_string_cat.pass.cpp |
 | libcxx/test/std/utilities/any/any.class/any.cons/value.pass.cpp |
 | libcxx/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp |
 | libcxx/test/std/utilities/any/any.class/any.assign/value.pass.cpp |
 | libcxx/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/default.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp |
 | libunwind/test/unwind_leaffunction.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_until.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock.pass.cpp |
 | libcxx/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.signals.pass.cpp |
 | libcxx/test/std/input.output/file.streams/fstreams/fstream.members/open_path.pass.cpp |
 | libcxxabi/test/test_demangle.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg_off.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_streambuf_chart.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/utf_sanity_check.pass.cpp |
 | libcxx/test/std/thread/thread.semaphore/release.pass.cpp |
 | libcxx/test/std/utilities/any/any.class/any.cons/move.pass.cpp |
 | libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp |
 | libcxxabi/test/catch_function_01.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/read.pass.cpp |
 | libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/assign.fail.cpp |
 | libcxxabi/test/test_aux_runtime_op_array_new.pass.cpp |
 | libcxx/test/std/re/re.alg/re.alg.match/ecma.locale.pass.cpp |
 | libcxx/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_assign.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_short.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_streambuf.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_duration.pass.cpp |
 | libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp |
 | libcxx/test/std/utilities/optional/optional.specalg/make_optional.pass.cpp |
 | libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/path.pass.cpp |
 | libcxxabi/test/catch_member_data_pointer_01.pass.cpp |
 | libcxx/test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_length.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/copy.fail.cpp |
 | libcxx/test/std/utilities/optional/optional.object/optional.object.observe/value_const.pass.cpp |
 | libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp |
 | libcxx/test/std/utilities/optional/optional.object/optional.object.observe/value_const_rvalue.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_one_wide.pass.cpp |
 | libcxx/test/std/utilities/any/any.nonmembers/any.cast/any_cast_request_invalid_value_category.fail.cpp |
 | libcxx/test/std/strings/basic.string/string.capacity/reserve_size.pass.cpp |
 | libcxx/test/std/utilities/any/any.nonmembers/any.cast/const_correctness.fail.cpp |
 | libcxxabi/test/catch_ptr_02.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_in.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp |
 | libcxx/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp |
 | libcxx/test/std/localization/locales/locale/locale.statics/classic.pass.cpp |
 | libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp |
 | libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp |
 | libcxx/test/std/utilities/any/any.nonmembers/any.cast/not_copy_constructible.fail.cpp |
 | libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.pass.cpp |
 | libcxx/test/std/utilities/any/any.class/any.modifiers/swap.pass.cpp |
 | libunwind/test/remember_state_leak.pass.sh.s |
 | libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/default.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_encoding.pass.cpp |
 | libcxx/test/std/thread/thread.semaphore/timed.pass.cpp |
 | libcxx/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp |
 | libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/open_path.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_adopt_lock.pass.cpp |
 | libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp |
 | libcxx/test/std/utilities/any/any.nonmembers/any.cast/any_cast_pointer.pass.cpp |
 | libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long_double.pass.cpp |
 | libcxx/test/std/utilities/variant/variant.get/get_type.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_always_noconv.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_max_length.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_int.pass.cpp |
 | libcxx/test/std/localization/locales/locale/locale.cons/default.pass.cpp |
 | libcxx/test/std/utilities/variant/variant.visit/visit.pass.cpp |
 | libcxx/test/std/thread/thread.barrier/arrive_and_wait.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp |
 | libcxx/test/libcxx/thread/thread.condition/PR30202_notify_from_pthread_created_thread.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_char32_t_char8_t.pass.cpp |
 | libcxx/test/std/thread/futures/futures.future_error/what.pass.cpp |
 | libcxx/test/std/utilities/any/any.class/any.cons/copy.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/bool.pass.cpp |
 | libcxx/test/std/thread/thread.latch/count_down.pass.cpp |
 | libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/short.pass.cpp |
 | libcxx/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_init_list_args.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_always_noconv.pass.cpp |
 | libcxx/test/std/input.output/file.streams/fstreams/ofstream.members/open_path.pass.cpp |
 | libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_out.pass.cpp |
 | libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared.pass.cpp |
 | libcxx/test/std/numerics/rand/rand.device/eval.pass.cpp |
 | libcxxabi/test/forced_unwind1.pass.cpp |
 | libcxxabi/test/cxa_vec_new_overflow_PR41395.pass.cpp |
 | libcxx/test/std/thread/thread.barrier/arrive_and_drop.pass.cpp |
 | libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/path.pass.cpp |
 | libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp |
 | libcxx/test/std/input.output/file.streams/fstreams/filebuf.members/open_path.pass.cpp |
Commit
83887df15597990308e9903d0480fa7676d772a1
by scott.linder[ADT] Follow up to fix bug in "Add makeVisitor to STLExtras.h"
Address mistakenly comparing the pointer values of two C-style strings rather than comparing their contents in the unit tests for makeVisitor, added in 6d6f35eb7b92c6dd4478834497752f4e963db16d
|
 | llvm/unittests/ADT/STLExtrasTest.cpp |
Commit
460dfbd9f83f1178ee754e2734322ddacbd707f3
by nikita.ppv[OpaquePtr] Support VecOfAnyPtrsToElt intrinsics
In this case the pointer type is part of the mangled name, so we can allow on opaque pointer outside --force-opaque-pointers mode as well.
|
 | llvm/lib/IR/Function.cpp |
 | llvm/test/Verifier/opaque-ptr.ll |
Commit
19443c13b5d02b0bc2a0d641c65dd6842f5a5511
by thakis[gn build] Port 050b064f15ee
|
 | llvm/utils/gn/secondary/libcxx/include/BUILD.gn |
Commit
8eb4b3e2be008fc3455b3c2820b1b55d2a5c25f0
by gysit[CMake][MLIR][Linalg] Adding variable to specify tablegen file dependencies.
Synchronizing multiple custom targets requires not only target but also file dependencies. Building Linalg involves running yaml-gen followed by tablegen. Currently, these custom targets are only synchronized using a target dependency resulting in issues in specific incremental build setups (https://llvm.discourse.group/t/missing-build-cmake-tblgen-dependency/3727/10).
This patch introduces a novel LLVM_TARGET_DEPENDS variable to the TableGen.cmake file to provide a way to specify file dependencies. Additionally, it adapts the Linalg CMakeLists.txt to introduce the necessary file dependency between yaml-gen and tablegen.
Differential Revision: https://reviews.llvm.org/D105272
|
 | mlir/include/mlir/Dialect/Linalg/IR/CMakeLists.txt |
 | llvm/cmake/modules/TableGen.cmake |
Commit
33b579c8a5efa476b8a1bd528fe5e47429249847
by Vitaly Buka[NFC][scudo] Exctract getOptionsForConfig in test
|
 | compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp |
Commit
fe08e9c4871e8842dc5c8f75a4796a86029c1ebe
by thakis[lld-macho] Add support for LTO optimization level
Everything (including test) modified from ELF/COFF. Using the same syntax (--lto-O3, etc) as ELF.
Differential Revision: https://reviews.llvm.org/D105223
|
 | lld/MachO/LTO.cpp |
 | lld/MachO/Config.h |
 | lld/MachO/Options.td |
 | lld/MachO/Driver.cpp |
Commit
78e70cee0d46bb14dcbedec993fbf855a4d13266
by Vitaly Buka[scudo] Remove false DCHECK
MTE Cache.store passes MAP_NOACCESS here.
Reviewed By: pcc, cryptoad
Differential Revision: https://reviews.llvm.org/D105266
|
 | compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp |
 | compiler-rt/lib/scudo/standalone/linux.cpp |
Commit
e86fe368db11e43b4b7e84065ba5e8439fc24840
by gh[MLIR] Allow Affine scalar replacement to handle inner operations
Affine scalar replacement (and other affine passes, though not fixed here) don't properly handle operations with nested regions. This patch fixes the pass and two affine utilities to function properly given a non-affine internal region
This patch prevents the pass from throwing an internal compiler error when running on the added test case.
Differential Revision: https://reviews.llvm.org/D105058
|
 | mlir/test/Dialect/Affine/scalrep.mlir |
 | mlir/lib/Analysis/Utils.cpp |
Commit
0516f49c081590305a9db972ebc7fceb942b8ce3
by ataeiAdd linalg.mmt4d named op
This op performs matrix-matrix-transpose multiplication of 4-d inputs as the following:
``` C[m1, n1, m0, n0] = sum_{k1, k0}(A[m1, k1, m0, k0] * B[n1, k1, n0, k0]) ```
Reviewed By: Benoit
Differential Revision: https://reviews.llvm.org/D105244
|
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml |
 | mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py |
Commit
355bf7c1f0b25310b814f7733fa59767e474de0b
by jdenny.ornl[lit] Extend --xfail/LIT_XFAIL to take full test name
The new documentation entry gives an example use case from libomptarget.
Reviewed By: yln, jhenderson, davezarzycki
Differential Revision: https://reviews.llvm.org/D105208
|
 | llvm/utils/lit/tests/Inputs/xfail-cl/a/false.txt |
 | llvm/utils/lit/tests/Inputs/xfail-cl/b/lit.cfg |
 | llvm/utils/lit/tests/xfail-cl.py |
 | llvm/utils/lit/tests/Inputs/xfail-cl/a/test.txt |
 | llvm/utils/lit/lit/main.py |
 | llvm/utils/lit/tests/Inputs/xfail-cl/a/lit.cfg |
 | llvm/utils/lit/tests/Inputs/xfail-cl/b/test.txt |
 | llvm/utils/lit/tests/Inputs/xfail-cl/b/false.txt |
 | llvm/docs/CommandGuide/lit.rst |
Commit
45e8a0befbc8e174c3fa4ba4d21ef4445a16191b
by v.churavy[Orc] At CBindings for LazyRexports
At C bindings and an example for LLJIT with lazy reexports
Differential Revision: https://reviews.llvm.org/D104672
|
 | llvm/examples/OrcV2Examples/OrcV2CBindingsLazy/OrcV2CBindingsLazy.c |
 | llvm/include/llvm-c/Orc.h |
 | llvm/examples/OrcV2Examples/OrcV2CBindingsLazy/CMakeLists.txt |
 | llvm/test/Examples/OrcV2Examples/orcv2-cbindings-lazy.test |
 | llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp |
 | llvm/test/lit.cfg.py |
 | llvm/examples/OrcV2Examples/CMakeLists.txt |
 | llvm/test/CMakeLists.txt |
Commit
e386871e1d21cf206a1287356e88c5853563fc77
by v.g.vassilev[clang-repl] Allow passing in code as positional arguments.
Now we can do things like: clang-repl "int i = 1;" "int j = 2;".
Differential revision: https://reviews.llvm.org/D104898
|
 | clang/tools/clang-repl/ClangRepl.cpp |
 | clang/test/Interpreter/execute.cpp |
Commit
fe30963600ea579d4046c9a92c6e38cc2be0e9a2
by Vitaly Buka[scudo] Untag BlockEnd in reallocate
If we get here from reallocate, BlockEnd is tagged. Then we will storeTag(UntaggedEnd) into the header of the next chunk.
Luckily header tag is 0 so unpatched code still works.
Reviewed By: pcc
Differential Revision: https://reviews.llvm.org/D105261
|
 | compiler-rt/lib/scudo/standalone/combined.h |
Commit
3d48775b89cfcaa20dae9928f20410ee61bdda4c
by david.green[ARM] Reassociate BFI
D104868 removed an (incorrect) fold for distributing BFI instructions in a chain, combining them into a single instruction. BFIs like that are hard to test, as the patterns are often destroyed before they become BFIs. But it can come up in places, with chains of BFIs that can be combined.
This patch adds a replacement, which reassociates BFI instructions with non-overlapping insertion masks so that low bits are inserted first. This can end up sorting the nodes so that adjacent inserts are next to one another, allowing the existing folds to combine into a single BFI.
Differential Revision: https://reviews.llvm.org/D105096
|
 | llvm/test/CodeGen/ARM/bfi.ll |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
Commit
b77533fb70ac6388955ee34a1d1e96ba05b6b01f
by smeenai[llvm-strip] Support grouped options in llvm-strip
GNU and Apple `strip` implementations seems to support grouped options. Enable the support for grouped options introduced in https://reviews.llvm.org/D83639 for `llvm-strip` invocations.
Includes test that checks that both the grouped and non grouped invocations produces the same result.
Reviewed By: alexander-shaposhnikov, MaskRay
Differential Revision: https://reviews.llvm.org/D105249
|
 | llvm/tools/llvm-objcopy/ConfigManager.cpp |
 | llvm/test/tools/llvm-objcopy/grouped-options.test |
Commit
48088425b37818cb80113d0137c83297390265f4
by smeenai[cmake] Invoke strip without -l and with non-grouped flags.
`llvm-strip` does not support `-l`. Apple's `strip` supports `-l`, but it is not documented, and the latest code doesn't seem to do anything meaningful. From the old source code drops it seems that `-l` was added around version 795 of cctools and removed before 898. The code around the flag usage in 795 talks about problems with kext and forcing the execution of `ld -r`, which seems a behaviour that is not enforceable in latest versions of cctools.
The `-l` flag was added in https://reviews.llvm.org/D15133 without a lot of explanation.
Since the flag is not active, removing it should not modify the behaviour for most people (except if someone is trying to compile LLVM with a really old version of `strip`).
Additionally, break the invocation into two different flags, since `llvm-strip` doesn't at the moment support grouped flags, and other `strip` implementations should work the same no matter if grouped or not.
Test Plan:
Using `strip` from Xcode 12.5 in Big Sur to strip the same binary (a simple Hello World), using both `-Sxl` and `-Sx` produces exactly the same binary.
Repeating the same process with `clang` results also in the same binary.
Reviewed By: smeenai
Differential Revision: https://reviews.llvm.org/D105243
|
 | llvm/cmake/modules/AddLLVM.cmake |
Commit
e4b9fecd392fdd135815f2069179a12e4c73347d
by sivachandra[libc] Add minimal Windows config
A README file with procedure for building/testing LLVM libc on Windows has also been added.
Reviewed By: sivachandra, aeubanks
Differential Revision: https://reviews.llvm.org/D105231
|
 | libc/config/windows/README.md |
 | libc/config/windows/entrypoints.txt |
Commit
09e3bf01b3da978b5437bf84c0b0f290974d8743
by spatel[InstCombine][test] add tests for icmp simplify miscompile (PR50944); NFC
|
 | llvm/test/Transforms/InstCombine/icmp.ll |
Commit
9eb613b2de3163686b1a4bd1160f15ac56a4b083
by spatel[InstSimplify] do not propagate poison from select arm to icmp user
This is the cause of the miscompile in: https://llvm.org/PR50944
The problem has likely existed for some time, but it was made visible with: 5af8bacc94024 ( D104661 ) handleOtherCmpSelSimplifications() assumed it can convert select of constants to bool logic ops, but that does not work with poison. We had a very similar construct in InstCombine, so the fix here mimics the fix there.
The bug is in instsimplify, but I'm not sure how to reproduce it outside of instcombine. The reason this is visible in instcombine is because we have a hack (FIXME) to bypass simplification of a select when it has an icmp user: https://github.com/llvm/llvm-project/blob/955f12589940634acc6c9901e8b25534808f691c/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp#L2632
So we get to an unusual case where we are trying to simplify an instruction that has an operand that would have already simplified if we had processed it in normal order.
Differential Revision: https://reviews.llvm.org/D105298
|
 | llvm/lib/Analysis/InstructionSimplify.cpp |
 | llvm/test/Transforms/InstCombine/icmp.ll |
Commit
edc1f0c12c836abaeeab7b0d9f7e8fb73c233ae6
by zoecarver[libcxx][ranges] Implement indirectly_swappable.
Differential Revision: https://reviews.llvm.org/D105304
|
 | libcxx/test/std/containers/sequences/vector/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/move.iterators/move.iterator/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/containers/associative/multimap/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/include/iterator |
 | libcxx/test/std/containers/unord/unord.multiset/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/containers/unord/unord.multimap/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/iterators/stream.iterators/ostream.iterator/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/containers/views/span.iterators/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.directory_iterator/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.iterators/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/containers/associative/multiset/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/containers/associative/map/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/containers/unord/unord.set/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/insert.iterators/front.insert.iterator/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/strings/basic.string/string.iterators/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/include/__iterator/iter_swap.h |
 | libcxx/test/std/iterators/iterator.requirements/alg.req.ind.swap/indirectly_swappable.subsumption.compile.pass.cpp |
 | libcxx/test/std/utilities/memory/unique.ptr/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/containers/sequences/array/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/include/__iterator/concepts.h |
 | libcxx/test/std/iterators/iterator.requirements/alg.req.ind.swap/indirectly_swappable.compile.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/insert.iterators/insert.iterator/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/iterators/stream.iterators/ostreambuf.iterator/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/containers/associative/set/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/docs/OneRangesProposalStatus.csv |
 | libcxx/test/std/containers/sequences/deque/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/re/re.iter/re.regiter/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/iterators/stream.iterators/istream.iterator/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/iterators/stream.iterators/istreambuf.iterator/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/containers/sequences/vector.bool/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/containers/sequences/list/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/containers/unord/unord.map/iterator_concept_conformance.compile.pass.cpp |
 | libcxx/test/std/re/re.iter/re.tokiter/iterator_concept_conformance.compile.pass.cpp |
Commit
f1b9ce2736d826df2ff4cbd67116864f0856334f
by hansang.bae[OpenMP] Fix a few issues with hidden helper task
This patch includes the following changes to address a few issues when using hidden helper task.
- Assertion is triggered when there are inadvertent calls to hidden helper functions on non-Linux OS - Added deinit code in __kmp_internal_end_library function to fix random shutdown crashes - Moved task data access into the lock-guarded region in __kmp_push_task
Differential Revision: https://reviews.llvm.org/D105308
|
 | openmp/runtime/src/kmp_tasking.cpp |
 | openmp/runtime/src/z_Linux_util.cpp |
 | openmp/runtime/src/kmp_runtime.cpp |
Commit
64a0241d64c274eb40fc1cf8b9f938ca013873a1
by arthur.j.odwyer[libc++] IWYU <__utility/pair.h> in <__functional/hash.h>. NFCI.
This was the only thing preventing any one of our detail headers from compiling on its own.
|
 | libcxx/include/__functional/hash.h |
Commit
6bbbd7b499f2d5e1d716f33fdf5c072083f007da
by joker.ephUpdate MLIRContext to allow injecting an external ThreadPool (NFC)
The context can be created with threading disabled, to avoid creating a thread pool that may be destroyed when injecting another one later.
Differential Revision: https://reviews.llvm.org/D105302
|
 | mlir/include/mlir/IR/MLIRContext.h |
 | mlir/lib/IR/MLIRContext.cpp |
Commit
14d64be6e54a23e1a20216b6a42ae2ce5926d2ed
by Jon Roelofs[GISel] Print better error messages for missing Combiner Observer calls
Differential revision: https://reviews.llvm.org/D105290
|
 | llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp |
 | llvm/lib/CodeGen/GlobalISel/Combiner.cpp |
Commit
33a7b4d9d8e6a113108aa71ed78ca32a83c68523
by phosek[InstrProfiling] Use external weak reference for bias variable
We need the compiler generated variable to override the weak symbol of the same name inside the profile runtime, but using LinkOnceODRLinkage results in weak symbol being emitted which leads to an issue where the linker might choose either of the weak symbols potentially disabling the runtime counter relocation.
This change replaces the use of weak definition inside the runtime with an external weak reference to address the issue. We also place the compiler generated symbol inside a COMDAT group so dead definition can be garbage collected by the linker.
Differential Revision: https://reviews.llvm.org/D105176
|
 | compiler-rt/lib/profile/InstrProfiling.h |
 | llvm/test/Instrumentation/InstrProfiling/runtime-counter-relocation.ll |
 | compiler-rt/lib/profile/InstrProfilingBiasVar.c |
 | compiler-rt/lib/profile/InstrProfilingFile.c |
 | compiler-rt/lib/profile/CMakeLists.txt |
 | compiler-rt/lib/profile/InstrProfilingPlatformFuchsia.c |
 | llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp |
Commit
430bfc4f3ba631bee7f662895d78642b78adf54d
by llvmgnsyncbot[gn build] Port 33a7b4d9d8e6
|
 | llvm/utils/gn/secondary/compiler-rt/lib/profile/BUILD.gn |
Commit
0176ac95035eb6508f8f838c7d72afa03d67b5aa
by efriedma[AArch64] Optimize SVE bitcasts of unpacked types.
Target-independent code only knows how to spill to the stack; instead, use AArch64ISD::REINTERPRET_CAST.
Differential Revision: https://reviews.llvm.org/D104573
|
 | llvm/lib/Target/AArch64/AArch64ISelLowering.h |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/test/CodeGen/AArch64/sve-bitcast.ll |
Commit
8dea784b3ed7df3edd9e3b59b1e1b58d2a4ac175
by rob.suderman[mlir][tosa] Add tosa shape inference with InferReturnTypeComponent
Added InferReturnTypeComponents for NAry operations, reshape, and reverse. With the additional tosa-infer-shapes pass, we can infer/propagate shapes across a set of TOSA operations. Current version does not modify the FuncOp type by inserting an unrealized conversion cast prior to any new non-matchin returns.
Differential Revision: https://reviews.llvm.org/D105312
|
 | mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp |
 | mlir/lib/Dialect/Tosa/IR/TosaOps.cpp |
 | mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp |
 | mlir/test/Dialect/Tosa/tosa_infer_shapes.mlir |
 | mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h |
 | mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td |
 | mlir/include/mlir/Dialect/Tosa/Transforms/Passes.h |
 | mlir/lib/Dialect/Tosa/Transforms/CMakeLists.txt |
 | mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td |
 | mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir |
 | mlir/test/lib/Dialect/Tosa/TosaTestPasses.cpp |
Commit
e59f02216f1c6972925c5ef0f1df6d434c652c69
by Jessica Paquette[GlobalISel] Translate <1 x N> getelementptrs to scalar G_PTR_ADDs
In `IRTranslator::translateGetElementPtr`, when we run into a vector gep with some scalar operands, we try to normalize those operands using `buildSplatVector`.
This is fine except for when the getelementptr has a <1 x N> type. In that case it is treated as a scalar. If we run into one of these then every call to
``` // With VectorWidth = 1 LLT::fixed_vector(VectorWidth, PtrTy) ```
will assert.
Here's an example (equivalent to the added testcase): https://godbolt.org/z/hGsTnMYdW
To get around this, this patch adds a variable, `WantSplatVector`, which is true when our vector type ought to actually be represented using a vector. When it's false, we'll translate as a scalar. This checks if `VectorWidth > 1`.
This fixes this bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=35496
Differential Revision: https://reviews.llvm.org/D105316
|
 | llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-one-by-n-vector-ptr-add.ll |
Commit
65eb4028ad0322115ff5420499806db79a27289e
by rob.suderman[mlir][tosa] Added missing includes on PassDetails.h
Includes were missing in the PassDetails.h that cause downstream failures on TOSA passes.
Differential Revision: https://reviews.llvm.org/D105323
|
 | mlir/include/mlir/Dialect/Tosa/Transforms/PassDetail.h |
Commit
76dd98ec75ce70c1a2012e543e50709d646a6d8d
by AkiraPrecommit test cases in https://reviews.llvm.org/D104953
|
 | llvm/test/Transforms/ObjCARC/code-motion.ll |
Commit
32a73198fc3a84364996c2d8bf2e6470d2bb98d9
by Matthew.ArsenaultMips/GlobalISel: Use accurate memory LLTs
|
 | llvm/lib/Target/Mips/MipsLegalizerInfo.cpp |
 | llvm/test/CodeGen/Mips/GlobalISel/legalizer/var_arg.mir |
Commit
6aaaeacd3d968885ef65d30283b62945ce7e6ce0
by rob.suderman[mlir][tosa] Include TosaDialect as include in tosa PassDetail.h
Tosa's PassDetail.h may be used in non-TOSA transforms. Include TosaDialect to avoid transient dependency.
Differential Revision: https://reviews.llvm.org/D105324
|
 | mlir/include/mlir/Dialect/Tosa/Transforms/PassDetail.h |
Commit
06ac83fcac098441be4b5cbd635453706acadc98
by rob.suderman[mlir][tosa] Update Bazel files for TOSA pass changes
There were some missing bazel dependencies for the Tosa dialect. Added these deps.
Reviewed By: GMNGeoffrey
Differential Revision: https://reviews.llvm.org/D105326
|
 | utils/bazel/llvm-project-overlay/mlir/BUILD.bazel |
 | utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel |
Commit
e895a670f8bceb235802e617bba34a0572fd9f49
by springerm[mlir] Move BufferizeDimOp to Tensor/Transforms/Bufferize.cpp
Differential Revision: https://reviews.llvm.org/D105256
|
 | mlir/test/Dialect/Tensor/bufferize.mlir |
 | mlir/test/Dialect/Standard/bufferize.mlir |
 | mlir/lib/Dialect/Tensor/Transforms/Bufferize.cpp |
 | mlir/lib/Dialect/StandardOps/Transforms/Bufferize.cpp |
Commit
3a11528d97a788781de82f939f502abe7fbd729d
by jezng[lld-macho] Move ICF earlier to avoid emitting redundant binds
This is a pretty big refactoring diff, so here are the motivations:
Previously, ICF ran after scanRelocations(), where we emitting bind/rebase opcodes etc. So we had a bunch of redundant leftovers after ICF. Having ICF run before Writer seems like a better design, and is what LLD-ELF does, so this diff refactors it accordingly.
However, ICF had two dependencies on things occurring in Writer: 1) it needs literals to be deduplicated beforehand and 2) it needs to know which functions have unwind info, which was being handled by `UnwindInfoSection::prepareRelocations()`.
In order to do literal deduplication earlier, we need to add literal input sections to their corresponding output sections. So instead of putting all input sections into the big `inputSections` vector, and then filtering them by type later on, I've changed things so that literal sections get added directly to their output sections during the 'gather' phase. Likewise for compact unwind sections -- they get added directly to the UnwindInfoSection now. This latter change is not strictly necessary, but makes it easier for ICF to determine which functions have unwind info.
Adding literal sections directly to their output sections means that we can no longer determine `inputOrder` from iterating over `inputSections`. Instead, we store that order explicitly on InputSection. Bloating the size of InputSection for this purpose would be unfortunate -- but LLD-ELF has already solved this problem: it reuses `outSecOff` to store this order value.
One downside of this refactor is that we now make an additional pass over the unwind info relocations to figure out which functions have unwind info, since want to know that before `processRelocations()`. I've made sure to run that extra loop only if ICF is enabled, so there should be no overhead in non-optimizing runs of the linker.
The upside of all this is that the `inputSections` vector now contains only ConcatInputSections that are destined for ConcatOutputSections, so we can clean up a bunch of code that just existed to filter out other elements from that vector.
I will test for the lack of redundant binds/rebases in the upcoming cfstring deduplication diff. While binds/rebases can also happen in the regular `.text` section, they're more common in `.data` sections, so it seems more natural to test it that way.
This change is perf-neutral when linking chromium_framework.
Reviewed By: oontvoo
Differential Revision: https://reviews.llvm.org/D105044
|
 | lld/MachO/ConcatOutputSection.cpp |
 | lld/MachO/ICF.cpp |
 | lld/MachO/SyntheticSections.cpp |
 | lld/MachO/UnwindInfoSection.cpp |
 | lld/MachO/Writer.cpp |
 | lld/MachO/InputSection.h |
 | lld/MachO/Driver.cpp |
 | lld/MachO/UnwindInfoSection.h |
 | lld/MachO/InputSection.cpp |
 | lld/MachO/ICF.h |
 | lld/MachO/SyntheticSections.h |
 | lld/MachO/ConcatOutputSection.h |
 | lld/MachO/MarkLive.cpp |
Commit
ac2dd06b91ae7264fa7d396c15c7647510ede231
by jezng[lld-macho] Deduplicate CFStrings
`__cfstring` is a special literal section, so instead of breaking it up at symbol boundaries, we break it up at fixed-width boundaries (since each literal is the same size). Symbols can only occur at one of those boundaries, so this is strictly more powerful than `.subsections_via_symbols`.
With that in place, we then run the section through ICF.
This change is about perf-neutral when linking chromium_framework.
Reviewed By: #lld-macho, gkm
Differential Revision: https://reviews.llvm.org/D105045
|
 | lld/MachO/InputSection.h |
 | lld/MachO/ICF.cpp |
 | lld/MachO/InputFiles.cpp |
 | lld/test/MachO/Inputs/MacOSX.sdk/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation.tbd |
 | lld/test/MachO/cfstring-dedup.s |
 | lld/test/MachO/invalid/cfstring.s |
 | lld/MachO/InputSection.cpp |
Commit
08715e6c47f68b7ea985fbd76d4945dfdff0a9aa
by jezng[lld-macho][nfc] Remove unnecessary vertical spacing
This makes NonLazyPointerSectionBase's style more in line with the rest of the classes in its file.
|
 | lld/MachO/SyntheticSections.h |
Commit
f6b6e7214366fc12469aba2fe16495e5f7a375a6
by jezng[lld-macho] Factor out common InputSection members
We have been creating many ConcatInputSections with identical values due to .subsections_via_symbols. This diff factors out the identical values into a Shared struct, to reduce memory consumption and make copying cheaper.
I also changed `callSiteCount` from a uint32_t to a 31-bit field to save an extra word.
All in all, this takes InputSection from 120 to 72 bytes (and ConcatInputSection from 160 to 112 bytes), i.e. 30% size reduction in ConcatInputSection.
Numbers for linking chromium_framework on my 3.2 GHz 16-Core Intel Xeon W:
N Min Max Median Avg Stddev x 20 4.14 4.24 4.18 4.183 0.027548999 + 20 4.04 4.11 4.075 4.0775 0.018027756 Difference at 95.0% confidence -0.1055 +/- 0.0149005 -2.52211% +/- 0.356215% (Student's t, pooled s = 0.0232803)
Reviewed By: #lld-macho, thakis
Differential Revision: https://reviews.llvm.org/D105305
|
 | lld/MachO/UnwindInfoSection.cpp |
 | lld/MachO/ICF.cpp |
 | lld/MachO/Writer.cpp |
 | lld/MachO/InputSection.h |
 | lld/MachO/InputSection.cpp |
 | lld/MachO/ConcatOutputSection.cpp |
 | lld/MachO/Dwarf.cpp |
 | lld/MachO/SymbolTable.cpp |
 | lld/MachO/Symbols.h |
 | lld/MachO/InputFiles.cpp |
 | lld/MachO/MarkLive.cpp |
 | lld/MachO/SyntheticSections.cpp |
 | lld/MachO/Driver.cpp |
Commit
9ab5f761176c376c0a117c53f0f111fed1bcc842
by richardSupport for merging UsingPackDecls across modules.
Fixes a false-positive error if the same std::variant<...> type is instantiated across multiple modules.
|
 | clang/test/Modules/Inputs/merge-using-decls/a.h |
 | clang/lib/Serialization/ASTReaderDecl.cpp |
 | clang/test/Modules/Inputs/merge-using-decls/b.h |
 | clang/test/Modules/merge-using-decls.cpp |
Commit
066524ea5438c5c30ac91a7702091be6dc5fd2d0
by craig.topper[ScalarizeMaskedMemIntrin][SelectionDAGBuilder] Use the element type to calculate alignment for gather/scatter when alignment operand is 0.
Previously we used the vector type, but we're loading/storing invididual elements so I think only element alignment should matter.
Noticed while looking at the code for something else so I don't have a test case.
Differential Revision: https://reviews.llvm.org/D105220
|
 | llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
Commit
425b908301e48ee6f372150bbc17f04cf199beb7
by Lang Hames[ORC] Rename SPSTargetAddress to SPSExecutorAddress.
Also removes SPSTagTargetAddress, which was accidentally introduced at some point (and never used).
|
 | llvm/include/llvm/ExecutionEngine/Orc/Shared/SimplePackedSerialization.h |
 | llvm/lib/ExecutionEngine/Orc/TargetProcess/RegisterEHFrames.cpp |
 | llvm/include/llvm/ExecutionEngine/Orc/EPCDebugObjectRegistrar.h |
 | llvm/lib/ExecutionEngine/Orc/EPCEHFrameRegistrar.cpp |
 | llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.cpp |
Commit
5efffac71a1c640b0cba8e34f5e2374d397f6eb3
by i[llvm-symbolizer] Move setGroupedShortOptions and don't ignore case
setGroupedShortOptions in the ctor seems more popular.
|
 | llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp |
Commit
9568811cb8a4c45e8143456b91dd7cc1acb16ad3
by ybrevnov[NFC][DSE]Change 'do-while' to 'for' loop to simplify code structure
With 'for' loop there is is a single place where 'Current' is adjusted. It helps to avoid copy paste and makes a bit easy to understand overall loop controll flow.
Reviewed By: fhahn
Differential Revision: https://reviews.llvm.org/D101044
|
 | llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp |
Commit
07a1f3513e2e3802671a0a4ca1edf2fe577fad03
by Vitaly Buka[scudo] Fix test on aarch64 without MTE
|
 | compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp |