- Jun 10, 2021
-
-
Louis Dionne authored
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
-
Melanie Blower authored
This reverts commit 8daac371. The build bots are showing some fails on broadwell and arm. Fix to LNT test suite needs work.
-
David Tenty authored
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
-
Aaron Ballman authored
-
Keith Smiley authored
``` 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
-
thomasraoux authored
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
-
gbreynoo authored
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
-
Benjamin Kramer authored
AArch64TargetTransformInfo.cpp:302:3: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough] default: ^
-
Markus Böck authored
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
-
Markus Böck authored
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
-
Markus Böck authored
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
-
Adam Czachorowski authored
This can happen around RecoveryExpr. Differential Revision: https://reviews.llvm.org/D103825
-
Luo, Yuanke authored
-
Xing Xue authored
[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
-
Paul C. Anagnostopoulos authored
Differential Revision: https://reviews.llvm.org/D103904
-
Irina Dobrescu authored
This patch includes cost tests for bit reverse as well as some adjustments to the cost model. Differential Revision: https://reviews.llvm.org/D102755
-
David Green authored
Debug info is currently preventing VPT block creation, leading to different codegen. This patch attempts to skip any debug instructions during vpt block creation, making sure they do not interfere. Differential Revision: https://reviews.llvm.org/D103610
-
David Green authored
-
Melanie Blower authored
This patch changes the ffp-model=precise to enables -ffp-contract=on (previously -ffp-model=precise enabled -ffp-contract=fast). This is a follow-up to Andy Kaylor's comments in the llvm-dev discussion "Floating Point semantic modes". From the same email thread, I put Andy's distillation of floating point options and floating point modes into UsersManual.rst Differential Revision: https://reviews.llvm.org/D74436
-
Yaxun (Sam) Liu authored
Add stricter check for 'ld'.
-
Joseph Huber authored
Clang will create a global value put in constant memory if an aggregate value is declared firstprivate in the target device. The symbol name only uses the name of the firstprivate variable, so symbol name conflicts will occur if the variable is allowed to have different types through templates. An example of this behvaiour is shown in https://godbolt.org/z/EsMjYh47n. This patch adds the mangled type name to the symbol to avoid such naming conflicts. This fixes https://bugs.llvm.org/show_bug.cgi?id=50642. Reviewed By: ABataev Differential Revision: https://reviews.llvm.org/D103995
-
Adam Czachorowski authored
Before this change, CXXDefaultArgExpr would always have ExprDependence::None. This can lead to issues when, for example, the inner expression is RecoveryExpr and yet containsErrors() on the default expression is false. Differential Revision: https://reviews.llvm.org/D103982
-
Sanjay Patel authored
Post-commit feedback for d69c4372 says the output may vary between pass managers. This is hopefully a quick fix, but we might want to investigate how to better solve this type of problem.
-
Guillaume Chatelet authored
[clang-tidy] Allow disabling integer narrowing conversions for cppcoreguidelines-narrowing-conversions Differential Revision: https://reviews.llvm.org/D104018
-
Caroline Concatto authored
This patch allows folding stepvector + extract to the lane when the lane is lower than the minimum size of the scalable vector. This fold is possible because lane X of a stepvector is also X! For instance, extracting element 3 of a <vscale x 4 x i64>stepvector is 3. Differential Revision: https://reviews.llvm.org/D103153
-
Eric Astor authored
MASM specifies that all variable definitions are redefinable, except for EQU definitions to expressions. (TEXTEQU is unspecified, but appears to be fully redefinable as well.) Also, in practice, ML.EXE allows redefinitions where the value doesn't change. Make variable redefinition possible for text macros, suppressing expansion if written as the first argument to an EQU or TEXTEQU directive. Reviewed By: thakis Differential Revision: https://reviews.llvm.org/D103993
-
Caroline Concatto authored
This patch allows that scalable vector can fold extractelement and constant splat only when the lane index is lower than the minimum number of elements of the vector. Differential Revision: https://reviews.llvm.org/D103180
-
Guillaume Chatelet authored
This is a roll forward of D102679. This patch simplifies the implementation of Sequence and makes it compatible with llvm::reverse. It exposes the reverse iterators through rbegin/rend which prevents a dangling reference in std::reverse_iterator::operator++(). Note: Compared to D102679, this patch introduces a `asSmallVector()` member function and fixes compilation issue with GCC 5. Differential Revision: https://reviews.llvm.org/D103948
-
Esme-Yi authored
Summary: Some structs like FileHeader32/SectionHeader32 defined in llvm/include/llvm/BinaryFormat/XCOFF.h seem unnecessary, because we only need their size. So this patch removes them and defines size constants directly. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D103901
-
Timm Bäder authored
From https://llvm.org/docs/LangRef.html#asm-template-argument-modifiers: I: Print the letter ‘i’ if the operand is an integer constant, otherwise nothing. Used to print ‘addi’ vs ‘add’ instructions. Differential Revision: https://reviews.llvm.org/D103968
-
Nico Weber authored
This reverts commit d84ed15c The original change relanded in 5b5ab80e.
-
Michael Kruse authored
Allow the lit test suite to run under Windows. This encompasses the following changes: * Define `lit_tools_dir` for flang's test configuration * Replace `(<command> || true)` idiom with `not <command>` * Add `REQUIRES: shell` on tests that invoke a shell script Reviewed By: awarzynski Differential Revision: https://reviews.llvm.org/D89368
-
David Spickett authored
This reverts commit 31859f89. Causing SVE and RISCV-V test failures on bots.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Avoid unnecessary copies and match every other method in TargetLowering that takes DataLayout as an argument.
-
David Spickett authored
-
Alex Zinenko authored
This brings us closer to replacing the LLVM data layout string with a first-class layout modeling in MLIR. Depends On D103945 Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D103946
-
Ole Strohm authored
Addresses the issue from a comment in D103252 Relaxes the test to account for some targets with added attributes to inside the pattern.
-
Sven van Haastregt authored
Add a test to verify OpenCL builtin declarations using OpenCLBuiltins.td. This test consists of parsing a 60k line generated input file. The entire test takes about 60s with a debug build on a decent machine. Admittedly this is not the fastest test, but doesn't seem excessive compared to other tests in clang/test/Headers (with one of the tests taking 85s for example). RFC: https://lists.llvm.org/pipermail/cfe-dev/2021-April/067973.html Differential Revision: https://reviews.llvm.org/D97869
-