Skip to content
This repository was archived by the owner on Apr 23, 2020. It is now read-only.

JL #74

Open
wants to merge 90 commits into
base: master
Choose a base branch
from
Open

JL #74

Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
75e093b
Creating release_70 branch off revision 338536
zmodem Aug 1, 2018
02181d6
Drop 'svn' suffix from the version number.
zmodem Aug 1, 2018
3332f06
Merging r338658:
zmodem Aug 2, 2018
9dbe7c7
Merging r338682:
zmodem Aug 2, 2018
d030aee
Merging r338554:
zmodem Aug 2, 2018
4f6e104
Release notes: fix -fno-strict-float-cast-overflow quoting
zmodem Aug 2, 2018
9cc4d9e
Merging r338703 and r338709:
zmodem Aug 3, 2018
5aa2b5a
Merging r338751:
zmodem Aug 3, 2018
ed621a5
Merging r338762:
zmodem Aug 3, 2018
731482e
Merging r338599:
zmodem Aug 3, 2018
491b046
Release note for DWARF v5 support
pogo59 Aug 3, 2018
1a7200c
Merging r338817:
zmodem Aug 7, 2018
7fe11a1
Merging r338665:
zmodem Aug 7, 2018
9d9705f
Merging r338968:
zmodem Aug 7, 2018
7afafa5
Merging r338569:
zmodem Aug 7, 2018
07e3ee9
Merging r338610:
zmodem Aug 7, 2018
c5aadce
Merging r338915:
zmodem Aug 7, 2018
7205f34
ReleaseNotes: the new vs integration
zmodem Aug 7, 2018
b87385f
Merging r338716:
zmodem Aug 8, 2018
62ca9ef
Merging r339190:
zmodem Aug 8, 2018
f208a0a
Merging r338902:
zmodem Aug 8, 2018
ef7dd70
Merging r339319:
zmodem Aug 9, 2018
f7ec630
Merging r339316:
zmodem Aug 9, 2018
387b5e3
[7.0 branch] Update release notes (SystemZ, TableGen)
uweigand Aug 9, 2018
c7b3270
Merging r339225:
zmodem Aug 13, 2018
5a09a6b
Merging r339073:
zmodem Aug 13, 2018
c2e9eb3
Merging r339179 and r339184:
zmodem Aug 13, 2018
b4d5f64
Merging r339492:
zmodem Aug 13, 2018
18c17c4
Merging r339411:
zmodem Aug 13, 2018
1415ff0
[ReleaseNotes] Mention various windows related changes in 7.0
mstorsjo Aug 14, 2018
9360946
Merging r339600:
zmodem Aug 14, 2018
36b087d
Merging r339636:
rnk Aug 14, 2018
12eb6bc
[ReleaseNotes] Add release notes for Hexagon
Aug 14, 2018
ef7c5cc
[ReleaseNotes] Fix a typo
Aug 14, 2018
8684e0b
Merging r339166:
zmodem Aug 16, 2018
0caaac0
Merging r339533:
zmodem Aug 16, 2018
bb6ad81
Merging r339535:
zmodem Aug 16, 2018
f6ce3c5
Merging r339536:
zmodem Aug 16, 2018
2c9adfa
Merging r339769:
zmodem Aug 16, 2018
02e459e
Merging r339515:
zmodem Aug 17, 2018
e7782a9
Merging r339883:
zmodem Aug 17, 2018
dff83e9
Merging r339945:
zmodem Aug 17, 2018
98aa61b
Merging r338841:
zmodem Aug 17, 2018
39ee064
Merging r339822:
zmodem Aug 21, 2018
1215ec5
Merging r339895 and r339896:
zmodem Aug 21, 2018
9a7960e
Merging r339091:
zmodem Aug 21, 2018
fbe3346
Merging r340158:
zmodem Aug 21, 2018
57aa5d9
Merging r339674:
zmodem Aug 21, 2018
9df0977
Merging r340303:
zmodem Aug 21, 2018
4a4bff5
Merging r340691:
zmodem Aug 27, 2018
d6e617b
Merging r340641:
zmodem Aug 27, 2018
3d019e2
Merging r340839:
zmodem Aug 30, 2018
4a19487
Merging r340820:
zmodem Aug 30, 2018
400322b
Merging r340455:
zmodem Aug 30, 2018
8be2375
Merging r340416:
zmodem Aug 30, 2018
9f22831
Merging r340417:
zmodem Aug 30, 2018
c19f813
Merging r340751:
zmodem Aug 30, 2018
224408d
Merging r340900:
zmodem Aug 30, 2018
485d211
[docs][mips] 7.0 Release notes
atanasyan Aug 31, 2018
8be5c4f
Merging r341094:
zmodem Aug 31, 2018
1a55853
Merging r341244:
zmodem Sep 4, 2018
8111e8d
Merging r340959:
zmodem Sep 4, 2018
600f7a2
ReleaseNotes for PowerPC
zmodem Sep 5, 2018
738f19a
ReleaseNotes: support for new-pm passes in the opt tool
zmodem Sep 6, 2018
80cc9fc
ReleaseNotes: ARM SVE asm/disasm support
zmodem Sep 6, 2018
033c772
Merging r341416:
zmodem Sep 6, 2018
a5b9a59
Merging r341512:
zmodem Sep 6, 2018
cd197f3
ReleaseNotes: tidy up for the release
zmodem Sep 7, 2018
4a05921
Merging r341642:
zmodem Sep 10, 2018
82250ed
ReleaseNotes: minor tweaks
zmodem Sep 10, 2018
0d41278
docs: drop another in-progress warning
zmodem Sep 10, 2018
627a2d5
ReleaseNotes.rst: Add Zig to External Open Source Projects Using LLVM 7
zmodem Sep 11, 2018
65ce2e5
ReleaseNotes: some notes from Andres Freund
zmodem Sep 11, 2018
6c2e5a1
Merging r343347:
tstellar Oct 19, 2018
9a0352f
Merging r343443:
tstellar Oct 19, 2018
b2504ea
Merging r343428:
tstellar Oct 19, 2018
888225e
Merging r343373:
tstellar Oct 19, 2018
eb0722e
Merging r342461:
tstellar Oct 22, 2018
4c946b7
Merging r344325:
tstellar Oct 26, 2018
5ab8235
Merging r344454, r344455, r344645:
tstellar Nov 2, 2018
2e8411d
Merging r342354:
tstellar Nov 2, 2018
d0abf8b
Bump version to 7.0.1
tstellar Nov 2, 2018
b386e8b
Port Memoro to LLVM 7.0
ttreyer Nov 7, 2018
076c3f5
removing unneeded code from memoro instrumentation pass, other commen…
Dec 12, 2018
65dac8b
removing tool options in memoro instrumentation, it was a relic and w…
Dec 13, 2018
9720d28
Formatting
ttreyer Jan 6, 2019
35c5877
Merge branch 'memoro' into memoro_80
ttreyer Jan 6, 2019
4113dff
Cleanup the merge
ttreyer Jan 6, 2019
ca9d68c
Fix memoro to skip alloca-referencing loads/stores
jameslarus Aug 16, 2019
bc3f246
Properly handle global variables and unknown refs.
jameslarus Aug 16, 2019
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Cleanup the merge
  • Loading branch information
