Skip to content
  1. Aug 17, 2015
    • Chandler Carruth's avatar
      [ADT] Teach FoldingSet to be movable. · b596ba23
      Chandler Carruth authored
      This is a very minimal move support - it leaves the moved-from object in
      a zombie state that is only valid for destruction and move assignment.
      This seems fine to me, and leaving it in the default constructed state
      would require adding more state to the object and potentially allocating
      memory (!!!) and so seems like a Bad Idea.
      
      llvm-svn: 245192
      b596ba23
  2. Aug 16, 2015
  3. Aug 15, 2015
    • Yaron Keren's avatar
      Try to appease VS 2015 warnings from http://reviews.llvm.org/D11890 · dfb655fe
      Yaron Keren authored
      ByteSize and BitSize should not be size_t but unsigned, considering
      
      1) They are at most 2^16 and 2^19, respectively.
      2) BitSize is an argument to Type::getIntNTy which takes unsigned.
      
      Also, use the correct utostr instead itostr and cache the string result.
      
      Thanks to James Touton for reporting this!
      
      llvm-svn: 245167
      dfb655fe
    • Sanjay Patel's avatar
    • Simon Pilgrim's avatar
      d65ace84
    • Sanjay Patel's avatar
      fix typos; NFC · 3b7e3677
      Sanjay Patel authored
      llvm-svn: 245164
      3b7e3677
    • Sanjay Patel's avatar
      add test case to show current codegen · 9f6c7ddd
      Sanjay Patel authored
      llvm-svn: 245163
      9f6c7ddd
    • Davide Italiano's avatar
      [Sema] Be consistent about diagnostic wording: always use "cannot". · 32cbff78
      Davide Italiano authored
      Discussed with Richard Smith.
      
      llvm-svn: 245162
      32cbff78
    • Yaron Keren's avatar
      Silence VS2015 warning. · 8b2a031c
      Yaron Keren authored
      Patch by James Touton!
      
      http://reviews.llvm.org/D11890
      
      llvm-svn: 245161
      8b2a031c
    • Simon Pilgrim's avatar
      [DAGCombiner] Attempt to mask vectors before zero extension instead of after. · 0750c846
      Simon Pilgrim authored
      For cases where we TRUNCATE and then ZERO_EXTEND to a larger size (often from vector legalization), see if we can mask the source data and then ZERO_EXTEND (instead of after a ANY_EXTEND). This can help avoid having to generate a larger mask, and possibly applying it to several sub-vectors.
      
      (zext (truncate x)) -> (zext (and(x, m))
      
      Includes a minor patch to SystemZ to better recognise 8/16-bit zero extension patterns from RISBG bit-extraction code.
      
      This is the first of a number of minor patches to help improve the conversion of byte masks to clear mask shuffles.
      
      Differential Revision: http://reviews.llvm.org/D11764
      
      llvm-svn: 245160
      0750c846
    • Tobias Grosser's avatar
      AST Generation Paper published in TOPLAS · 234a4827
      Tobias Grosser authored
      The July issue of TOPLAS contains a 50 page discussion of the AST generation
      techniques used in Polly. This discussion gives not only an in-depth
      description of how we (re)generate an imperative AST from our polyhedral based
      mathematical program description, but also gives interesting insights about:
      
      - Schedule trees: A tree-based mathematical program description that enables us
      to perform loop transformations on an abstract level, while issues like the
      generation of the correct loop structure and loop bounds will be taken care of
      by our AST generator.
      
      - Polyhedral unrolling: We discuss techniques that allow the unrolling of
      non-trivial loops in the context of parameteric loop bounds, complex tile
      shapes and conditionally executed statements. Such unrolling support enables
      the generation of predicated code e.g. in the context of GPGPU computing.
      
      - Isolation for full/partial tile separation: We discuss native support for
      handling full/partial tile separation and -- in general -- native support for
      isolation of boundary cases to enable smooth code generation for core
      computations.
      
      - AST generation with modulo constraints: We discuss how modulo mappings are
      lowered to efficient C/LLVM code.
      
      - User-defined constraint sets for run-time checks We discuss how arbitrary
      sets of constraints can be used to automatically create run-time checks that
      ensure a set of constrainst actually hold. This feature is very useful to
      verify at run-time various assumptions that have been taken program
      optimization.
      
      Polyhedral AST generation is more than scanning polyhedra
      Tobias Grosser, Sven Verdoolaege, Albert Cohen
      ACM Transations on Programming Languages and Systems (TOPLAS), 37(4), July 2015
      
      llvm-svn: 245157
      234a4827
    • Tobias Grosser's avatar
      Update link to Polly paper · 4c455425
      Tobias Grosser authored
      By going through my personal website, people can go directly to the paper.
      
      llvm-svn: 245156
      4c455425
    • Chandler Carruth's avatar
      [PM/AA] Delete the LibCallAliasAnalysis and all the associated · e8824e30
      Chandler Carruth authored
      infrastructure.
      
      This AA was never used in tree. It's infrastructure also completely
      overlaps that of TargetLibraryInfo which is used heavily by BasicAA to
      achieve similar goals to those stated for this analysis.
      
      As has come up in several discussions, the use case here is still really
      important, but this code isn't helping move toward that use case. Any
      progress on better supporting rich AA information for runtime library
      environments would likely be better off starting from scratch or
      starting from TargetLibraryInfo than from this base.
      
      Differential Revision: http://reviews.llvm.org/D12028
      
      llvm-svn: 245155
      e8824e30
    • James Y Knight's avatar
      Tiny cleanup: move some Triple variables up to the top of the · 2db38f33
      James Y Knight authored
      function, and remove a duplicate var.
      
      llvm-svn: 245154
      2db38f33
    • David Majnemer's avatar
      [MS ABI] Switch catchpad/cleanuppad to use tokens · e888a2f6
      David Majnemer authored
      llvm-svn: 245153
      e888a2f6
    • David Majnemer's avatar
      [IR] Update CreateCatchRet to take a return value · ad28aaa1
      David Majnemer authored
      llvm-svn: 245152
      ad28aaa1
    • Jason Molenda's avatar
      Update DynamicRegisterInfo::SetRegisterInfo to accept eh_frame register · a3664138
      Jason Molenda authored
      numbers in the key name "ehframe" or "eh_frame" in addition to the deprecated
      "gcc" name (e.g. from a plugin.process.gdb-remote.target-definition-file
      python file).
      
      llvm-svn: 245151
      a3664138
    • Matt Arsenault's avatar
      AMDGPU/SI: Only look at live out SGPR defs · 588732bd
      Matt Arsenault authored
      When trying to fix SGPR live ranges, skip defs that are
      killed in the same block as the def. I don't think
      we need to worry about these cases as long as the
      live ranges of the SGPRs in dominating blocks are
      correct.
      
      This reduces the number of elements the second
      loop over the function needs to look at, and makes
      it generally easier to understand. The second loop
      also only considers if the live range is live
      in to a block, which logically means it
      must have been live out from another.
      
      llvm-svn: 245150
      588732bd
    • David Majnemer's avatar
      [IR] Give catchret an optional 'return value' operand · 0bc0eef7
      David Majnemer authored
      Some personality routines require funclet exit points to be clearly
      marked, this is done by producing a token at the funclet pad and
      consuming it at the corresponding ret instruction.  CleanupReturnInst
      already had a spot for this operand but CatchReturnInst did not.
      Other personality routines don't need to use this which is why it has
      been made optional.
      
      llvm-svn: 245149
      0bc0eef7
Loading