- Sep 17, 2017
-
-
Craig Topper authored
The memory patterns were near the MOVDDUP definition, but the non-memory patterns were near the broadcast instructions. llvm-svn: 313494
-
Craig Topper authored
llvm-svn: 313493
-
Craig Topper authored
[X86] Remove isel patterns for X86Movhlps and X86Movlhps with integer types. Lowering doesn't emit these. llvm-svn: 313492
-
Craig Topper authored
llvm-svn: 313491
-
Jatin Bhateja authored
Differential Revision: https://reviews.llvm.org/D37962 llvm-svn: 313490
-
Johan Engelen authored
This reverts commit r313488, because it breaks compilation on Android and breaks llvm-lto. llvm-svn: 313489
-
Johan Engelen authored
Summary: ld64 on OSX uses the old ThinLTOCodegenerator API. When two modules have the same name in an archive (valid archive), a name collision happens for the modules' buffer identifiers. This PR resolves this, by suffixing the module name with an increasing number such that the identifiers are guaranteed to be unique. For a similar fix in LLD, see https://reviews.llvm.org/D25495 Reviewers: mehdi_amini, tejohnson Reviewed By: mehdi_amini Subscribers: inglorion, eraman, llvm-commits Differential Revision: https://reviews.llvm.org/D37961 llvm-svn: 313488
-
Faisal Vali authored
Fix the second half of PR34266: Don't implicitly capture '*this' if the members are found in a class unrelated to the enclosing class. https://bugs.llvm.org/show_bug.cgi?id=34266 For e.g. struct A { void f(int); static void f(char); }; struct B { auto foo() { return [&] (auto a) { A::f(a); // this should not cause a capture of '*this' }; } }; The patch does the following: 1) It moves the check to attempt an implicit capture of '*this' by reference into the more logical location of when the call is actually built within ActOnCallExpr (as opposed to when the unresolved-member-lookup node is created). - Reminder: A capture of '*this' by value has to always be an explicit capture. 2) It additionally checks whether the naming class of the UnresolvedMemberExpr ('A' in the example above) is related to the enclosing class ('B' above). P.S. If you have access to ISO-C++'s CWG reflector, see this thread for some potentially related discussion: http://lists.isocpp.org/core/2017/08/2851.php llvm-svn: 313487
-
Alex Bradbury authored
This Disassembly support allows for 'round-trip' testing, and rv32i-valid.s has been updated appropriately. Differential Revision: https://reviews.llvm.org/D23567 llvm-svn: 313486
-
Alex Bradbury authored
This patch supports all RV32I instructions as described in the RISC-V manual. A future patch will add support for pseudoinstructions and other instruction expansions (e.g. 0-arg fence -> fence iorw, iorw). Differential Revision: https://reviews.llvm.org/D23566 llvm-svn: 313485
-
Igor Breger authored
llvm-svn: 313484
-
Igor Breger authored
llvm-svn: 313483
-
Benjamin Kramer authored
Lambdas are slightly more verbose, but also more readable. No functionality change intended. llvm-svn: 313482
-
Benjamin Kramer authored
It's removed in C++17. No functionality change intended. llvm-svn: 313481
-
Ulrich Weigand authored
Commit r313277 moved IsStackOverflow to inside the SignalContext class, but didn't update a code block in #ifdef s390x accordingly. llvm-svn: 313480
-
Igor Breger authored
llvm-svn: 313479
-
Igor Breger authored
Summary: G_FCONSTANT support, port the implementation from X86FastIsel. Reviewers: zvi, delena, guyblank Reviewed By: delena Subscribers: rovka, llvm-commits, kristof.beyls Differential Revision: https://reviews.llvm.org/D37734 llvm-svn: 313478
-
Craig Topper authored
llvm-svn: 313477
-
Craig Topper authored
llvm-svn: 313476
-
Craig Topper authored
llvm-svn: 313475
-
Lang Hames authored
This can be used to add a relocatable object to the JIT session. llvm-svn: 313474
-
Don Hinton authored
Summary: Fix a few typos and update names to match current source. Differential Revision: https://reviews.llvm.org/D37948 llvm-svn: 313473
-
Craig Topper authored
This adds new patterns and SDNodeXForm to enable the immediate to commuted. llvm-svn: 313472
-
Craig Topper authored
Previously we were just relying on pattern order to define precedence. Which works, but isn't the best way. llvm-svn: 313471
-
- Sep 16, 2017
-
-
Martin Storsjö authored
llvm-svn: 313470
-
Zachary Turner authored
It doesn't make sense to me why these bots are failing as the traceback does not agree with the source code. It's possible something is stale or there is some other mysterious error, but in any case hopefully this fixes it. llvm-svn: 313469
-
Zachary Turner authored
This was a bug in the test that was only exposed as a result of refactoring some code in lit configuration files. Previously, llvm's lit configuration would only set the target-windows feature if the system was also windows. Since cross-compilation is a thing, this isn't correct. target-windows should be set independently of system-windows. Adding to that bug, this particular test then checked for target-windows when it really meant "can I call a certain API on the host machine", which is what system-windows is for. Ultimately, this test only works if *both* the target and host are Windows, so I've updated the test to reflect that. llvm-svn: 313468
-
Zachary Turner authored
There were some issues surrounding Py2 / Py3 compatibility, but I've now tested with both Py2 and Py3 and everything seems to work. llvm-svn: 313467
-
Zachary Turner authored
llvm-svn: 313466
-
Craig Topper authored
The same code appears earlier in the function. This represents an earlier version of what became r313373 that I still had sitting in my local repo. llvm-svn: 313465
-
Adrian Prantl authored
This will print all children of a DIE when selectively printing only one DIE at a given offset. llvm-svn: 313464
-
Adrian Prantl authored
llvm-svn: 313463
-
Craig Topper authored
Summary: For a lot of older CPUs we have a 1:1 mapping between CPU name and enum name. But many of them are effectively aliases of each other and as a result are always repeated together at every usage This patch removes most of the duplication. It also uses StringSwitch::Cases to make the many to one mapping in the StringSwitch more obvious. Reviewers: RKSimon, spatel, zvi, igorb Reviewed By: RKSimon Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D37938 llvm-svn: 313462
-
Zachary Turner authored
A few tests were manually constructing a LitConfig object, since I added a new argument to it this was triggering some failures I didn't detect. `ninja check-lit` passes now. llvm-svn: 313461
-
Zachary Turner authored
This is helpful for debugging test failures since it removes the multiprocessing pool from the picture. This will obviously slow down the test suite by a few orders of magnitude, so it should only be used for debugging specific failures. llvm-svn: 313460
-
George Rimar authored
readelf tool reports an error when output contains the same section in multiple COMDAT groups. That can be useful. Path teaches llvm-readobj to do the same. Differential revision: https://reviews.llvm.org/D37567 llvm-svn: 313459
-
Sanjay Patel authored
This allows vector-sized store merging of constants in DAGCombiner using the existing code in MergeConsecutiveStores(). All of the twisted logic that decides exactly what vector operations are legal and fast for each particular CPU are handled separately in there using the appropriate hooks. For the motivating tests in merge-store-constants.ll, we already produce the same vector code in IR via the SLP vectorizer. So this is just providing a backend backstop for code that doesn't go through that pass (-O1). More details in PR24449: https://bugs.llvm.org/show_bug.cgi?id=24449 (this change should be the last step to resolve that bug) Differential Revision: https://reviews.llvm.org/D37451 llvm-svn: 313458
-
NAKAMURA Takumi authored
llvm-svn: 313457
-
NAKAMURA Takumi authored
llvm-svn: 313456
-
Craig Topper authored
[X86] Add isel patterns to be able to fold loads into VPERM2F128 even when the load is on the first input to the SDNode. We just need to toggle bits 1 and 5 of the immediate and swap the sources. The peephole pass could trigger commuting/folding for this later, but its easy enough to fix in isel. Disable the peephole pass on the main vperm2x128 test so we know we're doing this through isel. llvm-svn: 313455
-