|
 | llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp (diff) |
 | llvm/test/Analysis/CostModel/AArch64/bitreverse.ll (diff) |
|
 | llvm/lib/TableGen/TGParser.cpp (diff) |
Commit
7f0244afa828e0ef725a3f951304577090495713
by xingxue [libc++abi] NFC: adding a new parameter base to functions for calculating addresses with relative encodings
Summary: This NFC patch adds a new parameter base to functions invoked by scan_eh_tab() for calculating the address of the encoding with a relative value. base defaults to 0. This is in preparation for the AIX implementation which uses the DW_EH_PE_datarel encoding.
Reviewed by: MaskRay, sfertile, compnerd, libc++abi
Differential Revision: https://reviews.llvm.org/D101545
|
 | libcxxabi/src/cxa_personality.cpp (diff) |
|
 | llvm/lib/Target/X86/X86FastTileConfig.cpp (diff) |
 | llvm/lib/Target/X86/X86LowerAMXType.cpp (diff) |
|
 | clang/test/SemaCXX/recovery-expr-type.cpp (diff) |
 | clang/lib/Sema/SemaChecking.cpp (diff) |
Commit
9833b57981c4e9402a326b5acd805e074cd2c802
by markus.boeck02[clang][driver] Add -foperator-names
This patch adds the command line option -foperator-names which acts as the opposite of -fno-operator-names. With this command line option it is possible to reenable C++ operator keywords on the command line if -fno-operator-names had previously been passed.
Differential Revision: https://reviews.llvm.org/D103749
|
 | clang/test/Driver/cxx-operator-names.cpp |
 | clang/include/clang/Driver/Options.td (diff) |
 | clang/lib/Driver/ToolChains/Clang.cpp (diff) |
Commit
936d6756ccfbe207a181b692b828f9fd8f1489f2
by markus.boeck02[clang][msvc] Define _HAS_STATIC_RTTI to 0, when compiling with -fno-rtti
When using the -fno-rtti option of the GCC style clang++, using typeid results in an error. The MSVC STL however kindly provides a define flag called _HAS_STATIC_RTTI, which either enables or disables uses of typeid throughout the STL. By default, if undefined, it is set to 1, enabling the use of typeid.
With this patch, _HAS_STATIC_RTTI is set to 0 when -fno-rtti is specified. This way various headers of the MSVC STL like functional can be consumed without compilation failures.
Differential Revision: https://reviews.llvm.org/D103771
|
 | clang/test/Driver/msvc-static-rtti.cpp |
 | clang/lib/Driver/ToolChains/MSVC.cpp (diff) |
 | clang/lib/Driver/ToolChains/MSVC.h (diff) |
Commit
c70b0e808da8e1650f3ee426698a8b87c94b8910
by markus.boeck02[clang-cl] Add /permissive and /permissive-
This patch adds the command line options /permissive and /permissive- to clang-cl. These flags are used in MSVC to enable various /Zc language conformance options at once. In particular, /permissive is used to enable the various non standard behaviour of MSVC, while /permissive- is the opposite.
When either of two command lines are specified they are simply expanded to the various underlying /Zc options. In particular when /permissive is passed it currently expands to:
/Zc:twoPhase- (disable two phase lookup) -fno-operator-names (disable C++ operator keywords) /permissive- expands to the opposites of these flags + /Zc:strictStrings (/Zc:strictStrings- does not currently exist). In the future, if any more MSVC workarounds are ever added they can easily be added to the expansion. One is also able to override settings done by permissive. Specifying /permissive- /Zc:twoPhase- will apply the settings from permissive minus, but disables two phase lookup.
Motivation for this patch was mainly parity with MSVC as well as compatibility with Windows SDK headers. The /permissive page from MSVC documents various workarounds that have to be done for the Windows SDK headers [1], when MSVC is used with /permissive-. In these, Microsoft often recommends simply compiling with /permissive for the specified source files. Since some of these also apply to clang-cl (which acts like /permissive- by default mostly), and some are currently implemented as "hacks" within clang that I'd like to remove, adding /permissive and /permissive- to be in full parity with MSVC and Microsofts documentation made sense to me.
[1] https://docs.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance?view=msvc-160#windows-header-issues
Differential Revision: https://reviews.llvm.org/D103773
|
 | clang/lib/Driver/ToolChains/MSVC.cpp (diff) |
 | clang/include/clang/Driver/Options.td (diff) |
 | clang/test/Driver/cl-permissive.c |
