1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
Commit Graph

195689 Commits

Author SHA1 Message Date
Alexey Lapshin
a3b84a0498 [Debuginfo] Remove redundand variable from getAttributeValue()
Summary: AttrIndex could be removed from DWARFAbbreviationDeclaration::getAttributeValue.

Reviewers: clayborg, dblaikie

Differential Revision: https://reviews.llvm.org/D78672
2020-04-24 16:35:31 +03:00
Nico Weber
081145a3ea [gn build] (manually) merge 8f766e382b77eef in a minimal way 2020-04-24 09:33:35 -04:00
Simon Pilgrim
9167e21523 ARCRuntimeEntryPoints.h - remove unnecessary includes. NFC. 2020-04-24 14:32:45 +01:00
Simon Pilgrim
f5458bf9ea LLVMContextImpl.h - remove defunct getOrAddScope* helpers declarations. NFC.
The implementation and uses were removed back at rL223802 (IR: Split Metadata from Value) but these were missed.
2020-04-24 13:27:59 +01:00
Simon Pilgrim
afee4cdef0 LLVMContextImpl.h - cleanup includes and forward declarations. NFC.
Reduce StringRef.h include to forward declaration.
Remove unnecessary ConstantFP/ConstantInt forward declarations as we have to include Constants.h
2020-04-24 13:27:58 +01:00
Simon Pilgrim
3f5c9e1203 FileCheckImpl.h - remove unnecessary FileCheckDiag forward declaration. NFC. 2020-04-24 13:27:57 +01:00
Simon Pilgrim
86a51b22da SIRegisterInfo.h - remove unnecessary MachineRegisterInfo forward declaration. NFC.
We already need to include MachineRegisterInfo.h
2020-04-24 13:27:57 +01:00
Simon Pilgrim
d0bc3adf33 LLLexer.h - reduce SourceMgr.h include to SMLoc.h. NFC
We only need the SMLoc definition and the SourceMgr forward declaration.
2020-04-24 13:27:56 +01:00
Simon Pilgrim
177549095d HexagonShuffler.h - remove duplicate STLExtras.h include. NFC. 2020-04-24 13:27:56 +01:00
Georgii Rymar
5af2f4d561 [obj2yaml] - Program headers: simplify the computation of p_filesz.
Currently we have computations of `p_filesz` and `p_memsz` mixed together
with the use of a loop over fragments. After recent changes it is possible to
avoid using a loop for the computation of `p_filesz`, since we know that fragments
are sorted by their file offsets.

The main benefit of this change is that splits the computation of `p_filesz`
and `p_memsz` what is simpler and allows us to fix the computation of the
`p_memsz` independently (D78005 shows the issue that we have currently).

Differential revision: https://reviews.llvm.org/D78628
2020-04-24 15:23:16 +03:00
Piotr Sobczak
48115809a3 [AMDGPU] Skip generating cache invalidating instructions on AMDPAL
Summary:
Frontend guarantees that coherent accesses have
corresponding cache policy bits set (glc, dlc).
Therefore there is no need for extra instructions
that invalidate cache.

Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D78800
2020-04-24 13:53:44 +02:00
Benjamin Kramer
f6b6a7722e [ADT] Move allocate_buffer to MemAlloc.h and out of line
There's an ABI breakage here if LLVM is compiled in C++14 without
aligned allocation and a user tries to use the result with aligned
allocation. If DenseMap or unique_function is used across that ABI
boundary it will break (PR45413). Moving it out of line is a bit of
a band-aid and LLVM doesn't really give ABI guarantees at this level,
but given the number of complaints I've received over this it still
seems worth fixing.
2020-04-24 13:32:50 +02:00
Simon Pilgrim
b8e12b5ff6 PassAnalysisSupport.h - reduce StringRef.h include to forward declaration. NFC. 2020-04-24 12:17:11 +01:00
David Green
4fe4f92bfe [ARM] Various tests for MVE and FP16 codegen. NFC 2020-04-24 12:11:46 +01:00
Kerry McLaughlin
25e56de63c [SVE][CodeGen] Lower SDIV & UDIV to SVE intrinsics
Summary:
This patch maps IR operations for sdiv & udiv to the
@llvm.aarch64.sve.[s|u]div intrinsics.

A ptrue must be created during lowering as the div instructions
have only a predicated form.

