- Apr 10, 2020
-
-
Zequan Wu authored
Fix lifetime call in landingpad blocks simplifycfg from removing the landingpad. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D77188
-
Thomas Lively authored
Summary: A previous change (53211a) had updated the argument parsing to handle large max memories, but 4294967296 would still wrap to zero after the options were parsed. This change updates the configuration to use a 64-bit integer to store the max memory to avoid that overflow. Reviewers: sbc100 Subscribers: dschuff, jgravelle-google, aheejin, sunfish, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77437
-
Med Ismail Bennani authored
-
Christopher Tetreault authored
Summary: Remove usages of asserting vector getters in Type in preparation for the VectorType refactor. The existence of these functions complicates the refactor while adding little value. Reviewers: grosbach, efriedma, sdesmalen Reviewed By: efriedma Subscribers: hiraditya, dmgreen, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77271
-
River Riddle authored
Summary: Some pattern rewriters, like dialect conversion, prohibit the unbounded recursion(or reapplication) of patterns on generated IR. Most patterns are not written with recursive application in mind, so will generally explode the stack if uncaught. This revision adds a hook to RewritePattern, `hasBoundedRewriteRecursion`, to signal that the pattern can safely be applied to the generated IR of a previous application of the same pattern. This allows for establishing a contract between the pattern and rewriter that the pattern knows and can handle the potential recursive application. Differential Revision: https://reviews.llvm.org/D77782
-
Christopher Tetreault authored
Summary: Remove usages of asserting vector getters in Type in preparation for the VectorType refactor. The existence of these functions complicates the refactor while adding little value. Reviewers: sunfish, sdesmalen, efriedma Reviewed By: efriedma Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77273
-
Hubert Tong authored
Continuing from D77388, this patch moves interface declarations associated with `MachODump.cpp` into the headers corresponding to the file that defines the variable. At the same time, these externs are moved into the `llvm::objdump` namespace. The externs defined in `MachODump.cpp` that are not referenced outside of it are given internal linkage. This patch does not rename the external functions defined by `MachODump.cpp` that are not clearly named as being specific to Mach-O. Reviewed By: jhenderson, MaskRay Differential Revision: https://reviews.llvm.org/D77730
-
Stefan Pintilie authored
Used unsigned long where uint64_t should have been used by mistake. Fixed in this patch.
-
Med Ismail Bennani authored
-
Simon Pilgrim authored
v2i8/v4i8/v8i8 + v2i16/v4i16 all show up in vectorizer code and by just using the legalized types (v16i8/v8i16) we're highly exaggerating the actual cost of the shuffle.
-
Jan Kratochvil authored
It removes some needless deep indentation and some redundant statements. It prepares the code for a more clean next patch - DWARF index callbacks D77327. Differential Revision: https://reviews.llvm.org/D77326
-
Adrian Prantl authored
Types that came from a Clang module are nested in DW_TAG_module tags in DWARF. This patch recreates the Clang module hierarchy in LLDB and 1;95;0csets the owning module information accordingly. My primary motivation is to facilitate looking up per-module APINotes for individual declarations, but this likely also has other applications. This reapplies the previously reverted commit, but without support for ClassTemplateSpecializations, which I'm going to look into separately. rdar://problem/59634380 Differential Revision: https://reviews.llvm.org/D75488
-
Jonas Devlieghere authored
Add a small artificial delay in replay mode before exiting to ensure that all asynchronous events have completed. This should reduce the level of replay flakiness on some of the slower bots.
-
Siva Chandra Reddy authored
A typo in an earlier change allowed this check to be missed. Reviewers: abrachet Differential Revision: https://reviews.llvm.org/D77256
-
David Truby authored
-
Matthias Gehre authored
Summary: Previously, the check would fix ``` using fn = void(int); void f(fn *); void test() { // CHECK-MESSAGES: :[[@LINE+2]]:12: warning: parameter 'I' is unused // CHECK-FIXES: {{^}} f([](int /*I*/) { f([](int I) { return; }); } ``` into `f([]() { return; });` which breaks compilation. Now the check is disabled from Lambdas. The AST is not so easy to use. For ``` auto l = [](int) { return; }; f(l); ``` one gets ``` `-CallExpr <line:7:5, col:8> 'void' |-ImplicitCastExpr <col:5> 'void (*)(fn *)' <FunctionToPointerDecay> | `-DeclRefExpr <col:5> 'void (fn *)' lvalue Function 0x55a91a545e28 'f' 'void (fn *)' `-ImplicitCastExpr <col:7> 'void (*)(int)' <UserDefinedConversion> `-CXXMemberCallExpr <col:7> 'void (*)(int)' `-MemberExpr <col:7> '<bound member function type>' .operator void (*)(int) 0x55a91a546850 `-ImplicitCastExpr <col:7> 'const (lambda at line:6:14)' lvalue <NoOp> `-DeclRefExpr <col:7> '(lambda at line:6:14)':'(lambda at line:6:14)' lvalue Var 0x55a91a5461c0 'l' '(lambda at line:6:14)':'(lambda at line:6:14)' ``` There is no direct use of the `operator()(int I)` of the lambda, so the `!Indexer->getOtherRefs(Function).empty()` does not fire. In the future, we might be able to use the conversion operator `operator void (*)(int)` to mark the call operator as having an "other ref". Reviewers: aaron.ballman, alexfh, hokein, njames93 Subscribers: xazax.hun, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D77680 -
Scott Egerton authored
This adds the __riscv_bitmanip macro and the 'b' target feature to enable it. Differential Revision: https://reviews.llvm.org/D71553
-
Simon Cook authored
This adds support for enabling experimental/unratified RISC-V ISA extensions in the -march string in the case where an explicit version number has been declared, and the -menable-experimental-extensions flag has been provided. This follows the design as discussed on the mailing lists in the following RFC: http://lists.llvm.org/pipermail/llvm-dev/2020-January/138364.html Since the RISC-V toolchain definition currently rejects any extension with an explicit version number, the parsing logic has been tweaked to support this, and to allow standard extensions to have their versions checked in future patches. The bitmanip 'b' extension has been added as a first use of this support, it should easily extend to other as yet unratified extensions (such as the vector 'v' extension). Differential Revision: https://reviews.llvm.org/D73891
-
Paolo Savini authored
This adds the instruction encoding and mnenomics for the proposed RISC-V Bit Manipulation extension (version 0.92). It is implemented with each category of instruction as its own target feature, with the 'b' extension feature enabling all options. Since this extension is not yet ratified, all target features are prefixed with 'experimental-' to note their status. Differential Revision: https://reviews.llvm.org/D65649
-
Louis Dionne authored
These scripts allow creating dylibs that are very close to the dylibs shipped on Apple platforms.
-
jasonliu authored
Summary: This patch adds support for handling of variadic functions for AIX. This includes ensuring that use and consume correct type of va_list (char *va_list) for AIX. Authored by: ZarkoCA Reviewers: cebowleratibm, sfertile, jasonliu Reviewed by: jasonliu Differential Revision: https://reviews.llvm.org/D76130
-
Stefan Pintilie authored
Add initial support for PC Relative addressing for constant pool loads. This includes adding a new relocation for @pcrel and adding a new PowerPC flag to identify PC relative addressing. Differential Revision: https://reviews.llvm.org/D74486
-
Kazushi (Jam) Marukawa authored
Summary: VE has special operands to represent 0b000...000111...111 (`(m)0`) and 0b111...111000...000 (`(m)1`) bit sequences. This patch supports those operands not only in machine instructions but also in DAG lowering. Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D77769
-
Craig Topper authored
These patterns are identical to the pattern for the instruction.
-
- Apr 09, 2020
-
-
Gil Rapaport authored
InnerLoopVectorizer's code called during VPlan execution still relies on original IR's def-use relations to decide which vector code to generate, limiting VPlan transformations ability to modify def-use relations and still have ILV generate the vector code. This commit introduces VPValues for VPBlendRecipe to use as the values to blend. The recipe is generated with VPValues wrapping the phi's incoming values of the scalar phi. This reduces ingredient def-use usage by ILV as a step towards full VPlan-based def-use relations. Differential Revision: https://reviews.llvm.org/D77539
-
David Truby authored
When building flang with LLVM HEAD, the unittests fail to link with ld.bfd or ld.gold due to a linker ordering issue. Adding libSemantics as a dependency to libEvaluate seems to fix that issue. Reviewed at: https://github.com/flang-compiler/f18/pull/1104
-
Florian Hahn authored
-
Alexey Bataev authored
-
Mircea Trofin authored
Ensured initialized fields; encapsulad delta calulations and evaluation of threshold having had changed; assertion for CostThresholdMap dereference, to indicate design intent. Differential Revision: https://reviews.llvm.org/D77762
-
Eric Schweitz authored
Summary: This patch is some minor prep work for merging the flang(f18) project into the monorepo. This patch adds "flang" as a supported target for the LLVM_ENABLE_PROJECTS option. Reviewers: fhahn, tstellar, jdoerfert, beanz, DavidTruby Reviewed By: DavidTruby Subscribers: hfinkel, DavidTruby, aartbik, mgorny, llvm-commits Tags: #flang, #llvm Differential Revision: https://reviews.llvm.org/D72416
-
David Truby authored
This is the initial merge of flang-compiler, which is done in this way principally to preserve the history and git-blame, without generating a large number of commits on the first-parent history of LLVM. If you don't care about the flang history during a bisect remember that you can supply paths to git-bisect, e.g. `git bisect start clang llvm`. The history of f18 was rewritten to: * Put the code under /flang/. * Linearize the history. * Rewrite commit messages so that issue and PR numbers point to the old repository. Credit to Peter Waller for writing the flatten and merge script. Updates: flang-compiler/f18#876 (submission into llvm-project) Mailing-list: http://lists.llvm.org/pipermail/llvm-dev/2020-January/137989.html ([llvm-dev] Flang landing in the monorepo - next Monday!) Mailing-list: http://lists.llvm.org/pipermail/llvm-dev/2019-December/137661.html ([llvm-dev] Flang landing in the monorepo) Co-authored-by:
Peter Waller <peter.waller@arm.com>
-
Andrew Ng authored
This patch changes the reproduce tests so that they no longer extract the "long" paths of the generated reproduce tar archives. This extraction prevented them from being run on Windows due to potential issues relating to the Windows path length limit. This patch also reduces the use of diff in these tests, as this was raised as a performance concern in review D77659 and deemed unnecessary. Differential Revision: https://reviews.llvm.org/D77750
-
David Truby authored
Original-commit: flang-compiler/f18@21f3c455e842e0dab4a92db7ed8282f08eac930d
-
David Truby authored
Original-commit: flang-compiler/f18@24d23963b879d6586a7e19b89a905341627fe5b1
-
Ayal Zaks authored
Introduce a new VPWidenCanonicalIVRecipe to generate a canonical vector induction for use in fold-tail-with-masking, if a primary induction is absent. The canonical scalar IV having start = 0 and step = VF*UF, created during code -gen to control the vector loop, is widened into a canonical vector IV having start = {<Part*VF, Part*VF+1, ..., Part*VF+VF-1> for 0 <= Part < UF} and step = <VF*UF, VF*UF, ..., VF*UF>. Differential Revision: https://reviews.llvm.org/D77635 -
Kirstóf Umann authored
Exactly what it says on the tin! The included testfile demonstrates why this is important -- for C++ dynamic memory operators, we don't always recognize custom, or even standard-specified new/delete operators as CXXAllocatorCall or CXXDeallocatorCall. Differential Revision: https://reviews.llvm.org/D77391
-
Alexey Bataev authored
Summary: The global variable should be captured in the region only if it was privitized in the region or in any of the outer regions. Otherwise, it should not be captured. Reviewers: jdoerfert Subscribers: yaxunl, guansong, cfe-commits, caomhin Tags: #clang Differential Revision: https://reviews.llvm.org/D77731
-
Sanjay Patel authored
-
Sean Fertile authored
Use utils/update_llc_test_checks.py to add full CHECK directives to the test for cxx_fast_tls calling convention. The calling convention is arguably dead on PowerPC since dropping Darwin subtarget support in the PowerPC backend. This test change helps show the atrocious code generation for this lit test which was hidden by having few CHECK directives.
-
Kirstóf Umann authored
Exactly what it says on the tin! There is no reason I think not to have this. Also, I added test files for checkers that emit warning under the wrong name. Differential Revision: https://reviews.llvm.org/D76605
-