Skip to content
  1. Feb 03, 2009
    • 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