Patch contains changes by Andrzej Warzynski.

Reviewers: sdesmalen, c-rhodes, efriedma, cameron.mcinally, rengolin

Reviewed By: efriedma

Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, andwar, cfe-commits, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D78569
2020-04-24 11:38:20 +01:00
Max Kazantsev
864078facb [LoopVectorize] Preserve CFG analyses if CFG wasn't modified
One of transforms the loop vectorizer makes is LCSSA formation. In some cases it
is the only transform it makes. We should not drop CFG analyzes if only LCSSA was
formed and no actual CFG changes was made.

We should think of expanding this logic to other passes as well, and maybe make
it a part of PM framework.

Reviewed By: Florian Hahn
Differential Revision: https://reviews.llvm.org/D78360
2020-04-24 17:22:24 +07:00
serge-sans-paille
48b1234c8a Do not declare compiler extension member as const
It keeps them default constructible.
2020-04-24 11:44:42 +02:00
Simon Atanasyan
f4160c30dc [MC][mips] Replace setRType## methods by single setRTypes function. NFC
MCELFObjectWriter::setRType## methods are always used altogether to
build complete MIPS N64 ABI "chain" of relocations. Using single
function for this task makes code less verbose.
2020-04-24 12:13:27 +03:00
Kazushi (Jam) Marukawa
8854cc0241 [VE] Update floating-point arithmetic instructions
Summary:
Changing all mnemonic to match assembly instructions to simplify mnemonic
naming rules. This time update all floating-point arithmetic instructions.

Reviewed By: simoll

Differential Revision: https://reviews.llvm.org/D78768
2020-04-24 11:11:44 +02:00
Kang Zhang
63830a0762 [NFC][PowerPC] Fix the liveins for 3 mir test cases 2020-04-24 08:03:02 +00:00
Johannes Doerfert
43e8795039 Revert "[Attributor][NFC] Encode IRPositions in the bits of a single pointer"
A dependent patch has been reverted [0]. Until it goes back in this one
has to stay out.

[0] ebdb89399499cfca56fbf98c5f97d892d5976237

