Skip to content

Commit a713918

Browse files
committed
Partial update for release notes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_32@170151 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent 3f0b779 commit a713918

File tree

1 file changed

+65
-22
lines changed

1 file changed

+65
-22
lines changed

docs/ReleaseNotes.html

Lines changed: 65 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,6 @@ <h1>LLVM 3.2 Release Notes</h1>
2929
<p>Written by the <a href="http://llvm.org/">LLVM Team</a></p>
3030
</div>
3131

32-
<h1 style="color:red">These are in-progress notes for the upcoming LLVM 3.2
33-
release.<br>
34-
You may prefer the
35-
<a href="http://llvm.org/releases/3.1/docs/ReleaseNotes.html">LLVM 3.1
36-
Release Notes</a>.</h1>
37-
3832
<!-- *********************************************************************** -->
3933
<h2>
4034
<a name="intro">Introduction</a>
@@ -98,7 +92,9 @@ <h3>
9892
<p>In the LLVM 3.2 time-frame, the Clang team has made many improvements.
9993
Highlights include:</p>
10094
<ul>
101-
<li>...</li>
95+
<li>Improvements to Clang's diagnostics</li>
96+
<li>Support for tls_model attribute</li>
97+
<li>Type safety attributes</li>
10298
</ul>
10399

104100
<p>For more details about the changes to Clang since the 3.1 release, see the
@@ -142,7 +138,8 @@ <h3>
142138

143139
<div>
144140

145-
<p>The new LLVM <a href="http://compiler-rt.llvm.org/">compiler-rt project</a>
141+
142+
<p>The LLVM <a href="http://compiler-rt.llvm.org/">compiler-rt project</a>
146143
is a simple library that provides an implementation of the low-level
147144
target-specific hooks required by code generation and other runtime
148145
components. For example, when compiling for a 32-bit target, converting a
@@ -154,7 +151,12 @@ <h3>
154151
<p>The 3.2 release has the following notable changes:</p>
155152

156153
<ul>
157-
<li>...</li>
154+
<li><a href="http://llvm.org/releases/3.2/tools/clang/docs/ThreadSanitizer.html">ThreadSanitizer (TSan)</a> - data race detector run-time library for C/C++ has been added.</li>
155+
<li>Improvemens to <a href="http://llvm.org/releases/3.2/tools/clang/docs/AddressSanitizer.html">AddressSanitizer</a> including: increasing stack size limit to 256M,
156+
better portability (iOS6,Windows,Android NDK), support for cmake based builds, enhanced error reporting.</li>
157+
158+
<li>Added support for A6 'Swift' CPU.</li>
159+
<li><code>divsi3</code> function has been enhanced to take advantage of a hardware unsigned divide when it is available.</li>
158160
</ul>
159161

160162
</div>
@@ -235,7 +237,12 @@ <h3>
235237
<p>Within the LLVM 3.2 time-frame there were the following highlights:</p>
236238

237239
<ul>
238-
<li>...</li>
240+
<li>isl, the integer set library used by Polly, was relicensed to the MIT license</li>
241+
<li>isl based code generation</li>
242+
<li>MIT licensed replacement for CLooG (LGPLv2)</li>
243+
<li>Fine grained option handling (separation of core and border computations, control overhead vs. code size)</li>
244+
<li>Support for FORTRAN and dragonegg</li>
245+
<li>OpenMP code generation fixes</li>
239246
</ul>
240247

241248
</div>
@@ -433,9 +440,9 @@ <h3>
433440
<p>LLVM 3.2 includes several major changes and big features:</p>
434441

435442
<ul>
436-
<li>...</li>
437-
<li>New NVPTX back-end (replacing existing PTX back-end) based on NVIDIA
438-
sources</li>
443+
<li>Loop Vectorizer.</li>
444+
<li>New implementation of SROA.</li>
445+
<li>New NVPTX back-end (replacing existing PTX back-end) based on NVIDIA sources.</li>
439446
</ul>
440447

441448
</div>
@@ -454,7 +461,10 @@ <h3>
454461
<ul>
455462
<li>Thread local variables may have a specified TLS model. See the
456463
<a href="LangRef.html#globalvars">Language Reference Manual</a>.</li>
457-
<li>...</li>
464+
<li>'TYPE_CODE_FUNCTION_OLD' type code and autoupgrade code for old function attributes format has been removed.</li>
465+
<li>Internal representation of the Attributes class has been converted into a pointer to an
466+
opaque object that's uniqued by and stored in the LLVMContext object.
467+
The Attributes class then becomes a thin wrapper around this opaque object.</li>
458468
</ul>
459469

460470
</div>
@@ -492,7 +502,7 @@ <h3>
492502
<ul>
493503
<li>The inner most loops must have a single basic block.</li>
494504
<li>The number of iterations are known before the loop starts to execute.</li>
495-
<li>The loop counter needs to be incrimented by one.</li>
505+
<li>The loop counter needs to be incremented by one.</li>
496506
<li>The loop trip count <b>can</b> be a variable.</li>
497507
<li>Loops do <b>not</b> need to start at zero.</li>
498508
<li>The induction variable can be used inside the loop.</li>
@@ -527,8 +537,19 @@ <h3>
527537
<a href="http://blog.llvm.org/2010/04/intro-to-llvm-mc-project.html">Intro
528538
to the LLVM MC Project Blog Post</a>.</p>
529539

