- Dec 08, 2020
-
-
Bardia Mahjour authored
This patch enables epilogue vectorization by default per reviewer requests. Differential Revision: https://reviews.llvm.org/D89566
-
Yu Shan authored
When we annotating a function header so that it could be used by other TU, we also need to make sure the function is parsed correctly within the same TU. So if we can find the function's implementation, ignore the annotations, otherwise, false positive would occur. Move the escape by value case to post call and do not escape the handle if the function is inlined and we have analyzed the handle. Differential Revision: https://reviews.llvm.org/D91902
-
Valentin Clement authored
Add some clause validity tests for the kernels directive Reviewed By: sameeranjoshi Differential Revision: https://reviews.llvm.org/D91873
-
Stanislav Mekhanoshin authored
Differential Revision: https://reviews.llvm.org/D92125
-
Marek Kurdej authored
[libc++] [docs] Mark LWG3055 as complete. Use string_view instead of string in path::operator+=(ECharT). The issue didn't change the behaviour which is tested in libcxx/test/std/input.output/filesystems/class.path/path.member/path.concat.pass.cpp. The change to use string_view instead of string is not strictly necessary. <filesystem> was added in commit 998a5c88 (Implement <filesystem>). Reviewed By: #libc, ldionne Differential Revision: https://reviews.llvm.org/D92731
-
Florian Hahn authored
This patch adds the ConstraintElimination pass to the LTO pipeline and also runs it after SCCP in the function simplification pipeline. This increases the number of cases we can elimination. Pending further tuning.
-
Jennifer Yu authored
Emit error for use of 128-bit integer inside device code had been already implemented in https://reviews.llvm.org/D74387. However, the error is not emitted for SPIR64, because for SPIR64, hasInt128Type return true. hasInt128Type: is also used to control generation of certain 128-bit predefined macros, initializer predefined 128-bit integer types and build 128-bit ArithmeticTypes. Except predefined macros, only the device target is considered, since error only emit when 128-bit integer is used inside device code, the host target (auxtarget) also needs to be considered. The change address: 1. (SPIR.h) Correct hasInt128Type() for SPIR targets. 2. Sema.cpp and SemaOverload.cpp: Add additional check to consider host target(auxtarget) when call to hasInt128Type. So that __int128_t and __int128() are allowed to avoid error when they used outside device code. 3. SemaType.cpp: add check for SYCLIsDevice to delay the error message. The error will be emitted if the use of 128-bit integer in the device code. Reviewed By: Johannes Doerfert and Aaron Ballman Differential Revision: https://reviews.llvm.org/D92439
-
Stefan Pintilie authored
The xxeval instruction was intorduced in Power PC in Power 10. The instruction accepts three vector registers and an immediate. Depending on the value of the immediate the instruction can be used to perform certain bitwise boolean operations (and, or, xor, ...) on the given vector registers. This patch implements the AND and NAND patterns that can be used by the instruction. Reviewed By: nemanjai, #powerpc, bsaleil, NeHuang, jsji Differential Revision: https://reviews.llvm.org/D92420
-
Richard Sandiford authored
I have a patch that adds another group of candidate types to BuiltinCandidateTypeSet. Currently two styles are in use: the older begin/end pairs and the newer iterator_range approach. I think the group of candidates that I want to add should use iterator ranges, but I'd also like to consolidate the handling of the new candidates with some existing code that uses begin/end pairs. This patch therefore converts the begin/end pairs to iterator ranges as a first step. No functional change intended. Differential Revision: https://reviews.llvm.org/D92222
-
Craig Topper authored
A rotate by half the bitwidth swaps the bottom and top half which is the same as one of the MSB GREVI stage. We have to do this as a special combine because we prefer to keep (rotl/rotr X, BitWidth/2) as a rotate rather than a single stage GREVI. Differential Revision: https://reviews.llvm.org/D92286
-
Simon Pilgrim authored
Replace '|' with '||' in condition, and fix case of SignedMode variable.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Check the entire assertion condition before && with the message.
-
Anton Afanasyev authored
-
AndreyChurbanov authored
-
Fangrui Song authored
-
Navdeep Kumar authored
Add support to normalize affine.for ops i.e., convert the lower bound to zero and loop step to one. The Upper bound is set to the trip count of the loop. The exact value of loopIV is calculated just inside the body of affine.for. Currently loops with lower bounds having single result are supported. No such restriction exists on upper bounds. Differential Revision: https://reviews.llvm.org/D92233
-
Hans Wennborg authored
-
AndreyChurbanov authored
Check pointer returned by strchr, as it can be NULL in case of broken format of input string. Introduced new function __kmp_str_loc_numbers for fast parsing of numbers only in the location string. Also made some cleanup of __kmp_str_loc_init declaration and usage: - changed type of init_fname parameter to bool; - changed input from true to false in places where fname is not used. Differential Revision: https://reviews.llvm.org/D90962
-
Yitzhak Mandelbaum authored
This new stencil combinator is intended for use in diagnostics and the like. Differential Revision: https://reviews.llvm.org/D92658
-
- Dec 07, 2020
-
-
Alexey Bataev authored
It is possible to merge reuse and reorder shuffles and reduce the total cost of the ivectorization tree/number of final instructions. Differential Revision: https://reviews.llvm.org/D92668
-
David Green authored
This adds code to revert low overhead loops with calls in them before register allocation. Ideally we would not create low overhead loops with calls in them to begin with, but that can be difficult to always get correct. If we want to try and glue together t2LoopDec and t2LoopEnd into a single instruction, we need to ensure that no instructions use LR in the loop. (Technically the final code can be better too, as it doesn't need to use the same registers but that has not been optimized for here, as reverting loops with calls is expected to be very rare). It also adds a MVETailPredUtils.h header to share the revert code between different passes, and provides a place to expand upon, with RevertLoopWithCall becoming a place to perform other low overhead loop alterations like removing copies or combining LoopDec and End into a single instruction. Differential Revision: https://reviews.llvm.org/D91273
-
Jon Chesterfield authored
-
Andy Wingo authored
The table section goes after functions. Differential Revision: https://reviews.llvm.org/D92323
-
Jinsong Ji authored
Clean up QPX code in clang missed in https://reviews.llvm.org/D83915 Reviewed By: #powerpc, steven.zhang Differential Revision: https://reviews.llvm.org/D92329
-
Sean Fertile authored
This patch changes the archive handling to enable the semantics needed for legacy FORTRAN common blocks and block data. When we have a COMMON definition of a symbol and are including an archive, LLD will now search the members for global/weak defintions to override the COMMON symbol. The previous LLD behavior (where a member would only be included if it satisifed some other needed symbol definition) can be re-enabled with the option '-no-fortran-common'. Differential Revision: https://reviews.llvm.org/D86142
-
Michał Górny authored
This reverts commit 09b08833. This code is wrong on Linux, and causes ld-linux and linux-vdso to be reported twice. I need to work on it more.
-
Nico Weber authored
Speeds up linking Chromium's base_unittests almost 10%. According to ministat: N Min Max Median Avg Stddev x 5 0.72193289 0.73073196 0.72560811 0.72565799 0.0032265649 + 5 0.64069581 0.67173195 0.65876389 0.65796089 0.011349451 Difference at 95.0% confidence -0.0676971 +/- 0.0121682 -9.32906% +/- 1.67685% (Student's t, pooled s = 0.00834328) Differential Revision: https://reviews.llvm.org/D92734 -
Alexey Bataev authored
-
Nathan James authored
-
Kazushi (Jam) Marukawa authored
Add vcp and vex intrinsic instructions and regression tests. Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D92752
-
Kerry McLaughlin authored
The refineIndexType & refineUniformBase functions added by D90942 can also be used to improve CodeGen of masked gathers. These changes were split out from D91092 Reviewed By: sdesmalen Differential Revision: https://reviews.llvm.org/D92319
-
Haojian Wu authored
NFC, to make the test more robost.
-
Petar Avramovic authored
Mubuf rtn atomics use GLC_1 thus default value for glc operand should be -1, see https://reviews.llvm.org/D90730. This allows us to report error when rtn atomic requires glc=1 but does not have glc operand in input. Differential Revision: https://reviews.llvm.org/D92654
-
Roman Lebedev authored
-
Kerry McLaughlin authored
Lowers the llvm.masked.gather intrinsics (scalar plus vector addressing mode only) Changes in this patch: - Add custom lowering for MGATHER, using getGatherVecOpcode() to choose the appropriate gather load opcode to use. - Improve codegen with refineIndexType/refineUniformBase, added in D90942 - Tests added for gather loads with 32 & 64-bit scaled & unscaled offsets. Reviewed By: sdesmalen Differential Revision: https://reviews.llvm.org/D91092
-
Nathan James authored
Using bools instead of integers better conveys the expected value of the option. Reviewed By: Eugene.Zelenko, aaron.ballman Differential Revision: https://reviews.llvm.org/D92652
-
Sam McCall authored
Previously, loading one from a file meant allowing the library to do the IO. Clangd would prefer to do such IO itself (e.g. to allow caching). Differential Revision: https://reviews.llvm.org/D92640
-
Georgii Rymar authored
This rewrites the logic to get rid of "ELFSymbolRef" API where possible. This allowed to handle possible errors better, improve warnings reported and add new ones. Also 'reportWarning' was replaced with 'reportUniqueWarning' Differential revision: https://reviews.llvm.org/D92545
-
Sam McCall authored
-