HomeFreeBSD

Pull in r180121 from upstream llvm trunk:

Description

Pull in r180121 from upstream llvm trunk:

LoopVectorizer: Fix 15830. When scalarizing and unrolling stores make
sure that the order in which the elements are scalarized is the same
as the original order.
This fixes a miscompilation in FreeBSD's regex library.

This should fix lib/libc/regex/regcomp.c at -O3 with clang 3.3 r178860
on CPUs with SSE. Before this change, the vectorizer could incorrectly
rearrange the second loop in computejumps(), leading to possibly invalid
entries in the re_gets::charjump table.

The net result was that for example "sed s/@cc@/foo/" failed to work
correctly, leading to trouble with many configure scripts.

Details

Provenance
dimAuthored on Apr 23 2013, 6:58 PM
Parents
rG22989042a952: Fix white spaces.
Branches
Unknown
Tags
Unknown

Event Timeline