- Feb 02, 2021
-
-
Petr Hosek authored
C identifier name input sections such as __llvm_prf_* are GC roots so they cannot be discarded. In LLD, the SHF_LINK_ORDER flag overrides the C identifier name semantics. The !associated metadata may be attached to a global object declaration with a single argument that references another global object, and it gets lowered to SHF_LINK_ORDER flag. When a function symbol is discarded by the linker, setting up !associated metadata allows linker to discard counters, data and values associated with that function symbol. Note that !associated metadata is only supported by ELF, it does not have any effect on non-ELF targets. Differential Revision: https://reviews.llvm.org/D76802
-
Patrick Oppenlander authored
This is consistent with BFD objcopy. Previously llvm objcopy would allocate space for SHT_NOBITS sections often resulting in enormous binary files. New test case (binary-paddr.test %t6). Reviewed By: jhenderson, MaskRay Differential Revision: https://reviews.llvm.org/D95569
-
Stanislav Mekhanoshin authored
Differential Revision: https://reviews.llvm.org/D95733
-
Hongtao Yu authored
Fixing up a couple places where `getCallSiteIdentifier` is needed to support pseudo-probe-based callsites. Also fixing an issue in the extbinary profile reader where the metadata section is not fully scanned based on the number of profiles loaded only for the current module. Reviewed By: wmi, wenlei Differential Revision: https://reviews.llvm.org/D95791
-
Björn Schäpers authored
Differential Revision: https://reviews.llvm.org/D92257
-
Weiwei Li authored
Support OpImageType in SPIRV Dialect. This change doesn't support operand AccessQualifier since it is optinal and only enables under Kernel capability. co-authored-by:
Alan Liu <alanliu.yf@gmail.com> Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D95580
-
Philip Reames authored
The main point of committing this early is to have a negative test in tree. Nothing fails in the current tests if we implement this (currently unsound) optimization.
-
Stephen Kelly authored
-
Sanjay Patel authored
This is another step (see D95452) towards correcting fast-math-flags bugs in vector reductions. There are multiple bugs visible in the test diffs, and this is still not working as it should. We still use function attributes (rather than FMF) to drive part of the logic, but we are not checking for the correct FP function attributes. Note that FMF may not be propagated optimally on selects (example in https://llvm.org/PR35607 ). That's why I'm proposing to union the FMF of a fcmp+select pair and avoid regressions on existing vectorizer tests. Differential Revision: https://reviews.llvm.org/D95690
-
Mehdi Amini authored
This reverts commit 35a57f39. A build is broken during clang bootstrap with: In file included from ../libcxx/src/format.cpp:9: /tmp/ci-nGNyLRM9V3/include/c++/v1/format:153:16: error: no member named 'is_constant_evaluated' in namespace 'std::__1' if (_VSTD::is_constant_evaluated() && __id >= __num_args_) ~~~~~~~^ 1 error generated.
-
Mehdi Amini authored
Differential Revision: https://reviews.llvm.org/D95770
-
Florian Hahn authored
A == B map to A >= B && A <= B (https://alive2.llvm.org/ce/z/_dwxKn). This extends the constraint construction to return a list of constraints, which can be used to properly de-compose nested AND & OR.
-
Lei Zhang authored
Support OpImageType in SPIRV Dialect. This change doesn't support operand AccessQualifier since it is optinal and only enables under Kernel capability. co-authored-by:
Alan Liu <alanliu.yf@gmail.com> Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D95580
-
AndreyChurbanov authored
The change includes OMP_NUM_TEAMS, OMP_TEAMS_THREAD_LIMIT env variables, omp_set_num_teams, omp_get_max_teams, omp_set_teams_thread_limit, omp_get_teams_thread_limit routines. Differential Revision: https://reviews.llvm.org/D95003
-
Philip Reames authored
This is a (rather delayed) follow up to commit 0129cd50. This commit is entirely NFC, the semantic change to leverage the new information will be submitted separate with a test case.
-
Hanhan Wang authored
This is the last revision to migrate using SimplePadOp to PadTensorOp, and the SimplePadOp is removed in the patch. Update a bit in SliceAnalysis because the PadTensorOp takes a region different from SimplePadOp. This is not covered by LinalgOp because it is not a structured op. Also, remove a duplicated comment from cpp file, which is already described in a header file. And update the pseudo-mlir in the comment. This is as same as D95615 but fixing one dep in CMakeLists.txt Different from D95671, the fix was applied to run target. Reviewed By: mravishankar Differential Revision: https://reviews.llvm.org/D95785
-
Wouter van Oortmerssen authored
As defined in the spec: https://github.com/WebAssembly/memory64/blob/master/proposals/memory64/Overview.md Differential Revision: https://reviews.llvm.org/D95651
-
Michael Holman authored
If the incoming block to a phi node is an EH pad, then we will materialize into an EH pad, which is not supposed to happen. To fix this, I added a check to see if incoming block of a phi node is an EH pad before using it as the insertion point. Differential Revision: https://reviews.llvm.org/D95019
-
Mark de Wever authored
Implements parts of: - P0645 Text Formatting Depends on D92214 Reviewed By: ldionne, curdeius, #libc Differential Revision: https://reviews.llvm.org/D93166
-
Michael Jones authored
Fuchsia's zxtest has a slightly different death test definition, and this macro makes our death test API work on Fuchsia. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D95648
-
David Green authored
Given a shuffle(vqdmulh(shuffle, shuffle), we can flatter the shuffles out if they become an identity mask. This can come up during lane interleaving, when we do that better. Differential Revision: https://reviews.llvm.org/D94034
-
Arthur Eubanks authored
Some benchmarks regress with non-trivial unswitching, so add an option to opt-out of performing non-trivial unswitching while investigating. Reviewed By: asbirlea Differential Revision: https://reviews.llvm.org/D95796
-
Craig Topper authored
This is consistent with the VEX version. It also fixes a sorting issue in the matching table that caused the EVEX version to be prioritized over VEX in intel syntax. Fixes issue [2] from PR48991.
-
Haowei Wu authored
This patch fixes elfabi tests on machines using a GMT+X timezone settings. Differential Revision: https://reviews.llvm.org/D95641
-
Melanie Blower authored
Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D95482
-
Sanjay Patel authored
The constant trunc/ext may not be the optimal pre-condition, but I think that handles the common cases. Example of Alive2 proof: https://alive2.llvm.org/ce/z/sREeLC This is another step towards canonicalizing to the intrinsics. Narrowing was identified as source of potential regression for abs(), so we need to handle this for min/max - see: https://llvm.org/PR48816 If this is not enough, we could process intrinsics in the trunc-driven matching in canEvaluateTruncated().
-
Sanjay Patel authored
-
Michael Jones authored
Some libcs define non-standard FE_* macros and include them in FE_ALL_EXCEPT. This change adjusts the fenv tests so that the non-standard FE_* macros do not interfere when compiled with fenv.h from another libc. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D95650
-
Mircea Trofin authored
Differential Revision: https://reviews.llvm.org/D95660
-
Valentin Clement authored
This patch is a follow up to D94821 to ensure the correct behavior of the general directive structure checker. This patch add the generation of the Enter function declaration for clauses in the TableGen backend. This helps to ensure each clauses declared in the TableGen file has at least a basic check. Reviewed By: kiranchandramohan Differential Revision: https://reviews.llvm.org/D95108
-
Simon Pilgrim authored
-
Simon Pilgrim authored
[X86][SSE] LowerScalarImmediateShift - use APInt::getLowBitsSet for vXi8 ISD::SRL mask generation. NFCI. Match what we do for ISD::SHL
-
Shilei Tian authored
FileCheck is required for OpenMP tests. The current detection can fail if building OpenMP in-tree when user sets `LLVM_INSTALL_TOOLCHAIN_ONLY=ON`. As a result, CMake will raise an error and the compilation will be broken. This patch fixed the issue. When `FileCheck` is not a target, tests will just be skipped. Reviewed By: jdoerfert, JonChesterfield Differential Revision: https://reviews.llvm.org/D95689
-
Mark de Wever authored
Implements: - LWG3149 DefaultConstructible should require default initialization Implements parts of: - P0898R3 Standard Library Concepts - P1754 Rename concepts to standard_case for C++20, while we still can Depends on D91986 Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D93461
-
Jessica Paquette authored
When we have a zeroext parameter, emit G_ASSERT_ZEXT. Add a check that we actually emit it. This is a 0.1% code size win on CTMark/7zip and CTMark/consumer-typeset at -Os. Differential Revision: https://reviews.llvm.org/D95567
-
Teresa Johnson authored
Part of the gold test added in 1487747e relies on more recent fixes to gold that fix the plugin behavior with --export-dynamic-symbol and --dynamic-list. Extract those parts of the new test into a v1.16 test.
-
Craig Topper authored
A follow up patch will add support for commuting operands or changing opcode to vfmacc and friends. Reviewed By: frasercrmck Differential Revision: https://reviews.llvm.org/D95662
-
Craig Topper authored
-
Jessica Paquette authored
When replacing the dst reg with the src reg, we need to make sure that we propagate the dst reg's register class through to the src. Otherwise, we aren't meeting the requirements for G_ASSERT_ZEXT, and so the verifier will fail. Differential Revision: https://reviews.llvm.org/D95708
-