Skip to content
  1. Jan 16, 2013
  2. Jan 15, 2013
    • Eli Bendersky's avatar
      Refactor generic Asm directive parsing. · 17233946
      Eli Bendersky authored
      After discussing the refactoring with Jim and Daniel, the following changes were
      made:
      
      * All generic directive parsing is now done by AsmParser itself. The previous
        division between it and GenericAsmParser did not have clear boundaries and
        just produced unnatural code of GenericAsmParser juggling the internals of
        AsmParser through an interface. 
        The division of responsibilities is now clear: target-specific directives,
        other extensions (used by platform-specific parseres), and generic directives.
      * Priority for directive parsing was reshuffled to ask extensions first and
        check the generic directives later.
      
      No change in functionality.
      
      llvm-svn: 172568
      17233946
    • Douglas Gregor's avatar
      When checking availability attributes for consistency between an · 66a8ca0f
      Douglas Gregor authored
      overriding and overridden method, allow the overridden method to have
      a narrower contract (introduced earlier, deprecated/obsoleted later)
      than the overriding method. Fixes <rdar://problem/12992023>.
      
      llvm-svn: 172567
      66a8ca0f
    • Greg Clayton's avatar
      <rdar://problem/13011717> · 215dced2
      Greg Clayton authored
      Fixed a compilation error where NULL was being assigned to a uint.
      
      llvm-svn: 172566
      215dced2
    • David Greene's avatar
      Fix Casting · e6c9fe03
      David Greene authored
      Use const_cast<> to avoid a cast-away-const error.
      
      llvm-svn: 172565
      e6c9fe03
    • David Greene's avatar
      Fix Casting · 02b002ac
      David Greene authored
      Use const_cast<> to avoid a cast-away-const error.
      
      llvm-svn: 172564
      02b002ac
    • David Greene's avatar
      Fix Casting · 4320e5e1
      David Greene authored
      Use const_cast<> to avoid a cast-away-const error.
      
      llvm-svn: 172563
      4320e5e1
    • David Greene's avatar
      Fix Casting · 0516ba60
      David Greene authored
      Use const_cast<> to avoid a cast-away-const error.
      
      llvm-svn: 172562
      0516ba60
    • David Greene's avatar
      Fix Cast · 0d5a34bc
      David Greene authored
      Properly use const_cast to fix a cast-away-const error.
      
      llvm-svn: 172561
      0d5a34bc
    • David Greene's avatar
      Fix Casting · bae0e356
      David Greene authored
      Make the const_cast explicit to silence a compiler warning.
      
      llvm-svn: 172560
      bae0e356
    • David Greene's avatar
      Fix Const Cast · 0a528db9
      David Greene authored
      Do proper casting to avoid a cast-away-const error.
      
      llvm-svn: 172559
      0a528db9
    • David Greene's avatar
      Fix Cast · 94319260
      David Greene authored
      Avoid a cast-away-const error by properly using const_cast<>.
      
      llvm-svn: 172558
      94319260
    • David Greene's avatar
      Fix Cast Code · a6394d04
      David Greene authored
      Eliminate a cast and resulting cast-qual warning by using a temporary
      as the target of memcpy.
      
      llvm-svn: 172557
      a6394d04
    • Michael J. Spencer's avatar
      [Object][ELF] Fix -Wenum-compare. · 47811e4b
      Michael J. Spencer authored
      llvm-svn: 172556
      47811e4b
    • Aaron Ballman's avatar
      Typo correction; no functional change. · 5cb24115
      Aaron Ballman authored
      llvm-svn: 172555
      5cb24115
    • Michael J. Spencer's avatar
      Trailing whitespace. · fe71a504
      Michael J. Spencer authored
      llvm-svn: 172554
      fe71a504
    • Michael J. Spencer's avatar
      [ELF] Never allocate content to weak symbols as they may be merged away. · 8b3898af
      Michael J. Spencer authored
      This is done by creating a new non-weak anonymous symbol and creating
      an atom with content for that symbol. This is added after the weak symbol
      so that they have the same address.
      
      llvm-svn: 172553
      8b3898af
    • Michael J. Spencer's avatar
      [ELF] Refactoring and style cleanup. No functionality change. · 842885e0
      Michael J. Spencer authored
      llvm-svn: 172552
      842885e0
    • Shuxin Yang's avatar
      1. Hoist minus sign as high as possible in an attempt to reveal · e8227452
      Shuxin Yang authored
         some optimization opportunities (in the enclosing supper-expressions).
      
         rule 1. (-0.0 - X ) * Y => -0.0 - (X * Y)
           if expression "-0.0 - X" has only one reference.
      
         rule 2. (0.0 - X ) * Y => -0.0 - (X * Y)
           if expression "0.0 - X" has only one reference, and
              the instruction is marked "noSignedZero".
      
      2. Eliminate negation (The compiler was already able to handle these
          opt if the 0.0s are replaced with -0.0.)
      
         rule 3: (0.0 - X) * (0.0 - Y) => X * Y
         rule 4: (0.0 - X) * C => X * -C
         if the expr is flagged "noSignedZero".
      
      3. 
        Rule 5: (X*Y) * X => (X*X) * Y
         if X!=Y and the expression is flagged with "UnsafeAlgebra".
      
         The purpose of this transformation is two-fold:
          a) to form a power expression (of X).
          b) potentially shorten the critical path: After transformation, the
             latency of the instruction Y is amortized by the expression of X*X,
             and therefore Y is in a "less critical" position compared to what it
            was before the transformation. 
      
      4. Remove the InstCombine code about simplifiying "X * select".
         
         The reasons are following:
          a) The "select" is somewhat architecture-dependent, therefore the
             higher level optimizers are not able to precisely predict if
             the simplification really yields any performance improvement
             or not.
      
          b) The "select" operator is bit complicate, and tends to obscure
             optimization opportunities. It is btter to keep it as low as
             possible in expr tree, and let CodeGen to tackle the optimization.
      
      llvm-svn: 172551
      e8227452
    • Daniel Dunbar's avatar
Loading