- Sep 03, 2020
-
-
Fangrui Song authored
Both tests operate on `%T/testbin`. If the two tests run concurrently, one may fail. This is likely the root cause of flaky failures reported by https://lists.llvm.org/pipermail/llvm-dev/2020-September/144781.html https://llvm.org/docs/CommandGuide/lit.html says: `%T parent directory of %t (not unique, deprecated, do not use)` Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D87103
-
Luboš Luňák authored
The tests are unsupported on linux, but they assert in Thread::GetStopDescriptionRaw() because of empty stop reason description. And it is empty because InstrumentationRuntimeTSan::NotifyBreakpointHit() fails to get report from InstrumentationRuntimeTSan::RetrieveReportData(), which is possibly(?) the reason why this is unsupported on linux. Add a dummy stop reason description for this case, which changes the test result from failing to unsupported.
-
Wenlei He authored
Although LLVM supports vectorization of loops containing log2, it did not support using SVML implementation of it. Added support so that when clang is invoked with -fveclib=SVML now an appropriate SVML library log2 implementation will be invoked. Follow up on: https://reviews.llvm.org/D77114 Tests: Added unit tests to svml-calls.ll, svml-calls-finite.ll. Can be run with llvm-lint. Created a simple c++ file that tests log2, and used clang+ to build it, and output final assembly. Reviewed By: wenlei, craig.topper Differential Revision: https://reviews.llvm.org/D86730
-
Jamie Schmeiser authored
This reverts commit 7bc9924c due to failure caused by missing a space between trailing >>, required by some versions of C++:wq.
-
Amy Huang authored
Make sure the sizes for forward declared classes aren't emitted in DWARF. This comes before https://reviews.llvm.org/D87062, which adds sizes to all classes with definitions. Bug: https://bugs.llvm.org/show_bug.cgi?id=47338 Differential Revision: https://reviews.llvm.org/D87070
-
Simon Pilgrim authored
Use forward declarations and move the include down to dependent files that actually use it. This also exposes a number of implicit dependencies on KnownBits.h
-
Lei Zhang authored
These deafult values are gotten from Vulkan required limits. Reviewed By: hanchung Differential Revision: https://reviews.llvm.org/D87090
-
Louis Dionne authored
-
John Brawn authored
Currently the libcxx/atomics/ext-int.verify.cpp test fails when run with -std=c++03 because there's an extra error due to using list initialization. Fix this by using parentheses instead.
-
David Green authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
This is already included in PHIEliminationUtils.h
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Remove \returns tag from a void function
-
Sanjay Patel authored
-
Sanjay Patel authored
-
Jan Korous authored
-
Dimitry Andric authored
Since the parameter is not used anywhere, and the default size of 16 apparently causes PR47359, remove it. This ensures that IntervalMap will automatically determine the optimal size, using its NodeSizer struct. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D87044
-
Walter Erquinigo authored
Caused by D86662. The fix is only checking some fields when the expect_debug_info_size flag is true. For some reason this was not failing on a local linux machine.
-
Dokyung Song authored
This patch adds an option "keep_seed" to keep all initial seed inputs in the corpus. Previously, only the initial seed inputs that find new coverage were added to the corpus, and all the other initial inputs were discarded. We observed in some circumstances that useful initial seed inputs are discarded as they find no new coverage, even though they contain useful fragments in them (e.g., SQLITE3 FuzzBench benchmark). This newly added option provides a way to keeping seed inputs in the corpus for those circumstances. With this patch, and with -keep_seed=1, all initial seed inputs are kept in the corpus regardless of whether they find new coverage or not. Further, these seed inputs are not replaced with smaller inputs even if -reduce_inputs=1. Differential Revision: https://reviews.llvm.org/D86577
-
Jamie Schmeiser authored
A new hidden option -print-changed is added along with code to support printing the IR as it passes through the opt pipeline in the new pass manager. Only those passes that change the IR are reported, with others only having the banner reported, indicating that they did not change the IR, were filtered out or ignored. Filtering of output via the -filter-print-funcs is supported and a new supporting hidden option -filter-passes is added. The latter takes a comma separated list of pass names and filters the output to only show those passes in the list that change the IR. The output can also be modified via the -print-module-scope function. The code introduces a template base class that generalizes the comparison of IRs that takes an IR representation as template parameter. The constructor takes a series of lambdas that provide an event based API for generalized reporting of IRs as they are changed in the opt pipeline through the new pass manager. The first of several instantiations is provided that prints the IR in a form similar to that produced by -print-after-all with the above mentioned filtering capabilities. This version, and the others to follow will be introduced at the upcoming developer's conference. See https://hotcrp.llvm.org/usllvm2020/paper/29 for more information. Reviewed By: yrouban (Yevgeny Rouban) Differential Revision: https://reviews.llvm.org/D86360
-
JF Bastien authored
Propose Ahmed as a replacement. He's fixed many security issues in LLVM for Apple in the last few years, as such he'll fit the "Individual contributors" description. Differential Revision: https://reviews.llvm.org/D86742
-
Matt Morehouse authored
Currently, libFuzzer will exit with an error message if a non-existent directory is provided for any of the appropriate arguments. For cases where libFuzzer is used in a specialized embedded environment, it would be much easier to have libFuzzer create the directories for the user. This patch accommodates for this scenario by allowing the user to provide the argument `-create_missing_dirs=1` which makes libFuzzer attempt to create the `artifact_prefix`, `exact_artifact_path`, `features_dir` and/or corpus directory if they don't already exist rather than throw an error and exit. Split off from D84808 as requested [here](https://reviews.llvm.org/D84808#2208546). Reviewed By: morehouse Differential Revision: https://reviews.llvm.org/D86733
-
Simon Pilgrim authored
Twine is unused, and TargetLowering can be reduced to a forward declaration and moved to Utils.cpp
-
Yitzhak Mandelbaum authored
The new overloads apply directly to a node, like the `clang::ast_matchers::match` functions, Rather than generating an `EditGenerator` combinator. Differential Revision: https://reviews.llvm.org/D87031
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Sanjay Patel authored
Follow-up to D86798 and rGe25449f.
-
Sanjay Patel authored
-
Victor Huang authored
Following 97febb13, fix the out-of-memory error associated with buffering the output in-memory by writing to an allocated file with the minimum offset and running it on ppc system-linux only. Peer reviewed by: nemanjai
-
Benjamin Kramer authored
The scalar loop is slow but correct. Differential Revision: https://reviews.llvm.org/D87082
-
Lei Zhang authored
Its handling is similar to optional attributes, except for the getter method. Reviewed By: rsuderman Differential Revision: https://reviews.llvm.org/D87055
-
Zhibin Li authored
Reviewed By: mravishankar, antiagainst Differential Revision: https://reviews.llvm.org/D86914
-
Simon Pilgrim authored
We only needed llvm/IR/Constants.h.
-
Ling, Liyang authored
Reviewed By: mravishankar, antiagainst Differential Revision: https://reviews.llvm.org/D86929
-
Simon Pilgrim authored
Try to consistently use the actual type name in the file.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Sanjay Patel authored
-
Florian Hahn authored
As far as I am aware, the placement of MergedLoadStoreMotion in the pipeline is not heavily tuned currently. It seems to not matter much if we do it after DSE in the LTO pipeline (no binary changes for -O3 -flto on MultiSource/SPEC2000/SPEC2006). Moving it after DSE however has a major benefit: MemorySSA is constructed by LICM and is consumed by DSE, so if MergedLoadStoreMotion happens after DSE, we do not need to preserve MemorySSA in it. If there are any concerns with this move, I can also update MergedLoadStoreMotion to preserve MemorySSA. This patch together with D86651 (preserve MemSSA in MemCpyOpt) and D86534 (preserve MemSSA in GVN) are the remaining patches to bring down compile-time for DSE + MemorySSA to the levels outlined in http://lists.llvm.org/pipermail/llvm-dev/2020-August/144417.html Once they land, we should be able to start with flipping the switch on enabling DSE + MmeorySSA. Reviewed By: asbirlea Differential Revision: https://reviews.llvm.org/D86967
-