ttreyer committed Jan 6, 2019
commit 4113dff5148c674e1650e2b7773202f70c57c1c1
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ if(NOT DEFINED LLVM_VERSION_MINOR)
set(LLVM_VERSION_MINOR 0)
endif()
if(NOT DEFINED LLVM_VERSION_PATCH)
set(LLVM_VERSION_PATCH 1)
set(LLVM_VERSION_PATCH 0)
endif()
if(NOT DEFINED LLVM_VERSION_SUFFIX)
set(LLVM_VERSION_SUFFIX "")
set(LLVM_VERSION_SUFFIX svn)
endif()

if (NOT PACKAGE_VERSION)
Expand Down
175 changes: 26 additions & 149 deletions docs/ReleaseNotes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,12 @@ page <https://llvm.org/releases/>`_.

Non-comprehensive list of changes in this release
=================================================

* The Windows installer no longer includes a Visual Studio integration.
Instead, a new
`LLVM Compiler Toolchain Visual Studio extension <https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.llvm-toolchain>`_
is available on the Visual Studio Marketplace. The new integration
supports Visual Studio 2017.
.. NOTE
For small 1-3 sentence descriptions, just add an entry at the end of
this list. If your description won't fit comfortably in one bullet
point (e.g. maybe you would like to give an example of the
functionality, or simply have a lot to talk about), see the `NOTE` below
for adding a new subsection.

* The **llvm-cov** tool can now export lcov trace files using the
`-format=lcov` option of the `export` command.
Expand All @@ -48,162 +48,52 @@ Non-comprehensive list of changes in this release
functionality. See `Writing an LLVM Pass
<WritingAnLLVMPass.html#setting-up-the-build-environment>`_.

* Added support for the ``.rva`` assembler directive for COFF targets.

* The :program:`llvm-rc` tool (Windows Resource Compiler) has been improved
a bit. There are still known missing features, but it is generally usable
in many cases. (The tool still doesn't preprocess input files automatically,
but it can now handle leftover C declarations in preprocessor output, if
given output from a preprocessor run externally.)

* CodeView debug info can now be emitted for MinGW configurations, if requested.

* The :program:`opt` tool now supports the ``-load-pass-plugin`` option for
loading pass plugins for the new PassManager.
.. NOTE
If you would like to document a larger change, then you can add a
subsection about it right here. You can copy the following boilerplate
and un-indent it (the indentation causes it to be inside this comment).