This reverts commit d254b50b2b5b22368780c6003c419ffa1e23fa93.
2020-04-24 02:53:51 -05:00
serge-sans-paille
69169b30b2 Update compiler extension integration into the build system
The approach here is to create a new (empty) component, `Extensions', where all
statically compiled extensions dynamically register their dependencies. That way
we're more natively compatible with LLVMBuild and llvm-config.

Fixes: https://bugs.llvm.org/show_bug.cgi?id=44870

Differential Revision: https://reviews.llvm.org/D78192
2020-04-24 09:40:14 +02:00
Johannes Doerfert
a96834b9eb Revert "[Attributor][NFC] Let AbstractAttribute be an IRPosition"
It seems this breaks the windows builds:
  http://lab.llvm.org:8011/builders/llvm-clang-win-x-aarch64/builds/7454/steps/build-llvm-project/logs/stdio

This reverts commit 6782635e90c11a4535e5b08212c8bbd3b3486f8d.
2020-04-24 02:24:15 -05:00
Johannes Doerfert
39318f75ca [Attributor][NFC] Encode IRPositions in the bits of a single pointer
This reduces memory consumption for IRPositions by eliminating the
vtable pointer and the `KindOrArgNo` integer. Since each abstract
attribute has an associated IRPosition, the 12-16 bytes we save add up
quickly.

No functional change is intended.

---

Single run of the Attributor module and then CGSCC pass (oldPM)
for SPASS/clause.c (~10k LLVM-IR loc):

Before:
```
calls to allocation functions: 469545 (260135/s)
temporary memory allocations: 77137 (42735/s)
peak heap memory consumption: 30.50MB
peak RSS (including heaptrack overhead): 119.50MB
total memory leaked: 269.07KB
```

After:
```
calls to allocation functions: 468999 (274108/s)
temporary memory allocations: 77002 (45004/s)
peak heap memory consumption: 28.83MB
peak RSS (including heaptrack overhead): 118.05MB
total memory leaked: 269.07KB
```

Difference:
```
calls to allocation functions: -546 (5808/s)
temporary memory allocations: -135 (1436/s)
peak heap memory consumption: -1.67MB
peak RSS (including heaptrack overhead): 0B
total memory leaked: 0B
```

---

CTMark 15 runs

Metric: compile_time

Program                                        lhs    rhs    diff
 test-suite...:: CTMark/sqlite3/sqlite3.test    25.07  24.09 -3.9%
 test-suite...Mark/mafft/pairlocalalign.test    14.58  14.14 -3.0%
 test-suite...-typeset/consumer-typeset.test    21.78  21.58 -0.9%
 test-suite :: CTMark/SPASS/SPASS.test          21.95  22.03  0.4%
 test-suite :: CTMark/lencod/lencod.test        25.43  25.50  0.3%
 test-suite...ark/tramp3d-v4/tramp3d-v4.test    23.88  23.83 -0.2%
 test-suite...TMark/7zip/7zip-benchmark.test    60.24  60.11 -0.2%
 test-suite :: CTMark/kimwitu++/kc.test         15.69  15.69 -0.0%
 test-suite...:: CTMark/ClamAV/clamscan.test    25.43  25.42 -0.0%
 test-suite :: CTMark/Bullet/bullet.test        37.63  37.62 -0.0%
 Geomean difference                                          -0.8%

---

Reviewed By: lebedev.ri

Differential Revision: https://reviews.llvm.org/D78722
2020-04-24 01:58:47 -05:00
Johannes Doerfert
c66071f225 [Attributor][NFC] Let AbstractAttribute be an IRPosition
Since every AbstractAttribute so far, and for the foreseeable future,
corresponds to a single IRPosition we can simplify the class structure.
We already did this for IRAttribute but there is no reason to stop
there.
2020-04-24 01:58:47 -05:00
Christudasan Devadasan
2f8de6e39f [AMDGPU] Add the SGPR used for FP copy to block livein lists.
The temporary register used for FP copy
should be live throughout the function.
2020-04-24 11:47:38 +05:30
Johannes Doerfert
00283da935 [Attributor][NFC] Remove and update old check lines 2020-04-24 01:08:23 -05:00
Johannes Doerfert
030be9efdf [Attributor][NFC] Strip check lines not used while 3 tests are partially disable
The three tests modified by this commit have been partially disabled
(one run line is commented out). As a consequence subsequent updates
will have weird effects on the check lines. This is a commit to avoid
such effects by making the check lines match the three remaining run
lines.
2020-04-24 01:08:23 -05:00
Johannes Doerfert
bcaa6ccbe1 [Attributor][NFC] Add const and missing state constructors 2020-04-24 01:08:23 -05:00
Mircea Trofin
1c89460a97 [llvm][NFC][CallSite] Remove remaining {Immutable}CallSite uses
Reviewers: dblaikie, craig.topper

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D78789
2020-04-23 22:19:39 -07:00
Mehdi Amini
42af8719d5 Revert "[VPlan] Add & use VPValue operands for VPWidenRecipe (NFC)."
This reverts commit 9245c7ac13480ed48ae339ad0e68cbe680cd0642.

This is triggering a segfault in XLA downstream, we'll follow-up with
a reproducer, it is likely influenced by TTI/TLI settings or other
options as a simple `opt -loop-vectorize` invocation on the IR
before the crash does not reproduce immediately.
2020-04-24 05:07:32 +00:00
Mircea Trofin
04ce9fc46d [llvm][NFC][CallSite] Remove ImmutableCallSite from a few locations
Reviewers: craig.topper, dblaikie

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D78783
2020-04-23 21:18:44 -07:00
Craig Topper
aeab265ba0 [CallSite removal] Remove unneeded includes of CallSite.h. NFC 2020-04-23 21:01:48 -07:00
Craig Topper
a6b2484d9a [CallSite removal][Transform] Replace CallSite with CallBase in Utils. NFC
Differential Revision: https://reviews.llvm.org/D78780
2020-04-23 20:49:33 -07:00
Matt Arsenault
ac7f9c4069 AMDGPU: Fix redundant members 2020-04-23 23:14:01 -04:00
Matt Arsenault
3b767100b9 AMDGPU: Use Register 2020-04-23 22:25:36 -04:00
James Y Knight
944999771c [CallSite removal] Remove the text describing CallSite from the manual. 2020-04-23 22:17:19 -04:00
Hubert Tong
3c957e42f4 [llvm-objdump][ELF][NFC] Create ELFDump.h
Summary:
Continuing from D77285, the external interfaces implemented by
`ELFDump.cpp` are now declared in `ELFDump.h` and moved into the
`llvm::objdump` namespace. Externs defined in `ELFDump.cpp` that are
unreferenced externally are also made static.

Reviewers: jhenderson, MaskRay, DiggerLin, jasonliu, daltenty

Reviewed By: jhenderson, MaskRay

Subscribers: RKSimon, rupprecht, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D78695
2020-04-23 21:24:37 -04:00
Eli Friedman
9ef37e59d4 [ValueTracking] Handle shufflevector constants in ComputeNumSignBits
Differential Revision: https://reviews.llvm.org/D78688
2020-04-23 17:47:37 -07:00
Krzysztof Parzyszek
68392a914f [Hexagon] Fix result word order when bitcasting vector pred to int64/128 2020-04-23 19:15:11 -05:00
James Y Knight
97a871041e Change callbr to only define its output SSA variable on the normal
path, not the indirect targets.

Fixes: PR45565.

Differential Revision: https://reviews.llvm.org/D78341
2020-04-23 19:36:44 -04:00
James Y Knight
dda786f23c Remove InvokeInst methods which duplicate those of its superclass CallBase. 2020-04-23 19:11:11 -04:00
Pavel Iliin
d17728f4fd [AArch64][FIX] FPR16_lo for f16 indexed patterns. 2020-04-23 23:44:56 +01:00
Christopher Tetreault
30af881117 [SVE] Remove VectorType::isScalable()
Summary:
* This is a property of the instance of VectorType. If
isa<ScalableVectorType>(T) is true, then T->isScalable() would have
returned true and vice-versa. Most code that checks this function uses
the result to bail out if a vector is a scalable vector. This code will
be cleaner if it just calls isa<ScalableVectorType>(T)

Reviewers: efriedma, craig.topper, huntergr, sdesmalen

Reviewed By: sdesmalen

Subscribers: tschuett, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77690
2020-04-23 15:39:59 -07:00
Craig Topper
468268d5c0 [CallSite removal][ValueTracking] Replace CallSite with CallBase. NFC" 2020-04-23 15:25:19 -07:00
aartbik
1ccc636242 [llvm] [CodeGen] Fixed vector halving bug for masked load
Summary:
Given a VL=14 that is enveloped by a proper VL=16, splitting the
masked load using the enveloping halving VL=8/8 should yields
should eventually yield V=8/5. This fixes various assert failures
in getHalfNumVectorElementsVT() and IncrementMemoryAddress().

Note, I suspect similar fixes will be needed for other masked
operations, but for now I send out a fix for masked load only.

Bugzilla issue 45563
https://bugs.llvm.org/show_bug.cgi?id=45563

Reviewers: craig.topper, mehdi_amini, nicolasvasilache

Reviewed By: craig.topper

Subscribers: hiraditya, dmgreen, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D78608
2020-04-23 15:12:44 -07:00
aartbik
564a4ae2fa [llvm] [X86] Processed test with update_llc_test_checks
Summary:
As requested in another review for a similar regression test,
I updated this test with the same utility.

Reviewers: dmgreen, craig.topper, mehdi_amini, nicolasvasilache

Reviewed By: craig.topper

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D78739
2020-04-23 15:09:53 -07:00
Puyan Lotfi
4df8e9f201 [NFC] Refactoring PropertyAttributeKind for ObjCPropertyDecl and ObjCDeclSpec.
This is a code clean up of the PropertyAttributeKind and
ObjCPropertyAttributeKind enums in ObjCPropertyDecl and ObjCDeclSpec that are
exactly identical. This non-functional change consolidates these enums
into one. The changes are to many files across clang (and comments in LLVM) so
that everything refers to the new consolidated enum in DeclObjCCommon.h.

2nd Landing Attempt...

Differential Revision: https://reviews.llvm.org/D77233
2020-04-23 17:21:25 -04:00
Sanjay Patel
217f3f8310 [x86] add tests for FP->int->FP with different FP types; NFC 2020-04-23 17:07:16 -04:00
Christopher Tetreault
9c9d3ddb66 [SVE] Remove calls to isScalable from Hexagon
Reviewers: efriedma, sdesmalen, kparzysz, colinl

Reviewed By: kparzysz

Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77757
2020-04-23 14:02:14 -07:00