|
 | llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp (diff) |
Commit
3b46283c1539f89619f2b40ab7732f434d7c68ff
by gbreynoo[docs][llvm-ar] Add rsp-quoting option to the llvm-ar command guide.
I noticed that I did not update the command guide when introducing the --rsp-quoting option. This change fixes this.
Differential Revision: https://reviews.llvm.org/D103915
|
 | llvm/docs/CommandGuide/llvm-ar.rst (diff) |
Commit
428a62f65f16f1640b1bfe033d20e6a4f545dd3e
by thomasraoux[mlir][gpu] Add op to create MMA constant matrix
This allow creating a matrix with all elements set to a given value. This is needed to be able to implement a simple dot op.
Differential Revision: https://reviews.llvm.org/D103870
|
 | mlir/include/mlir/Dialect/GPU/GPUOps.td (diff) |
 | mlir/test/Dialect/GPU/ops.mlir (diff) |
 | mlir/test/Conversion/GPUToNVVM/wmma-ops-to-nvvm.mlir (diff) |
 | mlir/lib/Conversion/GPUToNVVM/WmmaOpsToNvvm.cpp (diff) |
Commit
026170d17d1eb8956237ba88c07a60f07445ebf1
by keithbsmileyFix range-loop-analysis warning
``` llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:8024:19: warning: loop variable 'VF' of type 'const llvm::ElementCount' creates a copy from type 'const llvm::ElementCount' [-Wrange-loop-analysis] for (const auto VF : VFCandidates) { ^ llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:8024:8: note: use reference type 'const llvm::ElementCount &' to prevent copying for (const auto VF : VFCandidates) { ^~~~~~~~~~~~~~~ & 1 warning generated. ```
Differential Revision: https://reviews.llvm.org/D103970
|
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp (diff) |
|
 | clang/www/c_status.html |
 | clang/www/menu.html.incl (diff) |
Commit
75d4f55d150cd3d38797ec228fc871bed93b8540
by daltenty[AIX] Build libLTO as MODULE rather than SHARED
On CMake versions greater that >= 3.16 on AIX, shared libraries are created as archives (which is the normal form for the platform). However plugins libraries which are passed directly to a executable, like libLTO to the linker, are usual build as plain `.so`, so this patch restores this behaviour for libLTO on AIX (and adjust the name if need be to account for the fact that llvm_add_library likes to force an empty name prefix on modules), so we end up with the expected libLTO.so
Reviewed By: w2yehia
Differential Revision: https://reviews.llvm.org/D103824
|
 | llvm/tools/lto/CMakeLists.txt (diff) |
Commit
c3cc14f87f78f8172b74175bbd2557cfb9384900
by melanie.blowerRevert "[clang][FPEnv] Clang floatng point model ffp-model=precise enables ffp-contract=on"
This reverts commit 8daac3714083aa5507622dba858344051f6b5574. The build bots are showing some fails on broadwell and arm. Fix to LNT test suite needs work.
|
 | clang/test/CodeGen/ppc-emmintrin.c (diff) |
 | clang/lib/Driver/ToolChains/Clang.cpp (diff) |
 | clang/docs/UsersManual.rst (diff) |
 | clang/test/CodeGen/ppc-xmmintrin.c (diff) |
 | clang/test/Driver/fp-model.c (diff) |
 | clang/test/CodeGen/ffp-contract-option.c (diff) |
Commit
a0ae3b0789140ee9238c3052b2231ceaa777e82f
by Louis Dionne[libc++abi] Remove the LIBCXXABI_ENABLE_PIC option
Instead, people should be using CMAKE_POSITION_INDEPENDENT_CODE to control whether they want to use PIC or not. We should try to avoid reinventing the wheel whenever CMake natively supports something.
This makes libc++abi consistent with libc++ and libunwind.
Differential Revision: https://reviews.llvm.org/D103973
|
 | libcxx/docs/ReleaseNotes.rst (diff) |
 | libcxxabi/CMakeLists.txt (diff) |
 | libcxxabi/src/CMakeLists.txt (diff) |
 | libcxx/cmake/caches/Apple.cmake (diff) |
