| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
"Lookup" is a noun ("lookup table"), "look up" is a verb ("look up
'table' in the dictionary").
Reviewers: chandlerc
Subscribers: silvas, llvm-commits, mehdi_amini
Differential Revision: https://reviews.llvm.org/D27374
llvm-svn: 288598
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: chandlerc
Subscribers: silvas, llvm-commits, mehdi_amini
Differential Revision: https://reviews.llvm.org/D27373
llvm-svn: 288597
|
| |
|
|
|
|
|
|
|
|
|
|
| |
AnalysisResults.find().
Reviewers: chandlerc
Subscribers: silvas, llvm-commits, mehdi_amini
Differential Revision: https://reviews.llvm.org/D27372
llvm-svn: 288596
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Previously in AnalysisManager::invalidate(), we would walk the full
ResultsList even if we knew that nothing was invalidated.
Reviewers: chandlerc
Subscribers: silvas, llvm-commits, mehdi_amini
Differential Revision: https://reviews.llvm.org/D27371
llvm-svn: 288595
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
reference.
Summary:
Previously, we were forcing a copy if you passed an lvalue argument; now
we'll take it by reference.
Reviewers: chandlerc
Subscribers: mehdi_amini, silvas, llvm-commits
Differential Revision: https://reviews.llvm.org/D27370
llvm-svn: 288594
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: chandlerc
Subscribers: silvas, llvm-commits, mehdi_amini
Differential Revision: https://reviews.llvm.org/D27369
llvm-svn: 288593
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: Previously we were unnecessarily copying the argument.
Reviewers: chandlerc
Subscribers: mehdi_amini, silvas, llvm-commits
Differential Revision: https://reviews.llvm.org/D27368
llvm-svn: 288592
|
| |
|
|
|
|
| |
VPERMPDZri to the correct table.
llvm-svn: 288591
|
| |
|
|
| |
llvm-svn: 288590
|
| |
|
|
| |
llvm-svn: 288589
|
| |
|
|
| |
llvm-svn: 288588
|
| |
|
|
| |
llvm-svn: 288587
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This solves a secondary problem seen in PR6137:
https://llvm.org/bugs/show_bug.cgi?id=6137#c6
This is similar to the bitwise logic op fold added with:
https://reviews.llvm.org/rL287707
And like that patch, I'm artificially restricting the
transform from vector <-> scalar types until we're sure
that the backend can handle that.
llvm-svn: 288584
|
| |
|
|
|
|
| |
This was accidentallly broken in r285515 when we started lowering the intrinsic to an ISD node. Should fix PR31241.
llvm-svn: 288578
|
| |
|
|
|
|
|
|
| |
VPMADDUSBW due to a bug introduced in r285515.
I believe this is the cause of PR31241.
llvm-svn: 288577
|
| |
|
|
| |
llvm-svn: 288572
|
| |
|
|
|
|
|
|
| |
Fix a bug when we call isLegalAddressingMode() from getGEPCost().
Differential Revision: https://reviews.llvm.org/D27357
llvm-svn: 288569
|
| |
|
|
| |
llvm-svn: 288568
|
| |
|
|
| |
llvm-svn: 288567
|
| |
|
|
| |
llvm-svn: 288562
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously this pass was using up to 5% compile time in some cases which
is a bit much for what it is doing. The pass featured a full blown
data-flow analysis which in the default configuration was restricted to a
single block.
This rewrites the pass under the assumption that we only ever work on a
single block. This is done in a single pass maintaining a state machine
per general purpose register to catch LOH patterns.
Differential Revision: https://reviews.llvm.org/D27329
llvm-svn: 288561
|
| |
|
|
|
|
|
|
| |
VSX has instructions lxsiwax/lxsdx that can load 32/64 bit value into VSX register cheaply. That patch makes it known to memory cost model, so the vectorization of the test case in pr30990 is beneficial.
Differential Revision: https://reviews.llvm.org/D26713
llvm-svn: 288560
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This is a follow up to r288303, where I have introduced TrigramIndex
to speed up SpecialCaseList for the cases when all rules are
simple wildcards, like *hello*wor.d*.
Here, I add support for escaping, so that it's possible to
specify rules like *c\+\+abi*.
Reviewers: pcc
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D27318
llvm-svn: 288553
|
| |
|
|
|
|
|
|
| |
This resubmits r288529, which was resubmitted because it broke a
fuzzer bot. According to kcc@ the test that broke was flakey
and it is unlikely to be a result of this patch.
llvm-svn: 288549
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: Implement custom lowering of SHL_PARTS to enable lowering of left shift with larger than 32-bit shifts.
Reviewers: eliben, majnemer
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D27232
llvm-svn: 288541
|
| |
|
|
|
|
| |
Use warnings; other minor fixes (NFC).
llvm-svn: 288540
|
| |
|
|
|
|
|
| |
This reverts commit r288529, as it seems to introduce some
problems on the Linux bots.
llvm-svn: 288533
|
| |
|
|
|
|
|
| |
Fix a warning about a comparison between signed and unsigned integer
expressions.
llvm-svn: 288532
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Windows doesn't really support weak aliases, but with some
linker magic we can get something that's pretty close on
Windows. This introduces an interface to accessing weakly
aliased symbols that will work on any platform. Linker
magic changes to come in a separate patch.
Patch by Marcos Pividori
Differential Revision: https://reviews.llvm.org/D27235
llvm-svn: 288530
|
| |
|
|
|
|
|
|
|
|
| |
Pave the way for separating out platform specific
utility functions into separate files.
Patch by Marcos Pividori
Differential Revision: https://reviews.llvm.org/D27234
llvm-svn: 288529
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
For -O0 there might be unreachable BBs, which breaks the assumption that all the
BBs have an auxiliary data structure. In this patch, we add another interface
called findBBInfo() so that a nullptr can be returned for the unreachable BBs
(and the callers can ignore those BBs).
This fixes the bug reported
https://llvm.org/bugs/show_bug.cgi?id=31209
Differential Revision: https://reviews.llvm.org/D27280
llvm-svn: 288528
|
| |
|
|
|
|
|
|
| |
Add assembler support for all atomic instructions that weren't already
supported. Some of those could be used to implement codegen for 128-bit
atomic operations, but this isn't done here yet.
llvm-svn: 288526
|
| |
|
|
|
|
|
|
|
|
| |
Add assembler support for instructions manipulating the FPC.
Also add codegen support via the GCC compatibility builtins:
__builtin_s390_sfpc
__builtin_s390_efpc
llvm-svn: 288525
|
| |
|
|
|
|
|
|
| |
Move setting of hasSideEffects out of SystemZInstrFormats.td,
to allow use of the format classes for instructions where this
flag shouldn't be set. NFC.
llvm-svn: 288524
|
| |
|
|
| |
llvm-svn: 288523
|
| |
|
|
| |
llvm-svn: 288522
|
| |
|
|
|
|
|
|
| |
The flag is passed by the clang driver.
Differential Revision: https://reviews.llvm.org/D27331
llvm-svn: 288519
|
| |
|
|
|
|
| |
This ensures that we don't generate the hotness attribute by default.
llvm-svn: 288518
|
| |
|
|
| |
llvm-svn: 288517
|
| |
|
|
| |
llvm-svn: 288515
|
| |
|
|
|
|
| |
Demonstrate missed opportunity for urem -> and combine for powerof2 or zero non-uniform constant dividers
llvm-svn: 288510
|
| |
|
|
| |
llvm-svn: 288509
|
| |
|
|
|
|
|
|
| |
This reverts commit r288497, as it broke the AArch64 build of Compiler-RT's
builtins (twice: once in r288412 and once in r288497). We should investigate
this offline.
llvm-svn: 288508
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
When X = 0 and Y = inf, the original code produces inf, but the transformed
code produces nan. So this transform (and its relatives) should only be
used when the no-infs-fp-math flag is explicitly enabled.
Also disable the transform using fmad (intermediate rounding) when unsafe-math
is not enabled, since it can reduce the precision of the result; consider this
example with binary floating point numbers with two bits of mantissa:
x = 1.01
y = 111
x * (y + 1) = 1.01 * 1000 = 1010 (this is the exact result; no rounding occurs at any step)
x * y + x = 1000.11 + 1.01 =r 1000 + 1.01 = 1001.01 =r 1000 (with rounding towards zero)
The example relies on rounding towards zero at least in the second step.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98578
Reviewers: RKSimon, tstellarAMD, spatel, arsenm
Subscribers: wdng, llvm-commits
Differential Revision: https://reviews.llvm.org/D26602
llvm-svn: 288506
|
| |
|
|
| |
llvm-svn: 288505
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: They are currently being parsed as %f14, %f16, and %f18.
Reviewers: venkatra, jyknight
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D27342
llvm-svn: 288503
|
| |
|
|
|
|
| |
We're trying to combine to vpunpckhbw not vpunpckhwd
llvm-svn: 288501
|
| |
|
|
| |
llvm-svn: 288500
|
| |
|
|
|
|
| |
constants
llvm-svn: 288499
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When trying to vectorize trees that start at insertelement instructions
function tryToVectorizeList() uses vectorization factor calculated as
MinVecRegSize/ScalarTypeSize. But sometimes it does not work as tree
cost for this fixed vectorization factor is too high.
Patch tries to improve the situation. It tries different vectorization
factors from max(PowerOf2Floor(NumberOfVectorizedValues),
MinVecRegSize/ScalarTypeSize) to MinVecRegSize/ScalarTypeSize and tries
to choose the best one.
Differential Revision: https://reviews.llvm.org/D27215
llvm-svn: 288497
|