1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
Commit Graph

8212 Commits

Author SHA1 Message Date
Hans Wennborg
67f791eb79 ReleaseNotes: mention the machine outliner for ARM
As suggested by Yvan.
2020-10-05 13:38:48 +02:00
Ahsan Saghir
6228b2b331 Fix indentation for PowerPC ReleaseNotes 2020-10-01 13:28:35 -05:00
Hans Wennborg
f137979135 LLVM release notes: JIT changes
By Lang Hames!
2020-10-01 09:22:05 +02:00
Ulrich Weigand
5603084580 [LLVM 11] Add SystemZ changes to release notes
Differential Revision: https://reviews.llvm.org/D88479
2020-09-29 14:59:38 +02:00
Hans Wennborg
6dd12f31d5 release notes: mention zig as an external project 2020-09-24 16:17:13 +02:00
Hans Wennborg
ca00b88799 llvm index.rst: Drop in-progress warning 2020-09-22 16:53:33 +02:00
Hans Wennborg
e9634e03cf llvm release notes: drop in-progress warnings; minor cleanups 2020-09-16 17:03:14 +02:00
Hans Wennborg
88fac78839 ReleaseNotes: PowerPC changes
By Ahsan Saghir!
2020-09-15 20:18:03 +02:00
Teresa Johnson
73b4967b30 [Docs] Add/update release notes for D71913 (LTO WPD changes)
This adds documentation for the options added / changed by D71913, which
enabled aggressive WPD under LTO. The lld release notes already
mentioned it, but I expanded the note.

Differential Revision: https://reviews.llvm.org/D86958
2020-09-15 08:51:56 -07:00
Juneyoung Lee
2a92db2e3e ReleaseNotes: Add updates in LangRef related with undef/poison 2020-09-08 11:40:24 +09:00
Alex Bradbury
b00850c9cf ReleaseNotes: Add RISC-V updates 2020-09-05 13:26:44 +01:00
Kristof Beyls
62d099a705 Add a few more release notes for ARM and AArch64. 2020-08-31 14:10:54 +02:00
Craig Topper
f4bf2109b9 [X86] Update release notes. 2020-08-27 21:19:58 -07:00
Hans Wennborg
a48e0377f5 ReleaseNotes: mention the build preferring python 3
Text by Saleem!
2020-08-26 19:29:58 +02:00
Francesco Petrogalli
88141c7f49 [release][SVE] Move notes for SVE ACLE to the release notes of clang. 2020-08-26 15:41:59 +01:00
Hans Wennborg
c77d5eb058 ReleaseNotes: removal of llgo 2020-08-26 15:16:02 +02:00
Francesco Petrogalli
1fefa517f6 [release][docs] Move SVE release notes to AArch64 section. 2020-08-20 16:24:59 +00:00
Francesco Petrogalli
edf75ab839 [release][docs] Note on lazy binding and SVE. 2020-08-20 15:33:30 +00:00
Francesco Petrogalli
5e39908de4 [release][docs] Update contributions to LLVM 11 for SVE.
Differential Revision: https://reviews.llvm.org/D85977
2020-08-18 21:13:21 +00:00
Martin Storsjö
4e760d6c21 [docs] Add release notes for the 11.x release 2020-08-17 11:17:15 +03:00
Hans Wennborg
78f30188b4 Bump forgotten version nbr in llvm/docs/conf.py 2020-08-05 17:12:51 +02:00
Jinsong Ji
490a4c357d [docs] Add Deprecated section to ReleaseNotes
This is brought up in https://reviews.llvm.org/D83915.
We would like to remove some feature in PowerPC.

