llvm.org GIT mirror llvm / 48a5f95
ReleaseNotes: final touch-ups git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@230346 91177308-0d34-0410-b5e6-96231b3b80d8 Hans Wennborg 4 years ago
1 changed file(s) with 21 addition(s) and 13 deletion(s). Raw diff Collapse all Expand all
3838
3939 * Added support for MSVC's ``__vectorcall`` calling convention as
4040 ``x86_vectorcallcc``.
41
42 * ... next change ...
4341
4442 .. NOTE
4543 If you would like to document a larger change, then you can add a
301299 It is now just a wrapper, which simplifies using object::Binary with other
302300 users of the underlying file.
303301
302
304303 IR in object files is now supported
305304 -----------------------------------
306305
320319 Change in the representation of lazy loaded funcs
321320 -------------------------------------------------
322321
323 Lazy loaded functions are now represented is a way that ``isDeclaration``
322 Lazy loaded functions are now represented in a way that ``isDeclaration``
324323 returns the correct answer even before reading the body.
325324
326325
335334
336335 This was done to simplify compatibility with python 3.
337336
337
338338 The leak detector has been removed
339339 ----------------------------------
340340
341 In practice tools like asan and valgrind were finding way more bugs than
341 In practice, tools like asan and valgrind were finding way more bugs than
342342 the old leak detector, so it was removed.
343343
344344
353353 @g = global i32 0, comdat($c)
354354 @c = global i32 0, comdat
355355
356 The version without the parentheses is a syntatic sugar for a comdat with
356 The version without the parentheses is a syntactic sugar for a comdat with
357357 the same name as the global.
358
358359
359360 Added support for Win64 unwind information
360361 ------------------------------------------
367368 to unwind the stack using a standard frame pointer walk on Win64. Instead,
368369 users should call ``CaptureStackBackTrace``, or implement equivalent
369370 functionality by consulting the unwind tables present in the binary.
371
370372
371373 Diagnostic infrastructure used by lib/Linker and lib/Bitcode
372374 ------------------------------------------------------------
400402 but both mechanisms will be supported in 3.7.
401403
402404
403 Changes to the ARM Backend
404 --------------------------
405
406 During this release ...
407
408
409405 Changes to the MIPS Target
410406 --------------------------
411407
416412 microMIPS for the O32 ABI on little endian targets, and code generation for
417413 microMIPS is almost completely passing the test-suite.
418414
415
419416 ABI
420417 ^^^
421418
448445 has been fixed when the fastcc calling convention is used with 64-bit FPU's
449446 and -mno-odd-spreg.
450447
448
451449 LLVMLinux
452450 ^^^^^^^^^
453451
464462 * Added support for a number of directives used by Linux to the Integrated
465463 Assembler.
466464
465
467466 Miscellaneous
468467 ^^^^^^^^^^^^^
469468
480479 is in use and will be removed in LLVM 3.7. These names have never been
481480 supported by the GNU Assembler for these ABI's.
482481
482
483483 Changes to the PowerPC Target
484484 -----------------------------
485485
490490
491491 * LLVM now has a POWER8 instruction scheduling description.
492492
493 * Address Sanitizer (ASAN) support is now fully functional.
493 * AddressSanitizer (ASan) support is now fully functional.
494494
495495 * Performance of simple atomic accesses has been greatly improved.
496496
504504 * Experimental support for the stackmap/patchpoint intrinsics has been added.
505505
506506 * There have been many smaller bug fixes and performance improvements.
507
507508
508509 Changes to the OCaml bindings
509510 -----------------------------
531532
532533 * As usual, many more functions have been exposed to OCaml.
533534
535
534536 Go bindings
535537 -----------
536538
537539 * A set of Go bindings based on `gollvm `_
538540 was introduced in this release.
541
539542
540543 External Open Source Projects Using LLVM 3.6
541544 ============================================
543546 An exciting aspect of LLVM is that it is used as an enabling technology for
544547 a lot of other language and tools projects. This section lists some of the
545548 projects that have already been updated to work with LLVM 3.6.
549
546550
547551 Portable Computing Language (pocl)
548552 ----------------------------------
556560 the presence of work-group barriers. This enables static parallelization of
557561 the fine-grained static concurrency in the work groups in multiple ways.
558562
563
559564 TTA-based Co-design Environment (TCE)
560565 -------------------------------------
561566
574579 loads them in to the compiler backend as runtime libraries to avoid
575580 per-target recompilation of larger parts of the compiler chain.
576581
582
577583 Likely
578584 ------
579585
580586 `Likely `_ is an embeddable just-in-time Lisp for
581 image recognition and heterogenous computing. Algorithms are just-in-time
587 image recognition and heterogeneous computing. Algorithms are just-in-time
582588 compiled using LLVM's MCJIT infrastructure to execute on single or
583589 multi-threaded CPUs and potentially OpenCL SPIR or CUDA enabled GPUs.
584590 Likely seeks to explore new optimizations for statistical learning
586592 compile-time evaluation of a function (the learning algorithm) with constant
587593 arguments (the training data).
588594
595
589596 LDC - the LLVM-based D compiler
590597 -------------------------------
591598
600607 x86/x86_64 systems like Linux, OS X, FreeBSD and Windows and also Linux on
601608 PowerPC (32/64 bit). Ports to other architectures like ARM, AArch64 and MIPS64
602609 are underway.
610
603611
604612 LLVMSharp & ClangSharp
605613 ----------------------