Skip to content
  1. Nov 23, 2013
    • Chandler Carruth's avatar
      [PM] Rename TestAnalysisPass to TestFunctionAnalysis to clear the way · 2ad18583
      Chandler Carruth authored
      for a TestModuleAnalysis.
      
      llvm-svn: 195537
      2ad18583
    • David Blaikie's avatar
      DwarfDebug: Move ownership of CompileUnits into DwarfUnits · 72f1a3ec
      David Blaikie authored
      This avoids the need for an extra list of SkeletonCUs and associated
      cleanup while staging things to be cleaner for further type unit
      improvements.
      
      Also hopefully fixes a memory leak introduced in r195166.
      
      llvm-svn: 195536
      72f1a3ec
    • Manman Ren's avatar
      Debug Info: update testing cases to specify the debug info version number. · d664bd77
      Manman Ren authored
      We are going to drop debug info without a version number or with a different
      version number, to make sure we don't crash when we see bitcode files with
      different debug info metadata format.
      
      Make tests more robust by removing hard-coded metadata numbers in CHECK lines.
      
      llvm-svn: 195535
      d664bd77
    • Peter Collingbourne's avatar
      Split registry matcher resolution into a lookup phase and a construction phase. · 00cba4f6
      Peter Collingbourne authored
      The looked-up matchers will be used during code completion.
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D2207
      
      llvm-svn: 195534
      00cba4f6
    • Ted Kremenek's avatar
      Add back experimental attribute objc_suppress_protocol_methods (slightly renamed). · 28eace65
      Ted Kremenek authored
      This is still an experimental attribute, but I wanted it in tree
      for review.  It may still get yanked.
      
      This attribute can only be applied to a class @interface, not
      a class extension or category.  It does not change the type
      system rules for Objective-C, but rather the implementation checking
      for Objective-C classes that explicitly conform to a protocol.
      During protocol conformance checking, clang recursively searches
      up the class hierarchy for the set of methods that compose
      a protocol.  This attribute will cause the compiler to not consider
      the methods contributed by a super class, its categories, and those
      from its ancestor classes.  Thus this attribute is used to force
      subclasses to redeclare (and hopefully re-implement) methods if
      they decide to explicitly conform to a protocol where some of those
      methods may be provided by a super class.
      
      This attribute intentionally leaves out properties, which are associated
      with state.  This attribute only considers methods (at least right now)
      that are non-property accessors.  These represent methods that "do something"
      as dictated by the protocol.  This may be further refined, and this
      should be considered a WIP until documentation gets written or this
      gets removed.
      
      llvm-svn: 195533
      28eace65
    • Ted Kremenek's avatar
      Change ObjCIntefaceDecl::lookupMethod() to have optional 'followsSuper' argument. · 0078150c
      Ted Kremenek authored
      This enables a micro-optimization in protocol conformance checking
      to not examine the class hierarchy twice per method.
      
      As part of this change, remove the default arguments from lookupInstanceMethod()
      and lookupClassMethod().  It was becoming very redundant.  For clients
      needing the default arguments, have them use the full API instead of
      these convenience methods.
      
      llvm-svn: 195532
      0078150c
    • Peter Collingbourne's avatar
    • Chandler Carruth's avatar
      Migrate metadata information from scalar to vector instructions during · 57458517
      Chandler Carruth authored
      SLP vectorization. Based on the code in BBVectorizer.
      
      Fixes PR17741.
      
      Patch by Raul Silvera, reviewed by Hal and Nadav. Reformatted by my
      driving of clang-format. =]
      
      llvm-svn: 195528
      57458517
    • Peter Collingbourne's avatar
      Remove uninstantiable constructor from DeclTemplate.h · ca766b27
      Peter Collingbourne authored
      Patch by Kim Gräsman!
      
      Laszlo Nagy and me both ran into the same issue with SpecIterator from DeclTemplate.h causing an error:
      
      tools/clang/include/clang/AST/DeclTemplate.h:560:22: error:
            no matching constructor for initialization of 'SetIteratorType' (aka
            'FoldingSetVectorIterator<clang::FunctionTemplateSpecializationInfo,
            typename SmallVector<FunctionTemplateSpecializationInfo *, 8>::iterator>')
          SpecIterator() : SetIter() {}
      
      (see e.g. http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-November/033642.html)
      
      The problem is the SpecIterator default constructor which needs a non-existent SetIter default constructor. SpecIterator's default constructor is evidently dead code as any call to it would fail with the above error.
      
      This patch removes it.
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D2246
      
      llvm-svn: 195526
      ca766b27
    • Chandler Carruth's avatar
      [PM] Add support to the analysis managers to query explicitly for cached · de9afd84
      Chandler Carruth authored
      results.
      
      This is the last piece of infrastructure needed to effectively support
      querying *up* the analysis layers. The next step will be to introduce
      a proxy which provides access to those layers with appropriate use of
      const to direct queries to the safe interface.
      
      llvm-svn: 195525
      de9afd84
    • Fariborz Jahanian's avatar
      ObjectiveC. Remove warning diagnostic which checks · 36129a95
      Fariborz Jahanian authored
      attribute on method declaration and implementation
      match. This makes no sense. Most annotations are
      meant for declarations only and one is for implementation.
      This has been constant source of regresions and hackery to
      get around special cases. I am removing this check.
      Such checks must be done on a case by case basis and
      when it makes sense. For example, it makes sense
      for availability/deprecated and I will file a radar
      for that. // rdar://15531984
      
      llvm-svn: 195524
      36129a95
    • Eric Christopher's avatar
      Refactor DW_AT_ranges handling to use labels for ranges rather than · 4751d701
      Eric Christopher authored
      a non-relocatable number offset.
      
      One fixme to make the ranges as discrete data structures and
      have range lists explicitly represented rather than as a list of symbols.
      
      llvm-svn: 195523
      4751d701
    • Eric Christopher's avatar
      Reformat const for readability. · f8da6aa7
      Eric Christopher authored
      llvm-svn: 195522
      f8da6aa7
    • Tobias Grosser's avatar
      Really stop the buildbot noise · 37eff6aa
      Tobias Grosser authored
      llvm-svn: 195521
      37eff6aa
    • Tobias Grosser's avatar
      Disable format checking · 70409740
      Tobias Grosser authored
      We still have troubles as clang is not properly built yet. I messed up a path
      in the PollyBuilder and am waiting for another buildmaster restart.
      
      llvm-svn: 195520
      70409740
    • 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