1. 10 Jul, 2020 1 commit
    • Marcel Koch's avatar
      [!394] Fixup CSE · d506f728
      Marcel Koch authored
      Merge branch 'bugfix/cse-fixup' into 'master'
      
      See merge request [!394]
      
        [!394]: Noneextensions/dune-codegen/merge_requests/394
      d506f728
  2. 09 Jul, 2020 8 commits
    • Dominic Kempf's avatar
      pep8 · fe23581b
      Dominic Kempf authored
      fe23581b
    • Marcel Koch's avatar
      use inplace call for vcl load/store · 15000738
      Marcel Koch authored
      15000738
    • Marcel Koch's avatar
      add inplace call assignment · 7ffbb7d1
      Marcel Koch authored
      this instructions works like a `CallInstruction` except that it knows which arguments are modified in place
      7ffbb7d1
    • Dominic Kempf's avatar
    • Dominic Kempf's avatar
      [!393] Do not use deprecated Python version checking · 4ab9e36f
      Dominic Kempf authored
      Merge branch 'cleanup/version-check' into 'master'
      
      ref:extensions/dune-codegen\> Supersedes [!371]
      
      See merge request [!393]
      
        [!371]: gitlab.dune-project.org/NoneNone/merge_requests/371
        [!393]: gitlab.dune-project.org/extensions/dune-codegen/merge_requests/393
      4ab9e36f
    • Dominic Kempf's avatar
      [!379] loop invariant code motion for blockstructured meshes · f24660cd
      Dominic Kempf authored
      Merge branch 'feature/licm' into 'master'
      
      ref:extensions/dune-codegen\> This implements a simple 'loopinvariant code
      motion' algorithm for blockstructured meshes, based off [!329].
      
      The idea is to find out the minimal iname set for each sub expression and then
      substract these iname from the iname set of the current instruction to decide
      if an expression should be hoisted out.
      
      Todo:
      
      -   [x] handle cse within cse
      -   [ ] handle multidimensional cse
      -   [ ] find terms like `a * b * c; a * b * d -> _t = a * b; _t * c; _t * d`
          -   currently these are only found if `(a * b) * c; (a * b) * d`
      -   [x] handle complicated loop nestings correctly, for example jacobian
          kernels
          -   currently it tries to do licm, if that results in kernels loopy can't
              schedule, then it falls back to the previous cse implementation
      
      A full documentation of the implementation can be found in the wiki.
      
      See merge request [!379]
      
        [!329]: gitlab.dune-project.org/NoneNone/merge_requests/329
        [!379]: gitlab.dune-project.org/extensions/dune-codegen/merge_requests/379
      f24660cd
    • Dominic Kempf's avatar
      3ace0897
    • Dominic Kempf's avatar
      [!388] Work with installed library · 2beeb059
      Dominic Kempf authored
      Merge branch 'bugfix/installed-library' into 'master'
      
      ref:extensions/dune-codegen\> So far, I did not care much about how
      dune-codegen works when installed. I am now packaging it for Spack and a few
      more issues arose.
      
      Most notably, I removed the line from CMakeLists.txt that always sets
      DUNE_PYTHON_INSTALL_EDITABLE=1. That means, that we need to add it to our
      options files @rhess @marcel.koch
      
      See merge request [!388]
      
        [!388]: gitlab.dune-project.org/extensions/dune-codegen/merge_requests/388
      2beeb059
  3. 29 Jun, 2020 1 commit
  4. 25 Jun, 2020 1 commit
  5. 23 Jun, 2020 2 commits
  6. 22 Jun, 2020 2 commits
  7. 10 Jun, 2020 8 commits
  8. 08 Jun, 2020 3 commits
  9. 02 Jun, 2020 13 commits
  10. 28 May, 2020 1 commit