* Support for profiling JITed code with perf.
Special New Feature
-------------------

Makes programs 10x faster by doing Special New Thing.

Changes to the LLVM IR
----------------------


Changes to the AArch64 Target
-----------------------------

* The ``.inst`` assembler directive is now usable on both COFF and Mach-O
targets, in addition to ELF.

* Support for most remaining COFF relocations has been added.

* Support for TLS on Windows has been added.

* Assembler and disassembler support for the ARM Scalable Vector Extension has
been added.

Changes to the ARM Target
-------------------------

* The ``.inst`` assembler directive is now usable on both COFF and Mach-O
targets, in addition to ELF. For Thumb, it can now also automatically
deduce the instruction size, without having to specify it with
e.g. ``.inst.w`` as before.

Changes to the Hexagon Target
-----------------------------
Changes to the ARM Backend
--------------------------

* Hexagon now supports auto-vectorization for HVX. It is disabled by default
and can be turned on with ``-fvectorize``. For auto-vectorization to take
effect, code generation for HVX needs to be enabled with ``-mhvx``.
The complete set of options should include ``-fvectorize``, ``-mhvx``,
and ``-mhvx-length={64b|128b}``.
During this release ...

* The support for Hexagon ISA V4 is deprecated and will be removed in the
next release.

Changes to the MIPS Target
--------------------------

During this release the MIPS target has:

* Added support for Virtualization, Global INValidate ASE,
and CRC ASE instructions.

* Introduced definitions of ``[d]rem``, ``[d]remu``,
and microMIPSR6 ``ll/sc`` instructions.

* Shrink-wrapping is now supported and enabled by default (except for ``-O0``).

* Extended size reduction pass by the LWP and SWP instructions.

* Gained initial support of GlobalISel instruction selection framework.

* Updated the P5600 scheduler model not to use instruction itineraries.

* Added disassembly support for comparison and fused (negative) multiply
``add/sub`` instructions.

* Improved the selection of multiple instructions.

* Load/store ``lb``, ``sb``, ``ld``, ``sd``, ``lld``, ... instructions
now support 32/64-bit offsets.

* Added support for ``y``, ``M``, and ``L`` inline assembler operand codes.

* Extended list of relocations supported by the ``.reloc`` directive

* Fixed using a wrong register class for creating an emergency
spill slot for mips3 / n64 ABI.
During this release ...

* MIPS relocation types were generated for microMIPS code.

* Corrected definitions of multiple instructions (``lwp``, ``swp``, ``ctc2``,
``cfc2``, ``sync``, ``synci``, ``cvt.d.w``, ...).

* Fixed atomic operations at ``-O0`` level.

* Fixed local dynamic TLS with Sym64

Changes to the PowerPC Target
-----------------------------

During this release the PowerPC target has:
During this release ...

* Replaced the list scheduler for post register allocation with the machine scheduler.
Changes to the X86 Target
-------------------------

* Machine model for AMD bdver2 (Piledriver) CPU was added. It is used to support
instruction scheduling and other instruction cost heuristics.

* Added support for ``symbol@high`` and ``symbol@higha`` symbol modifiers.

* Added support for quad-precision floating point type (``__float128``) under the llvm option ``-enable-ppc-quad-precision``.

* Added dump function to ``LatencyPriorityQueue``.

* Completed the Power9 scheduler model.

* Optimized TLS code generation.

* Improved MachineLICM for hoisting constant stores.

* Improved code generation to reduce register use by using more register + immediate instructions.

* Improved code generation to better exploit rotate-and-mask instructions.

* Fixed the bug in dynamic loader for JIT which crashed NNVM.

* Numerous bug fixes and code cleanups.

Changes to the SystemZ Target
Changes to the AMDGPU Target
-----------------------------

During this release the SystemZ target has:

* Added support for vector registers in inline asm statements.

* Added support for stackmaps, patchpoints, and the anyregcc
calling convention.

* Changed the default function alignment to 16 bytes.

* Improved codegen for condition code handling.

* Improved instruction scheduling and microarchitecture tuning for z13/z14.
During this release ...

* Fixed support for generating GCOV coverage data.

* Fixed some codegen bugs.

Changes to the X86 Target
-------------------------
Changes to the AVR Target
-----------------------------

* The calling convention for the ``f80`` data type on MinGW targets has been
fixed. Normally, the calling convention for this type is handled within clang,
but if an intrinsic is used, which LLVM expands into a libcall, the
proper calling convention needs to be supported in LLVM as well. (Note,
on Windows, this data type is only used for long doubles in MinGW
environments - in MSVC environments, long doubles are the same size as
normal doubles.)
During this release ...

