Skip to content
  1. Sep 04, 2013
    • Rafael Espindola's avatar
      Add r159136 back now that pr13124 has been fixed. · 5eb7df68
      Rafael Espindola authored
      Original message:
      If a constant or a function has linkonce_odr linkage and unnamed_addr, mark
      hidden. Being linkonce_odr guarantees that it is available in every dso that
      needs it. Being a constant/function with unnamed_addr guarantees that the
      copies don't have to be merged.
      
      llvm-svn: 189886
      5eb7df68
    • Jim Grosbach's avatar
      X86: Mark non-crashing report_fatal_errors() as such. · 6c6b425b
      Jim Grosbach authored
      Previously, the clang crash handling code would kick in and give a crash
      report for these, even though they're not that sort of error.
      
      rdar://14882264
      
      llvm-svn: 189878
      6c6b425b
    • Michael Gottesman's avatar
      [objc-arc] Remove dead code from previous commit. · 469a80cb
      Michael Gottesman authored
      llvm-svn: 189870
      469a80cb
    • Michael Gottesman's avatar
      [objc-arc] Turn off the objc_retainBlock -> objc_retain optimization. · e29b1c18
      Michael Gottesman authored
      The reason that I am turning off this optimization is that there is an
      additional case where a block can escape that has come up. Specifically, this
      occurs when a block is used in a scope outside of its current scope.
      
      This can cause a captured retainable object pointer whose life is preserved by
      the objc_retainBlock to be deallocated before the block is invoked.
      
      An example of the code needed to trigger the bug is:
      
      ----
      \#import <Foundation/Foundation.h>
      int main(int argc, const char * argv[]) {
        void (^somethingToDoLater)();
      
        {
          NSObject *obj = [NSObject new];
      
          somethingToDoLater = ^{
            [obj self]; // Crashes here
          };
        }
      
        NSLog(@"test.");
      
        somethingToDoLater();
        return 0;
      }
      ----
      
      In the next commit, I remove all the dead code that results from this.
      
      Once I put in the fixing commit I will bring back the tests that I deleted in
      this commit.
      
      rdar://14802782.
      rdar://14868830.
      
      llvm-svn: 189869
      e29b1c18
  2. Sep 03, 2013
  3. Sep 02, 2013
  4. Sep 01, 2013
  5. Aug 31, 2013
    • Benjamin Kramer's avatar
      Mark an unreachable code path with llvm_unreachable. Pacifies GCC. · bda73fff
      Benjamin Kramer authored
      llvm-svn: 189726
      bda73fff
    • Benjamin Kramer's avatar
      SimplifyLibCalls: When emitting an overloaded fp function check that it's available. · 2702caad
      Benjamin Kramer authored
      The existing code missed some edge cases when e.g. we're going to emit sqrtf but
      only the availability of sqrt was checked. This happens on odd platforms like
      windows.
      
      llvm-svn: 189724
      2702caad
    • Andrew Trick's avatar
      Fix my previous checkin to updatePressureDiffs. · 2c4f8b7e
      Andrew Trick authored
      There was one case that we could hit a DebugValue where I didn't think
      to check. DebugValues are evil. No checkinable test case, sorry. It's
      an obvious fix.
      
      llvm-svn: 189717
      2c4f8b7e
    • Bill Schmidt's avatar
      [PowerPC] Fast-isel cleanup patch. · eb8d6f7d
      Bill Schmidt authored
      Here are a few miscellaneous things to tidy up the PPC64 fast-isel
      implementation.  I corrected a couple of commentary lapses, and added
      documentation of future opportunities.  I also implemented
      TargetMaterializeAlloca, which I somehow forgot when I split up the
      original huge patch.
      
      Finally, I decided to delete SelectCmp.  I hadn't previously hooked it
      in to TargetSelectInstruction(), and when I did I realized it wasn't
      serving any useful purpose.  This is only useful for compares that
      don't feed a branch in the same block, and to handle that we would
      have to have logic to interpret i1 as a condition register.  This
      could probably be done, but would require Unseemly Hackery, and
      honestly does not seem worth the hassle.
      
      This ends the current patch series.
      
      llvm-svn: 189715
      eb8d6f7d
    • Bill Schmidt's avatar
      [PowerPC] Add integer truncation support to fast-isel. · 9d9510d8
      Bill Schmidt authored
      This is the last substantive patch I'm planning for fast-isel in the
      near future, adding fast selection of integer truncates.  There are
      certainly more things that can be improved (many of which are called
      out in FIXMEs), but for now we are catching most of the important
      cases.
      
      I'll document some of the remaining work in a cleanup patch shortly.
      
      llvm-svn: 189706
      9d9510d8
    • Bill Schmidt's avatar
      Correct partially defined variable · 0954ea1b
      Bill Schmidt authored
      llvm-svn: 189705
      0954ea1b
    • Bill Schmidt's avatar
      [PowerPC] Call support for fast-isel. · 8470b0f9
      Bill Schmidt authored
      This patch adds fast-isel support for calls (but not intrinsic calls
      or varargs calls).  It also removes a badly-formed assert.  There are
      some new tests just for calls, and also for folding loads into
      arguments on calls to avoid extra extends.
      
      llvm-svn: 189701
      8470b0f9
  6. Aug 30, 2013
Loading