Skip to content
  1. Nov 23, 2013
    • Chandler Carruth's avatar
      [PM] Switch the downward invalidation to be incremental where only the · bceeb229
      Chandler Carruth authored
      one function's analyses are invalidated at a time. Also switch the
      preservation of the proxy to *fully* preserve the lower (function)
      analyses.
      
      Combined, this gets both upward and downward analysis invalidation to
      a point I'm happy with:
      
      - A function pass invalidates its function analyses, and its parent's
        module analyses.
      - A module pass invalidates all of its functions' analyses including the
        set of which functions are in the module.
      - A function pass can preserve a module analysis pass.
      - If all function passes preserve a module analysis pass, that
        preservation persists. If any doesn't the module analysis is
        invalidated.
      - A module pass can opt into managing *all* function analysis
        invalidation itself or *none*.
      - The conservative default is none, and the proxy takes the maximally
        conservative approach that works even if the set of functions has
        changed.
      - If a module pass opts into managing function analysis invalidation it
        has to propagate the invalidation itself, the proxy just does nothing.
      
      The only thing really missing is a way to query for a cached analysis or
      nothing at all. With this, function passes can more safely request
      a cached module analysis pass without fear of it accidentally running
      part way through.
      
      llvm-svn: 195519
      bceeb229
    • Chandler Carruth's avatar
      [PM] Remove a FIXME comment that was fixed by my recent refactorings: · bfb9bb24
      Chandler Carruth authored
      now the access to the manager is via the proxy that ensures it behaves
      correctly.
      
      llvm-svn: 195518
      bfb9bb24
    • Greg Clayton's avatar
      <rdar://problem/15540233> · 833d1295
      Greg Clayton authored
      SBPlatform.h was missing from built LLDB.framework, now it is fixed.
      
      llvm-svn: 195517
      833d1295
    • Shankar Easwaran's avatar
      [InputGraph] Add capability to process Hidden nodes. · 67e98f51
      Shankar Easwaran authored
      Hidden nodes could be a result of expansion, where a flavor might decide to keep
      the node that we want to expand but discard it from being processed by the
      resolver.
      
      Verifies with unittests.
      
      llvm-svn: 195516
      67e98f51
    • Shankar Easwaran's avatar
      [InputGraph] Expand InputGraph nodes. · 3ac09bcb
      Shankar Easwaran authored
      Flavors may like to expand InputGraph nodes, when a filenode after parsing
      results in more elements. One such example is while parsing GNU linker scripts.
      The linker scripts after parsing would result in a lot of filenodes and probably
      controlnodes too.
      
      Adds unittests to verify functionality.
      
      llvm-svn: 195515
      3ac09bcb
    • Tom Stellard's avatar
      R600/SI: Fixing handling of condition codes · c0845334
      Tom Stellard authored
      We were ignoring the ordered/onordered bits and also the signed/unsigned
      bits of condition codes when lowering the DAG to MachineInstrs.
      
      NOTE: This is a candidate for the 3.4 branch.
      llvm-svn: 195514
      c0845334
    • Yuchen Wu's avatar
      llvm-cov: Split entry blocks in GCNOProfiling.cpp. · c87ca321
      Yuchen Wu authored
      gcov expects every function to contain an entry block that
      unconditionally branches into the next block. clang does not implement
      basic blocks in this manner, so gcov did not output correct branch info
      if the entry block branched to multiple blocks.
      
      This change splits every function's entry block into an empty block and
      a block with the rest of the instructions. The instrumentation code will
      take care of the rest.
      
      llvm-svn: 195513
      c87ca321
    • Samuel Benzaquen's avatar
      Make the negative test more specific. · ef77f3cc
      Samuel Benzaquen authored
      Summary:
      Make the negative test more specific.
      Otherwise it can accidentally match injected code.
      
      Reviewers: aaron.ballman
      
      CC: klimek, cfe-commits, revane
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D2257
      
      llvm-svn: 195512
      ef77f3cc
  2. Nov 22, 2013
Loading