- Apr 14, 2020
-
-
Georgii Rymar authored
There was no ":" after "SEC", hence the check was disabled. Found with the use of D78024.
-
LLVM GN Syncbot authored
-
Kerry McLaughlin authored
Summary: Creates the SVEIntrinsicOpts pass. In this patch, the pass tries to remove unnecessary reinterpret intrinsics which convert to and from svbool_t (llvm.aarch64.sve.convert.[to|from].svbool) For example, the reinterprets below are redundant: %1 = call <vscale x 16 x i1> @llvm.aarch64.sve.convert.to.svbool.nxv4i1(<vscale x 4 x i1> %a) %2 = call <vscale x 4 x i1> @llvm.aarch64.sve.convert.from.svbool.nxv4i1(<vscale x 16 x i1> %1) The pass also looks for ptest intrinsics and phi instructions where the operands are being needlessly converted to and from svbool_t. Reviewers: sdesmalen, andwar, efriedma, cameron.mcinally, c-rhodes, rengolin Reviewed By: efriedma Subscribers: mgorny, tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, danielkiss, cfe-commits, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D76078
-
Peter Smith authored
The _GLOBAL_OFFSET_TABLE_ in SysVr4 ELF is conventionally the base of the .got or .got.prel sections. Expressions such as _GLOBAL_OFFSET_TABLE_ - (.L1 +8) are used in assembler code to calculate offsets into the .got. At present MC outputs a R_ARM_REL32 with respect to the _GLOBAL_OFFSET_TABLE_ symbol, whereas gas outputs a R_ARM_BASE_PREL relocation with respect to the _GLOBAL_OFFSET_TABLE_ symbol. While both are correct the R_ARM_REL32 depends on the value of the _GLOBAL_OFFSET_TABLE_ symbol, wheras te R_ARM_BASE_PREL relocation is idependent of the symbol. The R_ARM_BASE_PREL is therefore slightly more robust to linker's that may not follow the conventional placement of _GLOBAL_OFFSET_TABLE_; for example LLD for some time defined _GLOBAL_OFFSET_TABLE_ to 0. Differential Revision: https://reviews.llvm.org/D46319
-
Pavel Labath authored
Summary: This patch introduces a header "dylib.h" which can be used in tests to handle shared libraries semi-portably. The shared library APIs on windows and posix systems look very different, but their underlying functionality is relatively similar, so the mapping is not difficult. It also introduces two new macros to wrap the functinality necessary to export/import function across the dll boundary on windows. Previously we had the LLDB_TEST_API macro for this purpose, which automagically changed meaning depending on whether we were building the shared library or the executable. While convenient for simple cases, this approach was not sufficient for the more complicated setups where one deals with multiple shared libraries. Lastly it rewrites TestLoadUnload, to make use of the new APIs. The trickiest aspect there is the handling of DYLD_LIBRARY_PATH on macos -- previously setting this variable was not needed as the test used @executable_path-relative dlopens, but the new generic api does not support that. Other systems do not support such dlopens either so the test already contained support for setting the appropriate path variable, and this patch just makes that logic more generic. In doesn't seem that the purpose of this test was to exercise @executable_path imports, so this should not be a problem. These changes are sufficient to make some of the TestLoadUnload tests pass on windows. Two other tests will start to pass once D77287 lands. Reviewers: amccarth, jingham, JDevlieghere, compnerd Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D77662
-
Pratyai Mazumder authored
[SanitizerCoverage] The section name for inline-bool-flag was too long for darwin builds, so shortening it. Summary: Following up on the comments on D77638. Not undoing rGd6525eff here at the moment, since I don't know how to test mac builds. Please let me know if I should include that here too. Reviewers: vitalybuka Reviewed By: vitalybuka Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77889
-
Balázs Kéri authored
Summary: Check the size constraints for every (variable) dimension of the array. Try to compute array size by multiplying size for every dimension. Reviewers: Szelethus, martong, baloghadamsoftware, gamesh411 Reviewed By: Szelethus, martong Subscribers: rnkovacs, xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, gamesh411, Charusso, martong, ASDenysPetrov, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D77305
-
Alex Brachet authored
Summary: This patch adds a very basic `FILE` type and basic `fwrite`. It also removes `snprintf` from `StdIO`'s function spec because `VarArgType` was causing the generation to fail. Reviewers: sivachandra, PaulkaToast Reviewed By: sivachandra Subscribers: mgorny, MaskRay, tschuett, libc-commits Differential Revision: https://reviews.llvm.org/D77626
-
Alex Brachet authored
Summary: Create self contained functional header which has a type similar to `std::function` Reviewers: sivachandra, PaulkaToast Reviewed By: sivachandra Subscribers: mgorny, tschuett, libc-commits Differential Revision: https://reviews.llvm.org/D77948
-
Kazushi (Jam) Marukawa authored
Summary: This iz pattern is a special pattern of im pattern. This im pattern has been supported by https://reviews.llvm.org/D77769, so removing iz pattern as a continuous patch. Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D77770
-
Craig Topper authored
-
Mircea Trofin authored
Reviewers: craig.topper, dblaikie, davidxl Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D78080
-
Fangrui Song authored
This makes it easy to change the address stored in a sled from an absolute address to a PC-relative address.
-
Chris Lattner authored
Fix the MLIR integer attribute parser to be correct in the face of large integer attributes, it was previously artificially limited to 64 bits. Reviewers: rriddle! Subscribers: mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, grosul1, frgossen, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D78065
-
Mircea Trofin authored
Summary: This removes CallSite from inliner files. Some dependencies where thus affected. Reviewers: dblaikie, davidxl, craig.topper Subscribers: arsenm, jvesely, nhaehnle, eraman, hiraditya, aheejin, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77991
-
Uday Bondhugula authored
Fix MLIR test case failure introduced by 89e0662d. LLVM's IR builder now automatically sets the alignment on alloca.
-
Uday Bondhugula authored
This makes no impact on the test cases because affine-data-copy-generate runs whole function canonicalization at its end; however, the latter will be removed in a pending revision. It is thus useful to clean up these affine.applys right here, and eventually, not even generate these (when the right API to compose by construction is in place). Differential Revision: https://reviews.llvm.org/D78055
-
Craig Topper authored
Still not great and we could probably codegen this better, but 11 was clearly ridiculous.
-
Craig Topper authored
[X86] Split AVX512 getCastInstrCost into tables that require useAVX512Regs() and those that just operate on 256 or smaller vectors. Use useAVX512Regs() to skip lookups instead of using type legalization action.
-
Craig Topper authored
-
Craig Topper authored
[X86] Add truncate cost model tests to min-legal-vector-width.ll for when we're avoiding 512 bit vectors.
-
Julian Lettner authored
Update local test object "in place" from remote test object. We need to do this to ensure that discovered test object which is used for printing test results reflect the changes. > Why are we sending back the whole test object from the worker process > (lit.worker.execute) instead of just the result? Unfortunately, the test result is not the only "result" of test execution. Other members (e.g., xfails, requires) of the Test class are set only during execution. Those members affect the behavior of `isExpectedToFail` and `setResult`, and are accessed when printing results. For example, xunit.xml test results include missing features for "skip reasons". The lack of separation between an immutable "test definition" and "generated outputs" (including the primary result and other secondary state) is unfortunate historical design decision in lit. > Why do we update the initial test object instead of just discarding it > and continuing with the pickled test object? Both of these approaches would work. However, note that we need a fully populated test object for printing results. Updating the existing one seems to be the easier path.
-
Fangrui Song authored
-
Matt Arsenault authored
This was assuming a scalarizing unmerge, and would fail assert if the unmerge was to smaller vector types.
-
Brian Cain authored
Building 'espresso' from llvm-test-suite revealed missing support for duplex instructions with R_HEX_GOT_16_X.
-
LLVM GN Syncbot authored
-
Mehdi Amini authored
Revert "Move ModuleSummaryAnalysis from libAnalysis to libObject to break the dependency from Analysis to Object" This reverts commit 10df1563. Some buildbots are broken.
-
Nico Weber authored
-
Christopher Tetreault authored
Reviewers: efriedma, sdesmalen, craig.topper, dexonsmith Reviewed By: efriedma, sdesmalen Subscribers: tschuett, hiraditya, rkruppe, psnobl, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, Joonsoo, grosul1, frgossen, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77763
-
LLVM GN Syncbot authored
-
Matt Arsenault authored
Ports the existing DAG combines, minus the simplify demanded bits which seems to have no equivalent now. Without these, this isn't particularly helpful in most of the IR sample cases.
-
Mehdi Amini authored
Move ModuleSummaryAnalysis from libAnalysis to libObject to break the dependency from Analysis to Object ModuleSummaryAnalysis is the only file in libAnalysis that brings a dependency on the CodeGen layer from libAnalysis, moving it breaks this dependency. Differential Revision: https://reviews.llvm.org/D77994
-
Austin Kerbow authored
Differential Revision: https://reviews.llvm.org/D78004
-
Artem Belevich authored
-
Heejin Ahn authored
Summary: In CFGStackify, `fixUnwindMismatches` function fixes unwind destination mismatches created by `try` marker placement. For example, ``` try ... call @qux ;; This should throw to the caller! catch ... end ``` When `call @qux` is supposed to throw to the caller, it is possible that it is wrapped inside a `catch` so in case it throws it ends up unwinding there incorrectly. (Also it is possible `call @qux` is supposed to unwind to another `catch` within the same function.) To fix this, we wrap this inner `call @qux` with a nested `try`-`catch`-`end` sequence, and within the nested `catch` body, branch to the right destination: ``` block $l0 try ... try ;; new nested try call @qux catch ;; new nested catch local.set n ;; store exnref to a local br $l0 end catch ... end end local.get n ;; retrieve exnref back rethrow ;; rethrow to the caller ``` The previous algorithm placed the nested `try` right before the `call`. But it is possible that there are stackified instructions before the call from which the call takes arguments. ``` try ... i32.const 5 call @qux ;; This should throw to the caller! catch ... end ``` In this case we have to place `try` before those stackified instructions. ``` block $l0 try ... try ;; this should go *before* 'i32.const 5' i32.const 5 call @qux catch local.set n br $l0 end catch ... end end local.get n rethrow ``` We correctly handle this in the first normal `try` placement phase (`placeTryMarker` function), but failed to handle this in this `fixUnwindMismatches`. Reviewers: dschuff Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77950 -
Jean-Luc Brouillet authored
Summary: Cut & paste error had the error message mentionning "}" rather than ")". Differential Revision: https://reviews.llvm.org/D77625
-
Ayke van Laethem authored
This fixes code like the following on AVR: void foo(void) { } void bar(void) __attribute__((alias("foo"))); Code like this is present in compiler-rt, which I'm trying to build. Differential Revision: https://reviews.llvm.org/D76182 -
Louis Dionne authored
The new format should be equivalent to the old format, and it is now the default format when running the libc++ and libc++abi tests. This commit changes the libunwind tests to use the new format by default too. If unexpected failures are discovered, it should be fine to revert this commit until they are addressed. Also note that it is still possible to use the old format by passing `--param=use_old_format=True` when running Lit for the time being. Differential Revision: https://reviews.llvm.org/D77733
-
jasonliu authored
Address post-commit comment: https://reviews.llvm.org/D77580#inline-713676 yaml2obj does not record the source filename in the output, which may make FileCheck tests brittle sometimes.
-
Louis Dionne authored
-