- Mar 04, 2020
-
-
John Brawn authored
We need to make sure that PluginAttrInstances is deleted before shared libraries are unloaded, because otherwise when deleting its contents we'll try to access a virtual destructor which no longer exists. As shared libraries are managed using ManagedStatic we can do this by also using ManagedStatic for PluginAttrInstances as ManagedStatics are deleted in reverse order of construction and we know that PluginAttrInstances will only be accessed, and thus constructed, after shared libraries have been loaded.
-
Mikhail Maltsev authored
Revert "Promote nameless lambda used by dl_iterate_phdr to named function to clean up control flow inside findUnwindSections. Also, expose the data structure" This reverts commit d9337123. The commit broke the build in several configurations (including Windows and bare-metal). For details see comments in https://reviews.llvm.org/D75480
-
Alexander Belyaev authored
Differential Revision: https://reviews.llvm.org/D75578
-
Tatyana Krasnukha authored
-
Tatyana Krasnukha authored
This prevents calling Breakpoint::shared_from_this of an object that is not owned by any shared_ptr. Differential Revision: https://reviews.llvm.org/D74557
-
David Green authored
-
Stephan Herhut authored
Summary: A test is passing `-o -` to lld in the hope of writing the output to standard out but that is not the case. Instead it creates a file named `-.lto.o`. This fixes it by creating a temporary file in the work directory. Differential Revision: https://reviews.llvm.org/D75605
-
Evgeniy Brevnov authored
-
Pavel Labath authored
This command had nearly identical code for the "then" and "else" branches of the "if (m_options.num_instructions != 0)" condition. This patch factors out the common parts of the two blocks to reduce duplication.
-
Jonathan Coe authored
Summary: Treat C# object initializers as braced lists. Allow lambdas inside C# braced lists. Reviewers: krasimir Reviewed By: krasimir Subscribers: cfe-commits, MyDeveloperDay Tags: #clang-format, #clang Differential Revision: https://reviews.llvm.org/D75473
-
Adrian Kuegel authored
Summary: This adds an rsqrt op to the standard dialect, and lowers it as 1 / sqrt to the LLVM dialect. Differential Revision: https://reviews.llvm.org/D75353
-
Pavel Labath authored
-
Pavel Labath authored
-
Pavel Labath authored
-
Pavel Labath authored
-
Pavel Labath authored
Summary: getInitialLength is a *DWARF*DataExtractor method so I had to "upgrade" some DataExtractors to be able to make use of it. Reviewers: ikudrin, jhenderson, probinson Subscribers: aprantl, hiraditya, llvm-commits, dblaikie Tags: #llvm Differential Revision: https://reviews.llvm.org/D75535
-
Pavel Labath authored
Reviewers: ikudrin, jhenderson, probinson Subscribers: hiraditya, dblaikie, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75532
-
Kerry McLaughlin authored
Summary: Implements the @llvm.aarch64.sve.xar intrinsic Reviewers: andwar, c-rhodes, dancgr, efriedma, rengolin Reviewed By: andwar Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, cfe-commits, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75160
-
Kadir Cetinkaya authored
-
Evgeniy Brevnov authored
[DependenceAnalysis] Dependecies for loads marked with "ivnariant.load" should not be shared with general accesses(PR42151). Summary: This is second attempt to fix the problem with incorrect dependencies reported in presence of invariant load. Initial fix (https://reviews.llvm.org/D64405) was reverted due to a regression reported in https://reviews.llvm.org/D70516. The original fix changed caching behavior for invariant loads. Namely such loads are not put into the second level cache (NonLocalDepInfo). The problem with that fix is the first level cache (CachedNonLocalPointerInfo) still works as if invariant loads were in the second level cache. The solution is in addition to not putting dependence results into the second level cache avoid putting info about invariant loads into the first level cache as well. Reviewers: jdoerfert, reames, hfinkel, efriedma Reviewed By: jdoerfert Subscribers: DaniilSuchkov, hiraditya, bmahjour, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73027
-
Simon Pilgrim authored
Use castAs if we know the cast should succeed (or we're dereferencing without check), the castAs will assert as well so we can remove local non-null asserts.
-
Simon Pilgrim authored
If SimplifyDemandedBits succeeds in simplifying the byte src, add the CVT_F32_UBYTE node back to the worklist as we might be able to simplify further. Yet another step towards removing SelectionDAG::GetDemandedBits.
-
Florian Hahn authored
This builder provides a convenient way for targets to lower various matrix operations to LLVM IR, making use of matrix intrinsics where available. Reviewers: anemet, Gerolf, hfinkel, andrew.w.kaylor, LuoYuanke Reviewed By: anemet Differential Revision: https://reviews.llvm.org/D72280
-
Kadir Cetinkaya authored
-
gbreynoo authored
- Added handling of thin archives to symtab.test. - Added handling of newlines to response.test. - 62fa3332 exposed behaviour regarding the use of -- on the command line. Added double-hyphen.test to cover this. Differential Revision: https://reviews.llvm.org/D73333
-
Ilya Biryukov authored
Summary: This changes introduces an enum to represent dependencies as a bitmask and extract common patterns from code that computes dependency bits into helper functions. Reviewers: rsmith, martong, shafik, ilya-biryukov, hokein Subscribers: hokein, sammccall, Mordante, riccibruno, merge_guards_bot, rnkovacs, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D71920
-
evgeny authored
-
Kadir Cetinkaya authored
Summary: Replace usage of RawLexer with syntax tokens inside ReplayPreamble. Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D74842
-
Kadir Cetinkaya authored
Summary: Selection tree was performing an early claim only for VarDecls, but there are other cases where we can have declarators, e.g. FieldDecls. This patch extends the early claim logic to all types of declarators. Fixes https://github.com/clangd/clangd/issues/292 Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D75106
-
evgeny authored
Differential revision: https://reviews.llvm.org/D75422
-
Georgii Rymar authored
We use size_t for a file offset what is wrong, because size_t is 32-bit value on 32-bit platforms. I was reported that after my 0b511c23 "[llvm-readobj] - Report warnings instead of errors for broken relocations." The following error is observed on 32-bit Arch Linux: [100%] Running all regression tests FAIL: LLVM :: tools/llvm-readobj/ELF/relocation-errors.test (52954 of 54768) ******************** TEST 'LLVM :: tools/llvm-readobj/ELF/relocation-errors.test' FAILED *** ... llvm-project/llvm/test/tools/llvm-readobj/ELF/relocation-errors.test:9:14:error: LLVM-NEXT: expected string not found in input # LLVM-NEXT: warning: '[[FILE]]': unable to print relocation 1 in section 3: unable to access section [index 6] data at 0x17e7e7e8b0: offset goes past the end of file ^ <stdin>:9:1: note: scanning from here /llvm-project/build/bin/llvm-readobj: warning: 'llvm-project/build/test/tools/llvm-readobj/ELF/Output/relocation-errors.test.tmp64': unable to print relocation 1 in section 3: unable to access section [index 6] data at 0xe7e7e8b0: offset goes past the end of file This patch should fix the issue.
-
Simon Tatham authored
Summary: The VSHLC instruction performs a left shift of a whole vector register by an immediate shift count up to 32, shifting in new bits at the low end from a GPR and delivering the shifted-out bits from the high end back into the same GPR. Since the instruction produces two outputs (the shifted vector register and the output GPR of shifted-out bits), it has to be instruction-selected in C++ rather than Tablegen. Reviewers: MarkMurrayARM, dmgreen, miyuki, ostannard Reviewed By: miyuki Subscribers: kristof.beyls, hiraditya, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D75445
-
Simon Tatham authored
Summary: These are exactly parallel to the existing `vadciq` intrinsics, which we implemented last year as part of the original MVE intrinsics framework setup. Just like VADC/VADCI, the MVE VSBC/VSBCI instructions deliver two outputs, both of which the intrinsic exposes: a modified vector register and a carry flag. So they have to be instruction-selected in C++ rather than Tablegen. However, in this case, that's trivial: the same C++ isel routine we already have for VADC works unchanged, and all we have to do is to pass it a different instruction id. Reviewers: MarkMurrayARM, dmgreen, miyuki, ostannard Reviewed By: miyuki Subscribers: kristof.beyls, hiraditya, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D75444
-
Craig Topper authored
-
Charusso authored
Summary: `ScopeContext` wanted to be a thing, but sadly it is dead code. If you wish to continue the work in D19979, here was a tiny code which could be reused, but that tiny and that dead, I felt that it is unneded. Note: Other changes are truly uninteresting. Reviewed By: NoQ Differential Revision: https://reviews.llvm.org/D73519
-
Charusso authored
Summary: The new way of checking fix-its is `%check_analyzer_fixit`. Reviewed By: NoQ, Szelethus, xazax.hun Differential Revision: https://reviews.llvm.org/D73729
-
Charusso authored
Summary: This patch introduces a way to apply the fix-its by the Analyzer: `-analyzer-config apply-fixits=true`. The fix-its should be testable, therefore I have copied the well-tested `check_clang_tidy.py` script. The idea is that the Analyzer's workflow is different so it would be very difficult to use only one script for both Tidy and the Analyzer, the script would diverge a lot. Example test: `// RUN: %check-analyzer-fixit %s %t -analyzer-checker=core` When the copy-paste happened the original authors were: @alexfh, @zinovy.nis, @JonasToth, @hokein, @gribozavr, @lebedev.ri Reviewed By: NoQ, alexfh, zinovy.nis Differential Revision: https://reviews.llvm.org/D69746
-
hsmahesha authored
Summary: hip-pinned-shadow global var should remain in the final code object irrespective of whether it is used or not within the code. Add it to used list, so that it will not get eliminated when it is unused. Reviewers: yaxunl, tra, hliao Reviewed By: yaxunl Subscribers: hliao, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D75402
-
Juneyoung Lee authored
[ValueTracking] Let isGuaranteedNotToBeUndefOrPoison look into branch conditions of dominating blocks' terminators Summary: ``` br i1 c, BB1, BB2: BB1: use1(c) BB2: use2(c) ``` In BB1 and BB2, c is never undef or poison because otherwise the branch would have triggered UB. Checked with Alive2 Reviewers: xbolva00, spatel, lebedev.ri, reames, jdoerfert, nlopes, sanjoy Reviewed By: reames Subscribers: jdoerfert, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75401
-
Amara Emerson authored
This changes the localizer to attempt intra-block localizer of instructions that have local uses. This is useful because sometimes the entry block itself has many uses of constant-like instructions, which would benefit from shortening live ranges. Previously if an inst had no non-local uses, we wouldn't add it to the list of instructions to attempt further intra-block localization. This gives a 0.7% geomean code size improvement on CTMark. Differential Revision: https://reviews.llvm.org/D75555
-