Skip to content
  1. Nov 04, 2019
  2. Oct 11, 2019
  3. Aug 15, 2019
  4. Feb 11, 2019
  5. Jan 23, 2019
    • Hideki Saito's avatar
      · 4e4ecae0
      Hideki Saito authored
      [LV][VPlan] Change to implement VPlan based predication for
      VPlan-native path
      
      Context: Patch Series #2 for outer loop vectorization support in LV
      using VPlan. (RFC:
      http://lists.llvm.org/pipermail/llvm-dev/2017-December/119523.html).
      
      Patch series #2 checks that inner loops are still trivially lock-step
      among all vector elements. Non-loop branches are blindly assumed as
      divergent.
      
      Changes here implement VPlan based predication algorithm to compute
      predicates for blocks that need predication. Predicates are computed
      for the VPLoop region in reverse post order. A block's predicate is
      computed as OR of the masks of all incoming edges. The mask for an
      incoming edge is computed as AND of predecessor block's predicate and
      either predecessor's Condition bit or NOT(Condition bit) depending on
      whether the edge from predecessor block to the current block is true
      or false edge.
      
      Reviewers: fhahn, rengolin, hsaito, dcaballe
      
      Reviewed By: fhahn
      
      Patch by Satish Guggilla, thanks!
      
      Differential Revision: https://reviews.llvm.org/D53349
      
      llvm-svn: 351990
      4e4ecae0
  6. Jan 19, 2019
    • Chandler Carruth's avatar
      Update the file headers across all of the LLVM projects in the monorepo · 2946cd70
      Chandler Carruth authored
      to reflect the new license.
      
      We understand that people may be surprised that we're moving the header
      entirely to discuss the new license. We checked this carefully with the
      Foundation's lawyer and we believe this is the correct approach.
      
      Essentially, all code in the project is now made available by the LLVM
      project under our new license, so you will see that the license headers
      include that license only. Some of our contributors have contributed
      code under our old license, and accordingly, we have retained a copy of
      our old license notice in the top-level files in each project and
      repository.
      
      llvm-svn: 351636
      2946cd70
  7. Nov 14, 2018
    • Florian Hahn's avatar
      [VPlan, SLP] Add simple SLP analysis on top of VPlan. · 09e516c5
      Florian Hahn authored
      This patch adds an initial implementation of the look-ahead SLP tree
      construction described in 'Look-Ahead SLP: Auto-vectorization in the Presence
      of Commutative Operations, CGO 2018 by Vasileios Porpodas, Rodrigo C. O. Rocha,
      Luís F. W. Góes'.
      
      It returns an SLP tree represented as VPInstructions, with combined
      instructions represented as a single, wider VPInstruction.
      
      This initial version does not support instructions with multiple
      different users (either inside or outside the SLP tree) or
      non-instruction operands; it won't generate any shuffles or
      insertelement instructions.
      
      It also just adds the analysis that builds an SLP tree rooted in a set
      of stores. It does not include any cost modeling or memory legality
      checks. The plan is to integrate it with VPlan based cost modeling, once
      available and to only apply it to operations that can be widened.
      
      A follow-up patch will add a support for replacing instructions in a
      VPlan with their SLP counter parts.
      
      Reviewers: Ayal, mssimpso, rengolin, mkuper, hfinkel, hsaito, dcaballe, vporpo, RKSimon, ABataev
      
      Reviewed By: rengolin
      
      Differential Revision: https://reviews.llvm.org/D4949
      
      llvm-svn: 346857
      09e516c5
  8. Jul 31, 2018
    • Diego Caballero's avatar
      [VPlan] Introduce VPLoopInfo analysis. · 3587150f
      Diego Caballero authored
      The patch introduces loop analysis (VPLoopInfo/VPLoop) for VPBlockBases.
      This analysis will be necessary to perform some H-CFG transformations and
      detect and introduce regions representing a loop in the H-CFG.
      
      Reviewers: fhahn, rengolin, mkuper, hfinkel, mssimpso
      
      Reviewed By: fhahn 
      
      Differential Revision: https://reviews.llvm.org/D48816
      
      llvm-svn: 338346
      3587150f
  9. Jul 30, 2018
    • Diego Caballero's avatar
      [VPlan] Introduce VPlan-based dominator analysis. · 2a34ac86
      Diego Caballero authored
      The patch introduces dominator analysis for VPBlockBases and extend
      VPlan's GraphTraits specialization with the required interfaces. Dominator
      analysis will be necessary to perform some H-CFG transformations and
      to introduce VPLoopInfo (LoopInfo analysis on top of the VPlan representation).
      
      Reviewers: fhahn, rengolin, mkuper, hfinkel, mssimpso
      
      Reviewed By: fhahn
      
      Differential Revision: https://reviews.llvm.org/D48815
      
      llvm-svn: 338310
      2a34ac86
  10. Jul 11, 2018
  11. Jul 10, 2018
    • Evgeniy Stepanov's avatar
      Revert r336653 "[VPlan] Add VPlanTestBase.h with helper class to build VPlan for tests." · 3306a498
      Evgeniy Stepanov authored
      Memory leaks in tests.
      http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/6289/steps/check-llvm%20asan/logs/stdio
      
      Direct leak of 192 byte(s) in 1 object(s) allocated from:
          #0 0x554ea8 in operator new(unsigned long) /b/sanitizer-x86_64-linux-bootstrap/build/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:106
          #1 0x56cef1 in llvm::VPlanTestBase::doAnalysis(llvm::Function&) /b/sanitizer-x86_64-linux-bootstrap/build/llvm/unittests/Transforms/Vectorize/VPlanTestBase.h:53:14
          #2 0x56bec4 in llvm::VPlanTestBase::buildHCFG(llvm::BasicBlock*) /b/sanitizer-x86_64-linux-bootstrap/build/llvm/unittests/Transforms/Vectorize/VPlanTestBase.h:57:3
          #3 0x571f1e in llvm::(anonymous namespace)::VPlanHCFGTest_testVPInstructionToVPRecipesInner_Test::TestBody() /b/sanitizer-x86_64-linux-bootstrap/build/llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp:119:15
          #4 0xed2291 in testing::Test::Run() /b/sanitizer-x86_64-linux-bootstrap/build/llvm/utils/unittest/googletest/src/gtest.cc
          #5 0xed44c8 in testing::TestInfo::Run() /b/sanitizer-x86_64-linux-bootstrap/build/llvm/utils/unittest/googletest/src/gtest.cc:2656:11
          #6 0xed5890 in testing::TestCase::Run() /b/sanitizer-x86_64-linux-bootstrap/build/llvm/utils/unittest/googletest/src/gtest.cc:2774:28
          #7 0xef3634 in testing::internal::UnitTestImpl::RunAllTests() /b/sanitizer-x86_64-linux-bootstrap/build/llvm/utils/unittest/googletest/src/gtest.cc:4649:43
          #8 0xef27e0 in testing::UnitTest::Run() /b/sanitizer-x86_64-linux-bootstrap/build/llvm/utils/unittest/googletest/src/gtest.cc
          #9 0xebbc23 in RUN_ALL_TESTS /b/sanitizer-x86_64-linux-bootstrap/build/llvm/utils/unittest/googletest/include/gtest/gtest.h:2233:46
          #10 0xebbc23 in main /b/sanitizer-x86_64-linux-bootstrap/build/llvm/utils/unittest/UnitTestMain/TestMain.cpp:51
          #11 0x7f65569592e0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202e0)
      
      and more.
      
      llvm-svn: 336718
      3306a498
    • Florian Hahn's avatar
      [VPlan] Add VPlanTestBase.h with helper class to build VPlan for tests. · 8263975c
      Florian Hahn authored
      Reviewers: dcaballe, hsaito, rengolin
      
      Reviewed By: dcaballe
      
      Differential Revision: https://reviews.llvm.org/D49032
      
      llvm-svn: 336653
      8263975c
  12. Jul 09, 2018
    • Diego Caballero's avatar
      [VPlan][LV] Introduce condition bit in VPBlockBase · d0953014
      Diego Caballero authored
      This patch introduces a VPValue in VPBlockBase to represent the condition
      bit that is used as successor selector when a block has multiple successors.
      This information wasn't necessary until now, when we are about to introduce
      outer loop vectorization support in VPlan code gen.
      
      Reviewers: fhahn, rengolin, mkuper, hfinkel, mssimpso
      
      Reviewed By: fhahn
      
      Differential Revision: https://reviews.llvm.org/D48814
      
      llvm-svn: 336554
      d0953014
  13. Jun 19, 2018
  14. Jun 18, 2018
Loading