Skip to content
  1. Jan 15, 2013
  2. Jan 14, 2013
    • Shuxin Yang's avatar
      This change is to implement following rules under the condition C_A and/or C_R · 320f52a4
      Shuxin Yang authored
       
       ---------------------------------------------------------------------------
       C_A: reassociation is allowed
       C_R: reciprocal of a constant C is appropriate, which means 
          - 1/C is exact, or 
          - reciprocal is allowed and 1/C is neither a special value nor a denormal.
       -----------------------------------------------------------------------------
      
       rule1:  (X/C1) / C2 => X / (C2*C1)  (if C_A)
                           => X * (1/(C2*C1))  (if C_A && C_R)
       rule 2:  X*C1 / C2 => X * (C1/C2)  if C_A
       rule 3: (X/Y)/Z = > X/(Y*Z)  (if C_A && at least one of Y and Z is symbolic value)
       rule 4: Z/(X/Y) = > (Z*Y)/X  (similar to rule3)
      
       rule 5: C1/(X*C2) => (C1/C2) / X (if C_A)
       rule 6: C1/(X/C2) => (C1*C2) / X (if C_A)
       rule 7: C1/(C2/X) => (C1/C2) * X (if C_A)
      
      llvm-svn: 172488
      320f52a4
    • Dmitri Gribenko's avatar
      Document that we should recognize attributes supported by gcc with C++11 · fdfc7392
      Dmitri Gribenko authored
      [[gnu::...]] syntax
      
      Pointed out by Richard Smith on the mailing list.
      
      llvm-svn: 172487
      fdfc7392
    • Tobias Grosser's avatar
      clang-format goodness · 74394f0d
      Tobias Grosser authored
      llvm-svn: 172486
      74394f0d
    • Richard Smith's avatar
      Refactor to call ActOnFinishFullExpr on every full expression. Teach · 945f8d32
      Richard Smith authored
      ActOnFinishFullExpr that some of its checks only apply to discarded-value
      expressions. This adds missing checks for unexpanded variadic template
      parameter packs to a handful of constructs.
      
      llvm-svn: 172485
      945f8d32
Loading