- Mar 03, 2020
-
-
Vedant Kumar authored
After the format change from D69471, there can be more than one section in an object that contains coverage function records. Look up each of these sections and concatenate all the records together. This re-enables the instrprof-merging.cpp test, which previously was failing on OSes which use comdats. Thanks to Jeremy Morse, who very kindly provided object files from the bot I broke to help me debug.
-
Alexey Bataev authored
Added basic support (parsing/sema/serialization) for 'destroy' clause in depobj directives.
-
Sid Manning authored
Pickup the default crt and libs when the target is musl. Differential Revision: https://reviews.llvm.org/D75139
-
Erik Pilkington authored
Specifically, this fixes a false-positive in -Wobjc-signed-char-bool. rdar://57372317 Differential revision: https://reviews.llvm.org/D75387
-
Petr Hosek authored
We always want to build the table of contents. Additionally, we also set the flag to make the output deterministic which is already the default for llvm-ar. Differential Revision: https://reviews.llvm.org/D74108
-
Raphael Isemann authored
Summary: This function is (supposed) to be a list of asserts that just do a generic sanity check on declarations we return. Right now this function is hidden behind the LLDB_CONFIGURATION_DEBUG macro which means it will *only* be run in debug builds (but not Release+assert builds and so on). As we have not a single CI running in Debug build, failures in VerifyDecl are hidden from us until someone by accident executes the tests in Debug mode on their own machine. This patch removes the `ifdef`'s for LLDB_CONFIGURATION_DEBUG and puts the `getAccess()` call in `VerifyDecl` behind a `#ifndef NDEBUG` to make sure that this function is just an empty function with internal linkage when NDEBUG is defined (so compilers should just optimize away the calls to it). Reviewers: aprantl Reviewed By: aprantl Subscribers: shafik, abidh, JDevlieghere, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D75330
-
Jessica Paquette authored
CFI instructions can only safely be outlined when the outlined call is a tail call, or when the outlined frame is fixed up. For the sake of correctness, disable outlining from CFI instructions. Add machine-outliner-cfi.mir to test this.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Alexey Bataev authored
Added basic parsing/sema/serialization support for depobj directive.
-
Adrian Prantl authored
Previously we would also accept DISubprograms that matched in name only, but this doesn't appear to be necessary any more. I did a Full and Thin LTO build of Clang and it completed without a warning. Differential Revision: https://reviews.llvm.org/D75213
-
Brian Cain authored
-
Sam McCall authored
-
Nick Desaulniers authored
Summary: Matches GCC 8.1 (2018). Updates documentation+release notes as well. See also https://reviews.llvm.org/rL220244. Reviewers: rsmith, aaron.ballman Reviewed By: rsmith, aaron.ballman Subscribers: aaron.ballman, dschuff, aheejin, simoncook, s.egerton, cfe-commits, hans, srhines Tags: #clang Differential Revision: https://reviews.llvm.org/D75383
-
LLVM GN Syncbot authored
-
Mitch Phillips authored
This reverts commit 5a1958f2. This change broke the UBSan build bots. See https://reviews.llvm.org/D75057 for more information.
-
Mitch Phillips authored
This reverts commit b52355f8. The change this patch depends on (5a1958f2) broke the UBSan buildbots. See https://reviews.llvm.org/D75057 for more information.
-
Teresa Johnson authored
Summary: Fixes an issue that cropped up after the changes in D73242 to delay the lowering of type tests. LTT couldn't handle any type tests with non-string type id (which happens for local vtables, which we try to promote during the compile step but cannot always when there are no exported symbols). We can simply treat the same as having an Unknown resolution, which delays their lowering, still allowing such type tests to be used in subsequent optimization (e.g. planned usage during ICP). The final lowering which simply removes these handles them fine. Beefed up an existing ThinLTO test for such unpromoted type ids so that the internal vtable isn't removed before lower type tests, which hides the problem. Reviewers: evgeny777, pcc Subscribers: inglorion, hiraditya, steven_wu, dexonsmith, aganea, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75201
-
Matthias Kramm authored
Summary: Make computeConversionSet bubble up errors from nested regions. Note that this doesn't change top-level behavior - since the nested region calls emitError, the error was visible before, just not surfaced as quickly. Differential Revision: https://reviews.llvm.org/D75369
-
Vedant Kumar authored
The first attempt in f82ae3ad was not handled correctly, as 'UNSUPPORTED: *' is not accepted by lit.
-
River Riddle authored
Summary: For example, DenseElementsAttr currently does not properly round-trip unsigned integer values. Differential Revision: https://reviews.llvm.org/D75374
-
Volkan Keles authored
Add a new target hook for shouldLocalize so that targets can customize the logic. https://reviews.llvm.org/D75207
-
Arkady Shlykov authored
Summary: Current peeling implementation bails out in case of loop nests. The patch introduces a field in TargetTransformInfo structure that certain targets can use to relax the constraints if it's profitable (disabled by default). Also additional option is added to enable peeling manually for experimenting and testing purposes. Reviewers: fhahn, lebedev.ri, xbolva00 Reviewed By: xbolva00 Subscribers: RKSimon, xbolva00, hiraditya, zzheng, llvm-commits Differential Revision: https://reviews.llvm.org/D70304
-
Nicolas Vasilache authored
Summary: This revision adds padding for 1-D Vector in the common case of x86 execution with a stadard data layout. This supports properly interfacing codegen with arrays of e.g. `vector<9xf32>`. Such vectors are already assumed padded to the next power of 2 by LLVM codegen with the default x86 data layout: ``` define void @test_vector_add_1d_2_3(<3 x float>* nocapture readnone %0, <3 x float>* nocapture readonly %1, i64 %2, i64 %3, i64 %4, <3 x float>* nocapture readnone %5, <3 x float>* nocapture readonly %6, i64 %7, i64 %8, i64 %9, <3 x float>* nocapture readnone %10, <3 x float>* nocapture %11, i64 %12, i64 %13, i64 %14) local_unnamed_addr { %16 = getelementptr <3 x float>, <3 x float>* %6, i64 1 %17 = load <3 x float>, <3 x float>* %16, align 16 %18 = getelementptr <3 x float>, <3 x float>* %1, i64 1 %19 = load <3 x float>, <3 x float>* %18, align 16 %20 = fadd <3 x float> %17, %19 %21 = getelementptr <3 x float>, <3 x float>* %11, i64 1 ``` The pointer addressing a `vector<3xf32>` is assumed aligned `@16`. Similarly, the pointer addressing a `vector<65xf32>` is assumed aligned `@512`. This revision allows using objects such as `vector<3xf32>` properly with the standard x86 data layout used in the JitRunner. Integration testing is done out of tree, at the moment such testing fails without this change. Reviewers: ftynse Subscribers: mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75459
-
- Mar 02, 2020
-
-
Sven van Haastregt authored
These declarations use a mix of unsigned and signed argument and return types. This is not in accordance with OpenCL v2.0 s6.13.11. Differential Revision: https://reviews.llvm.org/D74910
-
Vedant Kumar authored
After D69471, this test started failing on powerpc64, s390x and on a sanitizer bot. Disable the test while I investigate.
-
Krzysztof Parzyszek authored
-
Jonathan Coe authored
Summary: Rename CSharpNullConditionalSq to CSharpNullConditionalLSquare. Add test for spaces inside [] with C# Null conditionals. Address comments missed from https://reviews.llvm.org/D75368. Reviewers: krasimir Reviewed By: krasimir Subscribers: cfe-commits Tags: #clang-format, #clang Differential Revision: https://reviews.llvm.org/D75456
-
Martijn Vels authored
Summary: This review is a mostly trivial change to use an explicit ABI flag for the unstable external template list. This follows the practice for an ABI flag per feature, and provides a spot for the rational / motivation for the flag. Reviewers: EricWF, ldionne Subscribers: dexonsmith, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D75457
-
Nicolai Hähnle authored
Summary: Enabling _GLIBCXX_DEBUG (implied by LLVM_ENABLE_EXPENSIVE_CHECKS) causes std::min_element (and presumably others) to no longer be constexpr, which in turn causes the build to fail. This seems like a bug in the GCC STL. This change works around it. Change-Id: I5fc471caa9c4de3ef4e87aeeac8df1b960e8e72c Reviewers: tstellar, hans, serge-sans-paille Differential Revision: https://reviews.llvm.org/D75199
-
Simon Pilgrim authored
- Remove unnecessary includes from the headers - Fix cppcheck definition/declaration arg mismatch warnings - Tidyup old comments (MVT usage was removed a long time ago) - Use SmallVector::append for repeated mask entries
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Fixes cppcheck warning.
-
David Green authored
getReductionVars, getInductionVars and getFirstOrderRecurrences were all being returned from LoopVectorizationLegality as pointers to lists. This just changes them to be references, cleaning up the interface slightly. Differential Revision: https://reviews.llvm.org/D75448
-
Martijn Vels authored
Summary: This change partially inlines operator=(const basic_string&) where both the input and current instance are short strings, making the assignment a fixed length inlined memcpy. Assignments where either of the strings are long are delegate to __assign_no_alias<__is_short>(), which is templated for the long / short branch already observed in the caller. Stable: ``` -------------------------------------------------------------------------------- Benchmark Time CPU Iterations -------------------------------------------------------------------------------- BM_StringAssignStr_Empty_Opaque 2.65 ns 2.66 ns 263745536 BM_StringAssignStr_Empty_Transparent 2.95 ns 2.96 ns 236494848 BM_StringAssignStr_Small_Opaque 2.93 ns 2.94 ns 237301760 BM_StringAssignStr_Small_Transparent 2.69 ns 2.69 ns 265809920 BM_StringAssignStr_Large_Opaque 19.6 ns 19.6 ns 35573760 BM_StringAssignStr_Large_Transparent 19.1 ns 19.1 ns 36716544 BM_StringAssignStr_Huge_Opaque 1901 ns 1901 ns 364544 BM_StringAssignStr_Huge_Transparent 1889 ns 1889 ns 360448 ``` Unstable ``` -------------------------------------------------------------------------------- Benchmark Time CPU Iterations -------------------------------------------------------------------------------- BM_StringAssignStr_Empty_Opaque 1.29 ns 1.29 ns 540454912 BM_StringAssignStr_Empty_Transparent 1.11 ns 1.12 ns 628482048 BM_StringAssignStr_Small_Opaque 1.29 ns 1.29 ns 541216768 BM_StringAssignStr_Small_Transparent 1.11 ns 1.11 ns 629469184 BM_StringAssignStr_Large_Opaque 15.6 ns 15.6 ns 44945408 BM_StringAssignStr_Large_Transparent 14.9 ns 14.9 ns 46764032 BM_StringAssignStr_Huge_Opaque 1713 ns 1713 ns 401408 BM_StringAssignStr_Huge_Transparent 1704 ns 1704 ns 397312 ``` Subscribers: libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D75211
-
Graham Hunter authored
Reviewers: ABataev, kkwli0, jdoerfert, fpetrogalli Reviewed By: ABataev, fpetrogalli Differential Revision: https://reviews.llvm.org/D75350
-
Stephan Herhut authored
Summary: Added brackets to fix the loop trip count computation. The brackets ensure the bounds are subtracted before we divide the result by the step of the loop. Differential Revision: https://reviews.llvm.org/D75449
-
Sanjay Patel authored
I'm making the CHECK lines vague enough that they pass at -O0. If that is too vague (we really want to check the data flow to verify that the variables are not mismatched, etc), then we can adjust those lines again to more closely match the output at -O0 rather than -O1. This change is based on the post-commit comments for: https://github.com/llvm/llvm-project/commit/83f4372f3a708ceaa800feff8b1bd92ae2c3be5f http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20200224/307888.html
-
Nicolas Vasilache authored
Summary: The Vector struct does not require a C++ runtime. Differential Revision: https://reviews.llvm.org/D75409
-
Haojian Wu authored
Summary: This patch reverts https://github.com/llvm/llvm-project/commit/2c5ee78de113484978450b834498e1b0e2aab5c4, now kythe (https://github.com/kythe/kythe/issues/4381) supports returning ctors refs as part of class references, so there is no need to query the ctor refs in the index (this would also make the results worse, lots of duplications) Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D75439
-