Skip to content
  1. Jun 09, 2012
    • Jakob Stoklund Olesen's avatar
      Reintroduce VirtRegRewriter. · 1224312f
      Jakob Stoklund Olesen authored
      OK, not really. We don't want to reintroduce the old rewriter hacks.
      
      This patch extracts virtual register rewriting as a separate pass that
      runs after the register allocator. This is possible now that
      CodeGen/Passes.cpp can configure the full optimizing register allocator
      pipeline.
      
      The rewriter pass uses register assignments in VirtRegMap to rewrite
      virtual registers to physical registers, and it inserts kill flags based
      on live intervals.
      
      These finalization steps are the same for the optimizing register
      allocators: RABasic, RAGreedy, and PBQP.
      
      llvm-svn: 158244
      1224312f
    • Dmitri Gribenko's avatar
      Correct method name in comment: from LexRawToken to LexFromRawLexer, according · 702b732d
      Dmitri Gribenko authored
      to a change done long ago in r57393.
      
      llvm-svn: 158243
      702b732d
    • Jakob Stoklund Olesen's avatar
      Don't run RAFast in the optimizing regalloc pipeline. · 33a1b416
      Jakob Stoklund Olesen authored
      The fast register allocator is not supposed to work in the optimizing
      pipeline. It doesn't make sense to compute live intervals, run full copy
      coalescing, and then run RAFast.
      
      Fast register allocation in the optimizing pipeline is better done by
      RABasic.
      
      llvm-svn: 158242
      33a1b416
    • Dmitri Gribenko's avatar
      Convert comments to proper Doxygen comments. · 4280e5cf
      Dmitri Gribenko authored
      llvm-svn: 158241
      4280e5cf
    • Jim Ingham's avatar
      Change the Mutex::Locker class so that it takes the Mutex object and locks it, rather · 4ceb928f
      Jim Ingham authored
      than being given the pthread_mutex_t from the Mutex and locks that.  That allows us to
      track ownership of the Mutex better.  
      
      Used this to switch the LLDB_CONFIGURATION_DEBUG enabled assert when we can't get the
      gdb-remote sequence mutex to assert when the thread that had the mutex releases it.  This
      is generally more useful information than saying just who failed to get it (since the
      code that had it locked often had released it by the time the assert fired.)
      
      llvm-svn: 158240
      4ceb928f
    • Jordan Rose's avatar
      Warn in ObjC++ when an 'auto' variable deduces type 'id'. · d8d56694
      Jordan Rose authored
      This could happen for cases like this:
      
      - (NSArray *)getAllNames:(NSArray *)images {
        NSMutableArray *results = [NSMutableArray array];
        for (auto img in images) {
          [results addObject:img.name];
        }
        return results;
      }
      
      Here the property access will fail because 'img' has type 'id', rather than,
      say, NSImage.
      
      This warning will not fire in templated code, since the 'id' could have
      come from a template parameter.
      
      llvm-svn: 158239
      d8d56694
    • Jordan Rose's avatar
      Add a test for r158229 (overlapping fixits). This was PR10696! · 9b4cbec7
      Jordan Rose authored
      llvm-svn: 158238
      9b4cbec7
    • Nuno Lopes's avatar
      canonicalize: · 2710f1b0
      Nuno Lopes authored
      -%a + 42
      into
      42 - %a
      
      previously we were emitting:
      -(%a + 42)
      
      This fixes the infinite loop in PR12338. The generated code is still not perfect, though.
      Will work on that next
      
      llvm-svn: 158237
      2710f1b0
    • Sean Callanan's avatar
      Minor fixes for ARM/iOS targets: · e3333d69
      Sean Callanan authored
      - On iOS, we select the "apcs-gnu" ABI to match
        what libraries expect.
      
      - Literals are now allocated at their preferred
        alignment, eliminating many alignment crashes.
      
      llvm-svn: 158236
      e3333d69
  2. Jun 08, 2012
Loading