530-
<ul>
531-
<li>...</li>
540+
<ul>
541+
<li> Added support for following assembler directives: <code>.ifb</code>, <code>.ifnb</code>, <code>.ifc</code>,
542+
<code>.ifnc</code>, <code>.purgem</code>, <code>.rept</code> and <code>.version</code> (ELF) as well as Darwin specific
543+
<code>.pushsection</code>, <code>.popsection</code> and <code>.previous</code> .</li>
544+
<li>Enhanced handling of <code>.lcomm directive</code>.</li>
545+
<li>MS style inline assembler: added implementation of the offset and TYPE operators.</li>
546+
<li>Targets can specify minimum supported NOP size for NOP padding.</li>
547+
<li>ELF improvements: added support for generating ELF objects on Windows.</li>
548+
<li>MachO improvements: symbol-difference variables are marked as N_ABS, added direct-to-object attribute for data-in-code markers.</li>
549+
<li>Added support for annotated disassembly output for x86 and arm targets.</li>
550+
<li>Arm support has been improved by adding support for ARM TARGET2 relocation
551+
and fixing hadling of ARM-style "$d.*" labels.</li>
552+
<li>Implemented local-exec TLS on PowerPC.</li>
532553
</ul>
533554

534555
</div>
@@ -591,7 +612,7 @@ <h3>
591612
<p>New features and major changes in the X86 target include:</p>
592613

593614
<ul>
594-
<li>...</li>
615+
<li>Small codegen optimizations, especially for AVX2.</li>
595616
</ul>
596617

597618
</div>
@@ -606,7 +627,7 @@ <h3>
606627
<p>New features of the ARM target include:</p>
607628

608629
<ul>
609-
<li>...</li>
630+
<li>Support and performance tuning for the A6 'Swift' CPU.</li>
610631
</ul>
611632

612633
<!--_________________________________________________________________________-->
@@ -643,7 +664,31 @@ <h3>
643664
<p>New features and major changes in the MIPS target include:</p>
644665

645666
<ul>
646-
<li>...</li>
667+
<li>Integrated assembler support:
668+
MIPS32 works for both PIC and static, known limitation is the PR14456 where
669+
R_MIPS_GPREL16 relocation is generated with the wrong addend.
670+
MIPS64 support is incomplete, for example exception handling is not working.</li>
671+
<li>Support for fast calling convention has been added.</li>
672+
<li>Support for Android MIPS toolchain has been added to clang driver.</li>
673+
<li>Added clang driver support for MIPS N32 ABI through "-mabi=n32" option.</li>
674+
<li>MIPS32 and MIPS64 disassembler has been implemented.</li>
675+
<li>Support for compiling programs with large GOTs (exceeding 64kB in size) has be added
676+
through llc option "-mxgot".</li>
677+
<li>Experimental support for MIPS32 DSP intrinsics has been added</li>
678+
<li>Experimental support for MIPS16 with following limitations: only soft float is supported,
679+
C++ exceptions are not supported, large stack frames (> 32000 bytes) are not supported,
680+
direct object code emission is not supported yet (only .s).</li>
681+
<li>Standalone assembler (llvm-mc): implementation is in progress and assembler should be
682+
considered experimental</li>
683+
<li>All classic JIT and MCJIT tests pass on Little and Big Endian MIPS32 platforms.</li>
684+
<li>Inline asm support: all common constraints and operand modifiers
685+
have been implemented.</li>
686+
<li>Tail call optimization support has been added, use llc option "-enable-mips-tail-calls"
687+
or clang options "-mllvm -enable-mips-tail-calls"to enable it.</li>
688+
<li>Improved register allocation by removing registers 'FP', 'GP', 'RA' and 'AT' from the list of reserved registers.</li>
689+
<li>Long branch expansion pass has been implemented, which expands branch
690+
instructions with offsets that do not fit in the 16-bit field.</li>
691+
<li>Cavium Octeon II board is used for testing builds (llvm-mips-linux builder).</li>
647692
</ul>
648693

649694
</div>
@@ -655,7 +700,6 @@ <h3>
655700

656701
<div>
657702

658-
<ul>
659703
<p>Many fixes and changes across LLVM (and Clang) for better compliance with
660704
the 64-bit PowerPC ELF Application Binary Interface, interoperability with
661705
GCC, and overall 64-bit PowerPC support. Some highlights include:</p>
@@ -684,7 +728,6 @@ <h3>
684728
<p>There have also been code generation improvements for both 32- and 64-bit
685729
code. Instruction scheduling support for the Freescale e500mc and e5500
686730
cores has been added.</p>
687-
</ul>
688731

689732
</div>
690733

0 commit comments

Comments
 (0)