This adds few fixes, but mostly it updates the rewrite-includes patch. Sadly upstream has decided to rename the option name for whatever reason, so if unchanged 12.2 would be the only clang with the option named this way, causing further problems e.g. with icecream.
So it would be very nice to get this into 12.2. As it is an isolated feature, it should be low-risk.
(forwarded request 127882 from llunak)
OBS-URL: https://build.opensuse.org/request/show/127883
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/llvm?expand=0&rev=29
This adds few fixes, but mostly it updates the rewrite-includes patch. Sadly upstream has decided to rename the option name for whatever reason, so if unchanged 12.2 would be the only clang with the option named this way, causing further problems e.g. with icecream.
So it would be very nice to get this into 12.2. As it is an isolated feature, it should be low-risk.
OBS-URL: https://build.opensuse.org/request/show/127882
OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=155
- Update to svn revision 154914 from 3.1 branch
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
* IR support for half float
* IR support for vectors of pointers, including vector GEPs.
* Module flags have been introduced.
* Loads can now have range metadata attached to them to
describe the possible values being loaded.
* 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.
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.
X86-32 and X86-64 Target Improvements
* Bug fixes and improved support for AVX1
OBS-URL: https://build.opensuse.org/request/show/114318
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/llvm?expand=0&rev=24
* 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
* IR support for half float
* IR support for vectors of pointers, including vector GEPs.
* Module flags have been introduced.
* Loads can now have range metadata attached to them to
describe the possible values being loaded.
* 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.
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.
X86-32 and X86-64 Target Improvements
* Bug fixes and improved support for AVX1
* Support for AVX2 (still incomplete at this point)
OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=133