Skip to content
  1. Jul 12, 2012
    • Craig Topper's avatar
    • Evan Cheng's avatar
      Instcombine was transforming: · 493eb32f
      Evan Cheng authored
        %shr = lshr i64 %key, 3
        %0 = load i64* %val, align 8
        %sub = add i64 %0, -1
        %and = and i64 %sub, %shr
        ret i64 %and
      
      to:
        %shr = lshr i64 %key, 3
        %0 = load i64* %val, align 8
        %sub = add i64 %0, 2305843009213693951
        %and = and i64 %sub, %shr
        ret i64 %and
      
      The demanded bit optimization is actually a pessimization because add -1 would
      be codegen'ed as a sub 1. Teach the demanded constant shrinking optimization
      to check for negated constant to make sure it is actually reducing the width
      of the constant.
      
      rdar://11793464
      
      llvm-svn: 160101
      493eb32f
    • Jim Grosbach's avatar
      TableGen: Location information for diagnostic. · d2aabd3b
      Jim Grosbach authored
      def Pat<...>;
      
      Results in 'record name is not a string!' diagnostic. Not the best,
      but the lack of location information moves it from not very helpful
      into completely useless. We're in the Record class when throwing the
      error, so just add the location info directly.
      
      llvm-svn: 160098
      d2aabd3b
    • Manman Ren's avatar
      ARM: fix typo in comments · 88a0d331
      Manman Ren authored
      llvm-svn: 160093
      88a0d331
    • Manman Ren's avatar
      ARM: Fix optimizeCompare to correctly check safe condition. · 34cb93e1
      Manman Ren authored
      It is safe if CPSR is killed or re-defined.
      When we are done with the basic block, check whether CPSR is live-out.
      Do not optimize away cmp if CPSR is live-out.
      
      llvm-svn: 160090
      34cb93e1
    • Jack Carter's avatar
      Patch for Mips direct object generation. · 570ae0b1
      Jack Carter authored
      When WriteFragmentData() case FT_align called
      Asm.getBackend().writeNopData() is called, nothing
      is done since Mips implementation of writeNopData just
      returned "true".
      
      For some reason this has not caused problems in 32 bit
      mode, but in 64 bit mode it caused an assert when processing
      multiple function units.
      
      The test case included will assert without this patch. It
      runs twice with different flags to prevent false positives
      due to changes in code generation over time.
      
      llvm-svn: 160084
      570ae0b1
  2. Jul 11, 2012
  3. Jul 10, 2012
Loading