Skip to content
  • Chris Lattner's avatar
    Make SROA produce a vector only when the alloca is actually · 73eff2e6
    Chris Lattner authored
    accessed at least once as a vector.  This prevents it from
    compiling the example in not-a-vector into:
    
    define double @test(double %A, double %B) {
    	%tmp4 = insertelement <7 x double> undef, double %A, i32 0
    	%tmp = insertelement <7 x double> %tmp4, double %B, i32 4
    	%tmp2 = extractelement <7 x double> %tmp, i32 4
    	ret double %tmp2
    }
    
    instead, producing the integer code.  Producing vectors when they
    aren't otherwise in the program is dangerous because a lot of other
    code treats them carefully and doesn't want to break them down.
    OTOH, many things want to break down tasty i448's.
    
    llvm-svn: 63638
    73eff2e6
Loading