Changes to the OCaml bindings
-----------------------------
Expand All @@ -214,26 +104,13 @@ Changes to the C API
--------------------


* Expanded the OrcJIT APIs so they can register event listeners like debuggers
and profilers.

Changes to the DAG infrastructure
---------------------------------

External Open Source Projects Using LLVM 8
==========================================

Zig Programming Language
------------------------

`Zig <https://ziglang.org>`_ is an open-source programming language designed
for robustness, optimality, and clarity. Zig is an alternative to C, providing
high level features such as generics, compile time function execution, partial
evaluation, and LLVM-based coroutines, while exposing low level LLVM IR
features such as aliases and intrinsics. Zig uses Clang to provide automatic
import of .h symbols - even inline functions and macros. Zig uses LLD combined
with lazily building compiler-rt to provide out-of-the-box cross-compiling for
all supported targets.
* A project...


Additional Information
Expand Down
5 changes: 5 additions & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
Overview
========

.. warning::

If you are using a released version of LLVM, see `the download page
<http://llvm.org/releases/>`_ to find your documentation.

The LLVM compiler infrastructure supports a wide range of projects, from
industrial strength compilers to specialized JIT applications to small
research projects.
Expand Down
9 changes: 0 additions & 9 deletions lib/Target/AArch64/AArch64SystemOperands.td
Original file line number Diff line number Diff line change
Expand Up @@ -1460,15 +1460,6 @@ def : RWSysReg<"TFSR_EL12", 0b11, 0b101, 0b0110, 0b0110, 0b000>;
def : RWSysReg<"TFSRE0_EL1", 0b11, 0b000, 0b0110, 0b0110, 0b001>;
} // HasMTE

// SVE control registers
// Op0 Op1 CRn CRm Op2
let Requires = [{ {AArch64::FeatureSVE} }] in {
def : RWSysReg<"ZCR_EL1", 0b11, 0b000, 0b0001, 0b0010, 0b000>;
def : RWSysReg<"ZCR_EL2", 0b11, 0b100, 0b0001, 0b0010, 0b000>;
def : RWSysReg<"ZCR_EL3", 0b11, 0b110, 0b0001, 0b0010, 0b000>;
def : RWSysReg<"ZCR_EL12", 0b11, 0b101, 0b0001, 0b0010, 0b000>;
}

// Cyclone specific system registers
// Op0 Op1 CRn CRm Op2
let Requires = [{ {AArch64::ProcCyclone} }] in
Expand Down
17 changes: 0 additions & 17 deletions test/CodeGen/X86/known-signbits-vector.ll
Original file line number Diff line number Diff line change
Expand Up @@ -323,24 +323,7 @@ define <4 x float> @signbits_ashr_sext_select_shuffle_sitofp(<4 x i64> %a0, <4 x
; X32-NEXT: movl %esp, %ebp
; X32-NEXT: andl $-16, %esp
; X32-NEXT: subl $16, %esp
; X32-NEXT: vmovdqa {{.*#+}} xmm3 = [33,0,63,0]
; X32-NEXT: vmovdqa {{.*#+}} xmm4 = [0,2147483648,0,2147483648]
; X32-NEXT: vpsrlq %xmm3, %xmm4, %xmm5
; X32-NEXT: vpshufd {{.*#+}} xmm6 = xmm3[2,3,0,1]
; X32-NEXT: vpsrlq %xmm6, %xmm4, %xmm4
; X32-NEXT: vpblendw {{.*#+}} xmm4 = xmm5[0,1,2,3],xmm4[4,5,6,7]
; X32-NEXT: vextractf128 $1, %ymm2, %xmm5
; X32-NEXT: vpsrlq %xmm6, %xmm5, %xmm7
; X32-NEXT: vpsrlq %xmm3, %xmm5, %xmm5
; X32-NEXT: vpblendw {{.*#+}} xmm5 = xmm5[0,1,2,3],xmm7[4,5,6,7]
; X32-NEXT: vpsrlq %xmm6, %xmm2, %xmm6
; X32-NEXT: vpsrlq %xmm3, %xmm2, %xmm2
; X32-NEXT: vpblendw {{.*#+}} xmm2 = xmm2[0,1,2,3],xmm6[4,5,6,7]
; X32-NEXT: vpmovsxdq 16(%ebp), %xmm3
; X32-NEXT: vpxor %xmm4, %xmm5, %xmm5
; X32-NEXT: vpsubq %xmm4, %xmm5, %xmm5
; X32-NEXT: vpxor %xmm4, %xmm2, %xmm2
; X32-NEXT: vpsubq %xmm4, %xmm2, %xmm2
; X32-NEXT: vpmovsxdq 8(%ebp), %xmm4
; X32-NEXT: vextractf128 $1, %ymm2, %xmm5
; X32-NEXT: vpsrlq $33, %xmm5, %xmm5
Expand Down