|
 | .git-blame-ignore-revs (diff) |
Commit
0112f6ac71517de7767296eda1db26cc4bdb14ee
by llvm-project[Flang][Runtime][tests] Escape regex special character.
The second argument of `ASSERT_DEATH` describes a regular expression, in which parentheses have special meaning. Matches of literal parentheses need to be escaped.
Fixes failure of InvalidFormatFailure.ParenMismatch and InvalidFormatFailure.ParenMismatch when gtest is compiled with MSVC's regex implementation.
Reviewed By: awarzynski
Differential Revision: https://reviews.llvm.org/D104011
|
 | flang/unittests/RuntimeGTest/Format.cpp (diff) |
|
 | llvm/utils/gn/TODO.txt (diff) |
|
 | flang/runtime/random.cpp (diff) |
Commit
a893b441873d4dd0ba849a722797f40da8600c39
by a.bataev[SLP]Disable scheduling of insertelements.
There is no need to schedule insertelement instructions. The compiler did not schedule them before it started support their vectorization and it should not do it after. We pre-schedule them manually when finding a build vector sequence. Disabling scheduling of insertelement instructions improves compile time and vectorization of the very large basic blocks by saving scheduling budget for other instructions.
Differential Revision: https://reviews.llvm.org/D104026
|
 | llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector-inseltpoison.ll (diff) |
 | llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll (diff) |
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (diff) |
Commit
1b894ccdc9ee8419e81499b2d394a00c0b880db1
by Jessica Paquette[AArch64][GlobalISel] Mark some G_BITREVERSE types as legal + select them
We fall back on G_CTTZ_ZERO_UNDEF a lot when building clang for arm64 with gisel.
Handling this will require that we can handle G_BITREVERSE.
This patch marks G_BITREVERSE instructions with natively supported types as legal. We get selection on these types for free via the importer.
Differential Revision: https://reviews.llvm.org/D103999
|
 | llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir (diff) |
 | llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitreverse.mir |
 | llvm/test/CodeGen/AArch64/GlobalISel/select-bitreverse.mir |
 | llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp (diff) |
Commit
ff81a2c95ddb944c61c162baec3521d9dd62c2cc
by riddleriver[mlir-lsp-server] Add support for textDocument/documentSymbols
This allows for building an outline of the symbols and symbol tables within the IR. This allows for easy navigations to functions/modules and other symbol/symbol table operations within the IR.
Differential Revision: https://reviews.llvm.org/D103729
|
 | mlir/lib/Tools/mlir-lsp-server/lsp/Transport.cpp (diff) |
 | mlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp (diff) |
 | mlir/lib/Tools/mlir-lsp-server/MLIRServer.h (diff) |
 | mlir/include/mlir/Parser/AsmParserState.h (diff) |
 | mlir/lib/Tools/mlir-lsp-server/lsp/Protocol.h (diff) |
 | mlir/test/mlir-lsp-server/initialize-params.test (diff) |
 | mlir/lib/Parser/AsmParserState.cpp (diff) |
 | mlir/lib/Tools/mlir-lsp-server/LSPServer.cpp (diff) |
 | mlir/lib/Tools/mlir-lsp-server/lsp/Protocol.cpp (diff) |
 | mlir/lib/Parser/Parser.cpp (diff) |
 | mlir/test/mlir-lsp-server/document-symbols.test |
Commit
bb97959949ff68aa7e001bab2be1b5be4d6d389a
by riddleriver[mlir-lsp-server] Document the features provided by the language server
This revision adds focused documentation on each of the individual features of the server, with images showcasing how they look in vscode.
Differential Revision: https://reviews.llvm.org/D103942
|
 | mlir/docs/Tools/MLIRLSP.md (diff) |
Commit
ca10add5dbe4c3fb2ccaa032d9c7f3e13ca4b14b
by stilis[lldb, win] Remove obsolete workaround for MSVC and python libs
This workaround was necessary before the major changes of managing python versions, but it is not needed anymore.
Reviewed By: JDevlieghere
Differential Revision: https://reviews.llvm.org/D104047
|
 | lldb/source/API/CMakeLists.txt (diff) |