We did send RFC before, but we think it might be a better idea that
we indicate planned removal in the Release Notes for version 11
and actual removal in those for version 12..

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D83968
2020-07-17 15:48:55 +00:00
Hans Wennborg
f4821a9883 First commit on the release/11.x branch. 2020-07-15 12:12:18 +02:00
Tim Northover
80a21440b3 AArch64+ARM: make LLVM consider system registers volatile.
Some of the system registers readable on AArch64 and ARM platforms
return different values with each read (for example a timer counter),
these shouldn't be hoisted outside loops or otherwise interfered with,
but the normal @llvm.read_register intrinsic is only considered to read
memory.

This introduces a separate @llvm.read_volatile_register intrinsic and
maps all system-registers on ARM platforms to use it for the
__builtin_arm_rsr calls. Registers declared with asm("r9") or similar
are unaffected.
2020-07-15 09:47:36 +01:00
Sjoerd Meijer
1a682582ae [Matrix] Intrinsic descriptions
This changes the matrix load/store intrinsic definitions to load/store from/to
a pointer, and not from/to a pointer to a vector, as discussed in D83477.

This also includes the recommit of "[Matrix] Tighten LangRef definitions and
Verifier checks" which adds improved language reference descriptions of the
matrix intrinsics and verifier checks.

Differential Revision: https://reviews.llvm.org/D83785
2020-07-14 19:58:16 +01:00
Michael Kruse
186e2229e8 [docs] Update llvm.loop metadata documentation.
Loop metadata nodes do not adhere to the documented property:

(a) LoopIDs are not unique: Any pass that duplicates IR will do it
    including its metadata (e.g. LoopVersioning) such that multiple
    loops are linked with the same LoopID. There is even a test case
    (Transforms/LoopUnroll/unroll-pragmas-disabled.ll) for multiple
    loops with the same LoopID.

(b) LoopIDs are not persistent: Adding or removing an item from a LoopID
    can only be done by creating a new MDNode and assigning it to the
    loop's branch(es). Passes such as LoopUnroll (llvm.loop.unroll.disable)
    and LoopVectorize (llvm.loop.isvectorized) use this to mark loops to
    not be transformed multiple times or to avoid that a LoopVersioned
    original loop is transformed.

Update the documentation according to how llvm.loop is used in practice.

Differential Revision: https://reviews.llvm.org/D55290
2020-07-14 11:03:57 -05:00
Sjoerd Meijer
ab1d7d92a0 Revert "[Matrix] Tighten LangRef definitions and Verifier checks."
This reverts commit f4d29d6e8c43cfd924d9d7cc1ac0c269b2788e75.

Hm, some build bot failures, reverting it while I investigate that.
2020-07-12 19:19:25 +01:00
Sjoerd Meijer
27fa48a9d2 [Matrix] Tighten LangRef definitions and Verifier checks.
This tightens the matrix intrinsic definitions in LLVM LangRef and adds
correspondings checks to the IR Verifier.

Differential Revision: https://reviews.llvm.org/D83477
2020-07-12 19:07:22 +01:00
Sanjay Patel
9bc8c780ab [DAGCombiner] tighten fast-math constraints for fma fold
fadd (fma A, B, (fmul C, D)), E --> fma A, B, (fma C, D, E)

This is only allowed when "reassoc" is present on the fadd.

As discussed in D80801, this transform goes beyond
what is allowed by "contract" FMF (-ffp-contract=fast).
That is because we are fusing the trailing add of 'E' with a
multiply, but without "reassoc", the code mandates that the
products A*B and C*D are added together before adding in 'E'.

I've added this example to the LangRef to try to clarify the
meaning of "contract". If that seems reasonable, we should
probably do something similar for the clang docs because
there does not appear to be any formal spec for the behavior
of -ffp-contract=fast.

Differential Revision: https://reviews.llvm.org/D82499
2020-07-12 08:51:49 -04:00
JF Bastien
eeaec0b209 [docs] LLVM Security Group and Process
Summary:
See the corresponding RFC on llvm-dev for a discussion of this proposal.
  http://lists.llvm.org/pipermail/llvm-dev/2019-November/136839.html

