- Apr 12, 2020
-
-
Craig Topper authored
[X86] Move code that replaces ISD::VSELECT with X86ISD::BLENDV from X86DAGToDAGISel::Select to PreprocessISelDAG
-
- Apr 11, 2020
-
-
Eli Friedman authored
This would have saved me some time this morning.
-
River Riddle authored
This prefix is already implied by the doc location and functions only as filler.
-
Simon Pilgrim authored
Replace SmallSet.h include with SmallVector.h - only SmallVector.h is used from inside SmallSet.h Remove llvm::StringRef forward declaration (we include StringRef.h) Remove unused llvm::GlobalVariable forward declaration.
-
Kadir Cetinkaya authored
-
Craig Topper authored
[CallSite removal][SelectionDAGBuilder] Use CallBase instead of ImmutableCallSite in visitPatchpoint. Differential Revision: https://reviews.llvm.org/D77932
-
Kadir Cetinkaya authored
Summary: We had tests in clangd (target_info.test) that got enabled only on systems that know about x86. But they were always disabled as clangd lit config never registered those targets. This patch adds those targets as `$TARGET$-registered-target` Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D77944
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Hongtao Yu authored
Summary: A count profile may affect tail duplication's heuristic causing a block to be duplicated in only a part of its predecessors. This is not allowed in the Machine Block Placement pass where an assert will go off. I'm removing the assert and making the optimization bail out when such case happens. Reviewers: wenlei, davidxl, Carrot Reviewed By: Carrot Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77748
-
Aaron Puchert authored
Summary: If we don't read the flag, we don't need to set it. Then we also don't need to filter it out to get the pointer. This should have a (small) positive impact on code size and performance. Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D76259
-
River Riddle authored
Summary: This revision performs a few refactorings on the main docs folder. Namely it: * Adds a new Rationale/ folder to contain various rationale documents * Moves several "getting started" documents to the Tutorials/ folder * Cleans up the titles of various documents Differential Revision: https://reviews.llvm.org/D77934
-
Casey Carter authored
-
Fangrui Song authored
-
Fangrui Song authored
-
Benjamin Kramer authored
-
Sam McCall authored
-
Jon Roelofs authored
Differential Revision: https://reviews.llvm.org/D77914
-
Jon Roelofs authored
Differential Revision: https://reviews.llvm.org/D77917
-
Jon Roelofs authored
Differential Revision: https://reviews.llvm.org/D77916
-
Jon Roelofs authored
-
Matt Arsenault authored
Selection would fail after the post legalize combiner put an illegal zextload back together. The base combiner has parameter to only allow legal operations, but they appear to not be used. I also don't see a nice way to remove a single entry from all_combines, so just hack around this.
-
Kostya Kortchinsky authored
Summary: Fuchsia's gcc uses this, which in turn prevents us to compile successfully due to a few `memset`'ing some non-trivial classes in some `init`. Change those `memset` to members initialization. Reviewers: pcc, hctim Subscribers: #sanitizers, llvm-commits Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D77902
-
Uday Bondhugula authored
OperatioFolder::tryToFold performs both true folding and in a few instances in-place updates through op rewrites. In the latter case, we should still be applying the supplied pattern rewrites in the same iteration; however this wasn't the case since tryToFold returned success() for both true folding and in-place updates, and the patterns for the in-place updated ops were being applied only in the next iteration of the driver's outer loop. This fix would make it converge faster. Differential Revision: https://reviews.llvm.org/D77485
-
Sanjay Patel authored
As proposed in D77881, we'll have the related widening operation, so this name becomes too vague. While here, change the function signature to take an 'int' rather than 'size_t' for the scaling factor, add an assert for overflow of 32-bits, and improve the documentation comments.
-
Simon Pilgrim authored
TargetLoweringObjectFileImpl.h - replace MCExpr.h and Module.h includes with forward declarations. NFC. Also remove unused llvm::Mangler forward declaration.
-
Benjamin Kramer authored
-
Benjamin Kramer authored
-
Benjamin Kramer authored
- Move Adapters array to the stack, we know the size precisely - Parse format string on demand into a SmallVector. In theory this could lead to parsing it multiple times, but I couldn't find a single instance of that in LLVM. - Make more of the implementation details private.
-
Nemanja Ivanovic authored
The PPC back end currently crashes (fails to select) with f16 input. This patch expands it on subtargets prior to ISA 3.0 (Power9) and uses the HW conversions on Power9. Fixes https://bugs.llvm.org/show_bug.cgi?id=39865 Differential revision: https://reviews.llvm.org/D68237
-
Florian Hahn authored
Default visibility for classes is private, so the private: at the top of various class definitions is redundant. Reviewers: gilr, rengolin, Ayal, hsaito Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D77810
-
Nemanja Ivanovic authored
For targets where char is unsigned (like PowerPC), something like char c = fgetc(...) will never produce a char that will compare equal to EOF so this loop does not terminate. Change the type to int (which appears to be the POSIX return type for fgetc). This allows the test case to terminate normally on PPC.
-
Simon Pilgrim authored
EdgeBundles.h has no use for it.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
OptimizationRemarkEmitter.h - remove unused llvm::DebugLoc/Loop/Pass/Twine forward declarations. NFC.
-
Simon Pilgrim authored
-
Shilei Tian authored
...onization Summary: In previous patch, in order to optimize performance, we only synchronize once for each target region. The syncrhonization is via stream synchronization. However, in the extreme situation, the performce might be bad. Consider the following case: There is a task that requires transferring huge amount of data (call many times of data transferring function). It is scheduled to the first stream. And then we have 255 very light tasks scheduled to the remaining 255 streams (by default we have 256 streams). They can be finished before we do synchronization at the end of the first task. Next, we get another very huge task. It will be scheduled again to the first stream. Now the first task finishes its kernel launch and call stream synchronization. Right now, the stream already contains two kernels, and the synchronization will wait until the two kernels finish instead of just the first one for the first task. In this patch, we introduce stream pool. After each synchronization, the stream will be returned back to the pool to make sure that for each synchronization, only expected operations are waited. Reviewers: jdoerfert Reviewed By: jdoerfert Subscribers: gregrodgers, yaxunl, lildmh, guansong, openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D77412
-