Skip to content
  1. Jul 29, 2013
    • Robert Lytton's avatar
      test commit · 862b0451
      Robert Lytton authored
      llvm-svn: 187348
      862b0451
    • Chandler Carruth's avatar
      Teach the AllocaPromoter which is wrapped around the SSAUpdater · cd7c8cdf
      Chandler Carruth authored
      infrastructure to do promotion without a domtree the same smarts about
      looking through GEPs, bitcasts, etc., that I just taught mem2reg about.
      This way, if SROA chooses to promote an alloca which still has some
      noisy instructions this code can cope with them.
      
      I've not used as principled of an approach here for two reasons:
      1) This code doesn't really need it as we were already set up to zip
         through the instructions used by the alloca.
      2) I view the code here as more of a hack, and hopefully a temporary one.
      
      The SSAUpdater path in SROA is a real sore point for me. It doesn't make
      a lot of architectural sense for many reasons:
      - We're likely to end up needing the domtree anyways in a subsequent
        pass, so why not compute it earlier and use it.
      - In the future we'll likely end up needing the domtree for parts of the
        inliner itself.
      - If we need to we could teach the inliner to preserve the domtree. Part
        of the re-work of the pass manager will allow this to be very powerful
        even in large SCCs with many functions.
      - Ultimately, computing a domtree has gotten significantly faster since
        the original SSAUpdater-using code went into ScalarRepl. We no longer
        use domfrontiers, and much of domtree is lazily done based on queries
        rather than eagerly.
      - At this point keeping the SSAUpdater-based promotion saves a total of
        0.7% on a build of the 'opt' tool for me. That's not a lot of
        performance given the complexity!
      
      So I'm leaving this a bit ugly in the hope that eventually we just
      remove all of this nonsense.
      
      I can't even readily test this because this code isn't reachable except
      through SROA. When I re-instate the patch that fast-tracks allocas
      already suitable for promotion, I'll add a testcase there that failed
      before this change. Before that, SROA will fix any test case I give it.
      
      llvm-svn: 187347
      cd7c8cdf
    • Daniel Jasper's avatar
      Fix build error caused by r187345. · 03524b77
      Daniel Jasper authored
      llvm-svn: 187346
      03524b77
    • Daniel Jasper's avatar
      Initial architecture for clang-tidy. · d07c840e
      Daniel Jasper authored
      This is the first version of a possible clang-tidy architecture. The
      purpose of clang-tidy is to detect errors in adhering to common coding
      patterns, e.g. described in the LLVM Coding Standards.
      
      This is still heavily in flux.
      
      Review: http://llvm-reviews.chandlerc.com/D884
      llvm-svn: 187345
      d07c840e
    • Craig Topper's avatar
      Return ExprError if both arguments to the mask form of __builtin_shufflvector... · baca389e
      Craig Topper authored
      Return ExprError if both arguments to the mask form of __builtin_shufflvector don't have the same number of elements or the mask isn't an integer vector.
      
      Previously a diagnostic was issued, but the code went ahead and built the ShuffleVectorExpr. While I'm here also simplify a couple lines by wrapping the return ExprError around the Diag calls.
      
      llvm-svn: 187344
      baca389e
    • Tobias Grosser's avatar
      Remove '-debug-only' from test case · 96ef0785
      Tobias Grosser authored
      This flags was not used in the test case, but caused failures when LLVM was
      built without debugging. We can savely remove it.
      
      llvm-svn: 187343
      96ef0785
    • Tobias Grosser's avatar
      TempScop: Actually load Polly in this test case · 6e358c06
      Tobias Grosser authored
      llvm-svn: 187342
      6e358c06
    • Tobias Grosser's avatar
      Remove second '-analyze' from command line · 7032ea6f
      Tobias Grosser authored
      llvm-svn: 187341
      7032ea6f
    • Nadav Rotem's avatar
      Don't vectorize when the attribute NoImplicitFloat is used. · 750e42cb
      Nadav Rotem authored
      llvm-svn: 187340
      750e42cb
    • Tobias Grosser's avatar
      JSONImporter: Free new schedule if found invalid · 85f74217
      Tobias Grosser authored
      In case we detect that the schedule the user wants to import is invalid we
      refuse it _and_ free the isl_maps containing it.
      
      Another bug found thanks to Rafael.
      
      llvm-svn: 187339
      85f74217
    • Tobias Grosser's avatar
      CodeGeneration: Fix double free in vector for · 880c52f5
      Tobias Grosser authored
      We now use __isl_take to annotate the uses of the isl_set where we got the
      memory management wrong.
      
      Thanks to Rafael! His pipefail work hardened our test environment and exposed
      this bug nicely.
      
      llvm-svn: 187338
      880c52f5
    • NAKAMURA Takumi's avatar
      clang/test/Driver/cl.c: Don't attempt slash switches on msys bash. · c91dd312
      NAKAMURA Takumi authored
      llvm-svn: 187337
      c91dd312
    • Rafael Espindola's avatar
      Fix -Wdocumentation warnings. · caa776be
      Rafael Espindola authored
      llvm-svn: 187336
      caa776be
    • Chandler Carruth's avatar
      Update comments for SSAUpdater to use the modern doxygen comment · 6b55dbea
      Chandler Carruth authored
      standards for LLVM. Remove duplicated comments on the interface from the
      implementation file (implementation comments are left there of course).
      Also clean up, re-word, and fix a few typos and errors in the commenst
      spotted along the way.
      
      This is in preparation for changes to these files and to keep the
      uninteresting tidying in a separate commit.
      
      llvm-svn: 187335
      6b55dbea
  2. Jul 28, 2013
  3. Jul 27, 2013
Loading