Subscribers: jkorous, dexonsmith, arphaman, ributzka, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D70326
2020-07-10 15:24:02 -07:00
Matt Arsenault
e36234a636 AMDGPU: Remove .value_type from kernel metadata
This doesn't appear used for anything, and is emitted incorrectly
based on the description. This also depends on the IR type, and
pointee element type.
2020-07-10 18:16:31 -04:00
Joel E. Denny
45343bf20f [FileCheck] Fix up -dump-input* docs
In FileCheck.rst, add `-dump-input-context` and `-dump-input-filter`,
and fix some `-dump-input` documentation.

In `FileCheck -help`, `cl::value_desc("kind")` is being ignored for
`-dump-input-filter`, so just drop it.

Extend `-dump-input=help` to mention FILECHECK_OPTS.
2020-07-10 17:21:01 -04:00
Roman Lebedev
8aaa6d450e [Docs] CodingStandards: for_each is discouraged
Summary:
As per disscussion in D83351, using `for_each` is potentially confusing,
at least in regards to inconsistent style (there's less than 100 `for_each`
usages in LLVM, but ~100.000 `for` range-based loops

Therefore, it should be avoided.

Reviewers: dblaikie, nickdesaulniers

Reviewed By: dblaikie, nickdesaulniers

Subscribers: hubert.reinterpretcast, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83431
2020-07-09 23:10:42 +03:00
Oliver Stannard
e53ceb3dc0 [llvm-objdump] Display locations of variables alongside disassembly
This adds the --debug-vars option to llvm-objdump, which prints
locations (registers/memory) of source-level variables alongside the
disassembly based on DWARF info. A vertical line is printed for each
live-range, with a label at the top giving the variable name and
location, and the position and length of the line indicating the program
counter range in which it is valid.

Differential revision: https://reviews.llvm.org/D70720
2020-07-09 09:58:00 +01:00
Vitaly Buka
b4bde7a6b6 [StackSafety,NFC] Update documentation
It's follow up for D80908

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D82941
2020-07-08 23:57:13 -07:00
Mitch Phillips
8f30de8ad0 [NFC] Fix some docs warnings
Summary:
Fixes two minor issues in the docs present under `ninja docs-llvm-html`:

1 - A header is too small:
```
Warning, treated as error:
llvm/llvm/docs/Passes.rst:70:Title underline too short.

``-basic-aa``: Basic Alias Analysis (stateless AA impl)
------------------------------------------------------
```

2 - Multiple definitions on a non-anonymous target (llvm-dev mailing list):
```
Warning, treated as error:
llvm/llvm/docs/DeveloperPolicy.rst:3:Duplicate explicit target name: "llvm-dev mailing list".
```

Reviewers: lattner

Reviewed By: lattner

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83416
2020-07-08 16:30:12 -07:00
Gui Andrade
905f645c80 [LangRef] Introduce noundef attribute for fully defined function params
LLVM currently does not require function parameters or return values
to be fully initialized, and does not care if they are poison. This can
be useful if the frontend ABI makes no such demands, but may prevent
helpful backend transformations in case they do. Specifically, the C
and C++ languages require all scalar function operands to be fully
determined.

Introducing this attribute is of particular use to MemorySanitizer
today, although other transformations may benefit from it as well.
We can modify MemorySanitizer instrumentation to provide modest (17%)
space savings where `frozen` is present.

This commit only adds the attribute to the Language Reference, and
the actual implementation of the attribute will follow in a separate
commit.

Differential Revision: https://reviews.llvm.org/D82316
2020-07-08 19:02:04 +00:00
Arthur Eubanks
9f384ed588 [Preallocated] Add @llvm.call.preallocated.teardown
This cleans up the stack allocated by a @llvm.call.preallocated.setup.
Should either call the teardown or the preallocated call to clean up the
stack. Calling both is UB.

Add LangRef.

Add verifier check that the token argument is a @llvm.call.preallocated.setup.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D83354
2020-07-08 08:48:44 -07:00
Michał Górny
9ebde1f21d [llvm] [docs] Do not require recommonmark for manpage build
Do not enforce recommonmark dependency if sphinx is called to build
manpages.  In order to do this, try to import recommonmark first
and do not configure it if it's not available.  Additionally, declare
a custom tags for the selected builder via CMake, and ignore
recommonmark import failure when 'man' target is used.

This will permit us to avoid the problematic recommonmark dependency
for the majority of Gentoo users that do not need to locally build
the complete documentation but want to have tool manpages.

Differential Revision: https://reviews.llvm.org/D83161
2020-07-07 20:59:02 +02:00
Chris Lattner
1819c62500 Expand the LLVM Developer Policy to include new sections on adding
a project to the LLVM Monorepo, and a second about the LLVM
Incubator projects.

Differential Revision: https://reviews.llvm.org/D83182
2020-07-07 10:30:24 -07:00
Nico Weber
ae4d21baa4 fix typos to cycle bots 2020-07-06 20:37:11 -04:00
jasonliu
b6227b52f3 [XCOFF][AIX] Use 'L..' instead of '.L' for getPrivateGlobalPrefix in DataLayout
Summary:
D80831 changed part of the prefix usage for AIX.
But there are other places getting prefix from DataLayout.
This patch intends to make prefix usage consistent on AIX.

Reviewed by: hubert.reinterpretcast, daltenty

Differential Revision: https://reviews.llvm.org/D81270
2020-07-03 18:25:14 +00:00
Dmitry Preobrazhensky
9877ca8a82 [AMDGPU][CODEGEN] Added support of new inline assembler constraints
Added support for constraints 'I', 'J', 'B', 'C', 'DA', 'DB'.

See https://gcc.gnu.org/onlinedocs/gcc/Machine-Constraints.html#Machine-Constraints.

Reviewers: arsenm, rampitec

Differential Revision: https://reviews.llvm.org/D81651
2020-07-02 17:20:15 +03:00
Tony
c8f56d9b25 [AMDGPU] Update DWARF proposal
- Add reference to implicit conversion description.
2020-07-01 20:35:15 +00:00
Tony
5d6f19018d [AMDGPU] Correct AMDGPUUsage.rst DW_AT_LLVM_lane_pc example
- Correct typo of DW_OP_xaddr to DW_OP_addrx in AMDGPUUsage.rst for
  DW_AT_LLVM_lane_pc example.

Change-Id: I1b0ee2b24362a0240388e4c2f044c1d4883509b9
2020-07-01 08:23:15 +00:00
Arthur Eubanks
8856ff1234 [Docs][BasicAA] Rename some more basicaa -> basic-aa
Follow up to https://reviews.llvm.org/D82607.
2020-06-30 17:03:45 -07:00
Arthur Eubanks
67bdd9bf52 Fix wrong title underline length 2020-06-30 16:02:45 -07:00
Arthur Eubanks
097a2b8949 [Docs][BasicAA] Rename -basicaa to -basic-aa in docs
Follow up to https://reviews.llvm.org/D82607.
2020-06-30 15:54:28 -07:00
Eric Christopher
4e74268d23 Update the phabricator docs to reflect the monorepo change.
Patch by Nathan Froyd!

Differential Revision: https://reviews.llvm.org/D82389
2020-06-30 10:53:38 -07:00
Jonas Devlieghere
a8ce35426c [Sphinx] Support older recommonmark versions.
The "new way" of enabling recommonmark is only supported in recommonmark
0.5 and later. Use the deprecated approach with versions of Sphinx that
still support it.

If I understand correctly there's no way to use older versions of
recommonmark (<0.5) with newer versions of Sphinx (>3.0) because the old
approach got removed.

Differential revision: https://reviews.llvm.org/D75284
2020-06-29 09:48:34 -07:00