Commit
f03a3caac5e5ac9a440bea1b8ad1485c714f156b
by epastor[ms] [llvm-ml] Warn on command-line redefinition
If a macro is defined on the command line and then overridden in the source code, this is likely to be an error in the user's build system. We should warn on this.
Reviewed By: thakis
Differential Revision: https://reviews.llvm.org/D104008
|
 | llvm/test/tools/llvm-ml/command_line_defines_errors.asm |
 | llvm/lib/MC/MCParser/MasmParser.cpp (diff) |
 | llvm/test/tools/llvm-ml/command_line_defines.asm (diff) |
|
 | mlir/utils/vscode/package.json (diff) |
 | mlir/utils/vscode/package-lock.json (diff) |
Commit
4e5f8b4d8d9d7a6039e10b9507dac896eed92040
by lntue[libc] Add implementation of expm1f.
Use expm1f(x) = exp(x) - 1 for |x| > ln(2). For |x| <= ln(2), divide it into 3 subintervals: [-ln2, -1/8], [-1/8, 1/8], [1/8, ln2] and use a degree-6 polynomial approximation generated by Sollya's fpminmax for each interval. Errors < 1.5 ULPs when we use fma to evaluate the polynomials.
Differential Revision: https://reviews.llvm.org/D101134
|
 | libc/utils/MPFRWrapper/MPFRUtils.cpp (diff) |
 | libc/utils/MPFRWrapper/MPFRUtils.h (diff) |
 | libc/config/linux/aarch64/entrypoints.txt (diff) |
 | libc/config/linux/x86_64/entrypoints.txt (diff) |
 | libc/utils/FPUtil/PolyEval.h |
 | libc/utils/FPUtil/generic/FMA.h (diff) |
 | libc/test/src/math/expm1f_test.cpp |
 | libc/test/src/math/CMakeLists.txt (diff) |
 | libc/utils/FPUtil/BitPatterns.h (diff) |
 | libc/spec/stdc.td (diff) |
 | libc/src/math/generic/expm1f.cpp |
 | libc/utils/FPUtil/CMakeLists.txt (diff) |
 | libc/test/src/math/differential_testing/expm1f_diff.cpp |
 | libc/utils/mathtools/expm1f.sollya |
 | libc/test/src/math/differential_testing/CMakeLists.txt (diff) |
 | libc/src/math/expm1f.h |
 | libc/test/src/math/exhaustive/CMakeLists.txt (diff) |
 | libc/test/src/math/exhaustive/expm1f_test.cpp |
 | libc/src/math/CMakeLists.txt (diff) |
 | libc/src/math/generic/CMakeLists.txt (diff) |
 | libc/test/src/math/differential_testing/expm1f_perf.cpp |
Commit
4b5c6c5c4b9293557ec8e76d6500527e5d8f9611
by jezng[lld-macho][nfc] Fix uninitialized members warning from Coverity
We were always assigning to this member before using it, but just to be safe...
See https://lists.llvm.org/pipermail/llvm-dev/2021-June/151029.html
|
 | lld/MachO/InputSection.h (diff) |
Commit
e0c605f6383c5a3aa8f5fa34ed4be9dc51b4a2ae
by david.green[ARM] Ensure instructions are simplified prior to GatherScatter lowering.
Surprisingly, not all instructions are always simplified after unrolling and before MVE gather/scatter lowering. Notably dead gather operations can be left around which cause the gather/scatter lowering pass to crash if there are multiple gathers, some of which are dead.
This patch ensures they are simplified before we modify anything, which can change some of the existing tests, including making them no-longer test what they originally tested. This uses a combination of disabling the gather/scatter lowering pass and adjusting the test to keep them as before.
Differential Revision: https://reviews.llvm.org/D103150
|
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/remat-vctp.ll (diff) |
 | llvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll (diff) |
 | llvm/test/CodeGen/Thumb2/mve-selectcc.ll (diff) |
 | llvm/test/CodeGen/Thumb2/mve-phireg.ll (diff) |
 | llvm/test/CodeGen/Thumb2/mve-gather-unused.ll |
 | llvm/test/CodeGen/Thumb2/lsll0.ll (diff) |
 | llvm/test/CodeGen/Thumb2/mve-pred-xor.ll (diff) |
 | llvm/test/CodeGen/Thumb2/mve-vqdmulh.ll (diff) |
 | llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp (diff) |
