--- - branch: MAIN date: Wed May 23 11:02:41 UTC 2012 files: - new: '1.12' old: '1.11' path: pkgsrc/lang/clang/Makefile pathrev: pkgsrc/lang/clang/Makefile@1.12 type: modified - new: '1.7' old: '1.6' path: pkgsrc/lang/clang/PLIST pathrev: pkgsrc/lang/clang/PLIST@1.7 type: modified - new: '1.10' old: '1.9' path: pkgsrc/lang/clang/distinfo pathrev: pkgsrc/lang/clang/distinfo@1.10 type: modified id: 20120523T110241Z.0c7e854d502c11a0ea69a035e25351dbcd233d34 log: | Changes 3.1: * Major New Features - AddressSanitizer, a fast memory error detector. - MachineInstr Bundles, Support to model instruction bundling / packing. - ARM Integrated Assembler, A full featured assembler and direct-to-object support for ARM. - Basic Block Placement Probability driven basic block placement. * LLVM IR and Core Improvements - A new type representing 16 bit half floating point values has been added. - IR now supports vectors of pointers, including vector GEPs. - Module flags have been introduced. They convey information about the module as a whole to LLVM subsystems. This is currently used to encode Objective C ABI information. - Loads can now have range metadata attached to them to describe the possible values being loaded. - The llvm.ctlz and llvm.cttz intrinsics now have an additional argument which indicates whether the behavior of the intrinsic is undefined on a zero input. This can be used to generate more efficient code on platforms that only have instructions which don't return the type size when counting bits in 0. * Optimizer Improvements - The loop unroll pass now is able to unroll loops with run-time trip counts. This feature is turned off by default, and is enabled with the -unroll-runtime flag. - A new basic-block autovectorization pass is available. Pass -vectorize to run this pass along with some associated post-vectorization cleanup passes. For more information, see the EuroLLVM 2012 slides: Autovectorization with LLVM. - Inline cost heuristics have been completely overhauled and now closely model constant propagation through call sites, disregard trivially dead code costs, and can model C++ STL iterator patterns. module: pkgsrc subject: 'CVS commit: pkgsrc/lang/clang' unixtime: '1337770961' user: adam