Skip to content
  1. Jul 29, 2013
    • Rafael Espindola's avatar
      Add support for the 's' operation to llvm-ar. · b6b5f52e
      Rafael Espindola authored
      If no other operation is specified, 's' becomes an operation instead of an
      modifier. The s operation just creates a symbol table. It is the same as
      running ranlib.
      
      We assume the archive was created by a sane ar (like llvm-ar or gnu ar) and
      if the symbol table is present, then it is current. We use that to optimize
      the most common case: a broken build system that thinks it has to run ranlib.
      
      llvm-svn: 187353
      b6b5f52e
    • Nico Rieck's avatar
      MC: Support larger COFF string tables · 2c9c89b2
      Nico Rieck authored
      Single-slash encoded entries do not require a terminating null. This bumps
      the maximum table size from ~1MB to ~9.5MB.
      
      llvm-svn: 187352
      2c9c89b2
    • NAKAMURA Takumi's avatar
      ExceptionDemo.cpp: Tweak a @param. [-Wdocumentation] · 1373b743
      NAKAMURA Takumi authored
      llvm-svn: 187351
      1373b743
    • Benjamin Kramer's avatar
      Some Intel Penryn CPUs come with SSE4 disabled. Detect them as core 2. · fb34989a
      Benjamin Kramer authored
      PR16721.
      
      llvm-svn: 187350
      fb34989a
    • Silviu Baranga's avatar
      Allow generation of vmla.f32 instructions when targeting Cortex-A15. The patch... · 91ddaa1b
      Silviu Baranga authored
      Allow generation of vmla.f32 instructions when targeting Cortex-A15. The patch also adds the VFP4 feature to Cortex-A15 and fixes the DontUseFusedMAC predicate so that we can still generate vmla.f32 instructions on non-darwin targets with VFP4.
      
      llvm-svn: 187349
      91ddaa1b
    • 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
    • Bob Wilson's avatar
      Reduce stack frame size by avoiding a large token vector on an error path. · 57217350
      Bob Wilson authored
      Beginning with svn r186971, we noticed an internal test started to fail when
      using clang built with LTO. After much investigation, it turns out that there
      are no blatant bugs here, we are just running out of stack space and crashing.
      Preprocessor::ReadFunctionLikeMacroArgs already has one vector of 64 Tokens,
      and r186971 added another.  When built with LTO, that function is inlined into
      Preprocessor::HandleMacroExpandedIdentifier, which for our internal test is
      invoked in a deep recursive cycle. I'm leaving the original 64 Token vector
      alone on the assumption that it is important for performance, but the new
      FixedArgTokens vector is only used on an error path, so it should be OK if it
      requires additional heap storage. It would be even better if we could avoid
      the deep recursion, but I think this change is a good thing to do regardless.
      <rdar://problem/14540345>
      
      llvm-svn: 187315
      57217350
    • Michael Gottesman's avatar
      [APFloat] Make all arithmetic operations with NaN produce positive NaNs. · b0e688e8
      Michael Gottesman authored
      IEEE-754R 1.4 Exclusions states that IEEE-754R does not specify the
      interpretation of the sign of NaNs. In order to remove an irrelevant
      variable that most floating point implementations do not use,
      standardize add, sub, mul, div, mod so that operating anything with
      NaN always yields a positive NaN.
      
      In a later commit I am going to update the APIs for creating NaNs so
      that one can not even create a negative NaN.
      
      llvm-svn: 187314
      b0e688e8
Loading