Commit
a22236120f17074532bec70f5916a235beddd475
by llvm-project[OpenMP] Implement '#pragma omp unroll'.
Implementation of the unroll directive introduced in OpenMP 5.1. Follows the approach from D76342 for the tile directive (i.e. AST-based, not using the OpenMPIRBuilder). Tries to use `llvm.loop.unroll.*` metadata where possible, but has to fall back to an AST representation of the outer loop if the partially unrolled generated loop is associated with another directive (because it needs to compute the number of iterations).
Reviewed By: ABataev
Differential Revision: https://reviews.llvm.org/D99459
|
 | clang/include/clang/AST/RecursiveASTVisitor.h (diff) |
 | clang/test/OpenMP/unroll_codegen_unroll_for.cpp |
 | clang/lib/Sema/TreeTransform.h (diff) |
 | clang/lib/StaticAnalyzer/Core/ExprEngine.cpp (diff) |
 | llvm/include/llvm/Frontend/OpenMP/OMP.td (diff) |
 | clang/tools/libclang/CIndex.cpp (diff) |
 | clang/tools/libclang/CXCursor.cpp (diff) |
 | clang/lib/Sema/SemaOpenMP.cpp (diff) |
 | clang/test/OpenMP/unroll_ast_print.cpp |
 | clang/include/clang/AST/OpenMPClause.h (diff) |
 | clang/test/OpenMP/unroll_codegen_heuristic.cpp |
 | clang/test/OpenMP/unroll_codegen_factor.cpp |
 | clang/lib/AST/StmtOpenMP.cpp (diff) |
 | clang/test/OpenMP/unroll_codegen_tile_for.cpp |
 | clang/test/OpenMP/unroll_codegen_full.cpp |
 | clang/lib/Serialization/ASTWriterStmt.cpp (diff) |
 | clang/include/clang/AST/StmtOpenMP.h (diff) |
 | clang/test/OpenMP/unroll_codegen_partial.cpp |
 | clang/lib/Serialization/ASTReader.cpp (diff) |
 | clang/include/clang/Sema/Sema.h (diff) |
 | clang/lib/CodeGen/CGStmtOpenMP.cpp (diff) |
 | clang/lib/Serialization/ASTWriter.cpp (diff) |
 | clang/lib/Parse/ParseOpenMP.cpp (diff) |
 | clang/include/clang/Basic/StmtNodes.td (diff) |
 | clang/lib/CodeGen/CGStmt.cpp (diff) |
 | clang/lib/AST/OpenMPClause.cpp (diff) |
 | clang/test/OpenMP/unroll_codegen_for_partial.cpp |
 | clang/lib/AST/StmtPrinter.cpp (diff) |
 | clang/lib/Serialization/ASTReaderStmt.cpp (diff) |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td (diff) |
 | clang/include/clang/Serialization/ASTBitCodes.h (diff) |
 | clang/test/OpenMP/unroll_codegen_parallel_for_factor.cpp |
 | clang/include/clang-c/Index.h (diff) |
 | clang/lib/Basic/OpenMPKinds.cpp (diff) |
 | clang/lib/Sema/SemaExceptionSpec.cpp (diff) |
 | clang/test/OpenMP/unroll_codegen_for_collapse_outer.cpp |
 | clang/test/OpenMP/unroll_messages.cpp |
 | clang/lib/CodeGen/CodeGenFunction.h (diff) |
 | clang/lib/CodeGen/CGOpenMPRuntime.cpp (diff) |
 | clang/lib/AST/StmtProfile.cpp (diff) |
|
 | libcxx/include/__ranges/concepts.h (diff) |
 | libcxx/include/__ranges/view_interface.h (diff) |
 | libcxx/include/__ranges/enable_view.h |
 | libcxx/include/CMakeLists.txt (diff) |
 | libcxx/include/ranges (diff) |
 | libcxx/include/__ranges/view.h |
|
 | llvm/utils/gn/secondary/libcxx/include/BUILD.gn (diff) |