Skip to content
  1. Aug 30, 2012
  2. Aug 27, 2012
  3. Aug 24, 2012
  4. Aug 21, 2012
    • Tobias Grosser's avatar
      autoconf: Only define GPGPU_CODEGEN, if that feature is requested · 1df52897
      Tobias Grosser authored
      Before we defined GPGPU_CODEGEN to '0', which does not disable the relevant code
      as we just check if that value is defined at all. We now follow the cmake
      approach and only define GPGPU_CODEGEN, if the feature should be enabled.
      
      Reported by: Sebastian Pop <spop@codeaurora.org>
      
      llvm-svn: 162275
      1df52897
  5. Aug 15, 2012
  6. Aug 03, 2012
    • Tobias Grosser's avatar
      Add preliminary implementation for GPGPU code generation. · 6217e18a
      Tobias Grosser authored
      Translate the selected parallel loop body into a ptx string and run it with the
      cuda driver API. We limit this preliminary implementation to target the
      following special test cases:
      
        - Support only 2-dimensional parallel loops with or without only one innermost
          non-parallel loop.
        - Support write memory access to only one array in a SCoP.
      
      The patch was committed with smaller changes to the build system:
      
      There is now a flag to enable gpu code generation explictly. This was required
      as we need the llvm.codegen() patch applied on the llvm sources, to compile this
      feature correctly. Also, enabling gpu code generation does not require cuda.
      This requirement was removed to allow 'make polly-test' runs, even without an
      installed cuda runtime.
      
      Contributed by:  Yabin Hu  <yabin.hwu@gmail.com>
      
      llvm-svn: 161239
      6217e18a
    • Tobias Grosser's avatar
      Remove 'using namespace llvm' from header file · 08ffdba6
      Tobias Grosser authored
      This fixes a conflict between polly::createIndVarSimplifyPass() and
      llvm::createIndVarSimplifyPass(), which causes problems on windows.
      
      Reported by:  Michael Kruse  <MichaelKruse@meinersbur.de
      
      llvm-svn: 161235
      08ffdba6
    • Tobias Grosser's avatar
      cmake: Fix building of Polly on Apple system · 5a2925c6
      Tobias Grosser authored
      The Apple linker fails by default, if some function calls can not be resolved at
      link time. However, all functions that are part of LLVM itself will not be
      linked into Polly, but will be provided by the compiler that Polly is loaded
      into.  Hence, during linking we need to ignore failures due to unresolved
      function calls.
      
      llvm-svn: 161234
      5a2925c6
  7. Aug 02, 2012
  8. Aug 01, 2012
  9. Jul 24, 2012
  10. Jul 16, 2012
    • Tobias Grosser's avatar
      Allow cast instructions within scops · 25184fe9
      Tobias Grosser authored
      Cast instruction do not have side effects and can consequently be part of a
      scop. We special cased them earlier, as they may be problematic within array
      subscripts or loop bounds. However, the scalar evolution validator already
      checks for them such that there is no need to also check the instructions within
      the basic blocks.  Checking them is actually overly conservative as the precence
      of casts may invalidate a scop, even though scalar evolution is not influenced
      by it.
      
      llvm-svn: 160261
      25184fe9
  11. Jul 13, 2012
    • Tobias Grosser's avatar
      Revert "Add preliminary implementation for GPGPU code generation." · 6cc23b07
      Tobias Grosser authored
      I did not take into account, that this patch fails to compile without the
      llvm.codegen patch applied. This breaks buildbots.
      
      I revert this until we found a solution to commit this without buildbots
      complaining.
      
      This reverts commit cb43ab80e94434e780a66be3b9a6ad466822fe33.
      
      llvm-svn: 160165
      6cc23b07
    • Tobias Grosser's avatar
      Add preliminary implementation for GPGPU code generation. · b299d281
      Tobias Grosser authored
      Translate the selected parallel loop body into a ptx string and run it
      with cuda driver API. We limit this preliminary implementation to
      target the following special test cases:
        - Support only 2-dimensional parallel loops with or without only one
          innermost non-parallel loop.
        - Support write memory access to only one array in a SCoP.
      
      Contributed by:  Yabin Hu <yabin.hwu@gmail.com>
      
      llvm-svn: 160164
      b299d281
  12. Jul 06, 2012
  13. Jul 05, 2012
  14. Jul 04, 2012
  15. Jul 03, 2012
  16. Jul 01, 2012
  17. Jun 29, 2012
  18. Jun 22, 2012
  19. Jun 11, 2012
  20. Jun 06, 2012
  21. Jun 05, 2012
    • Tobias Grosser's avatar
      CLooG: Do not take into account the context · baa1ac26
      Tobias Grosser authored
      CLooG and the CLooG based code generation does not yet correctly derive the
      types of the expressions, but just uses i64 for everything. This is incorrect,
      but works normally pretty well. However, the recent change of adding parameter
      bounds to the context made CLooG generate expressions that contain a lot of very
      large integers that possibly don't fit into an i64. This broke the code
      generation for several benchmarks.
      
      To get the CLooG based code generation working again, we just don't take into
      account any constraints in the context. This brings us back to the theoretical
      incorrect, but in practice generally correct code.
      
      The next step will be the isl based code generation. Here we will derive
      automatically correct types.
      
      llvm-svn: 158015
      baa1ac26
  22. May 30, 2012
  23. May 29, 2012
Loading