1. Apr 08, 2020
  2. Apr 07, 2020
    • Nikita Popov's avatar
      [RDA] Avoid full reprocessing of blocks in loops (NFCI) · 259649a5
      Nikita Popov authored
      RDA sometimes needs to visit blocks twice, to take into account
      reaching defs coming in along loop back edges. Currently it handles
      repeated visitation the same way as usual, which means that it will
      scan through all instructions and their reg unit defs again. Not
      only is this very inefficient, it also means that all reaching defs
      in loops are going to be inserted twice.
      
      We can do much better than this. The only thing we need to handle
      is a new reaching def from a predecessor, which either needs to be
      prepended to the reaching definitions (if there was no reaching def
      from a predecessor), or needs to replace an existing predecessor
      reaching def, if it is more recent. Since D77508 we only store the
      most recent predecessor reaching def, so that's the only one that
      may need updating.
      
      This also has the nice side-effect that reaching definitions are
      now automatically sorted and unique, so drop the llvm::sort() call
      in favor of an assertion.
      
      Differential Revision: https://reviews.llvm.org/D77511
      259649a5
    • Nikita Popov's avatar
      [RDA] Don't pass down TraversedMBB (NFC) · 76e987b3
      Nikita Popov authored
      Only pass the MachineBasicBlock itself down to helper methods,
      they don't need to know about traversal. Move the debug print
      into the main method.
      76e987b3
    • Nikita Popov's avatar
      [RDA] Avoid inserting duplicate reaching defs (NFCI) · 361c29d7
      Nikita Popov authored
      An instruction may define the same reg unit multiple times,
      avoid inserting the same reaching def multiple times in that case.
      
      Also print the reg unit, rather than the super-register, in the
      debug code.
      361c29d7
    • David Tenty's avatar
      [NFC][PowerPC] Cleanup 64-bit and Darwin CalleeSavedRegs · b9245f14
      David Tenty authored
      Summary:
      - Remove the no longer used Darwin CalleeSavedRegs
      - Combine the SVR464 callee saved regs and AIX64 since the two are (and should be) identical into PPC64
      - Update tests for 64-bit CSR change
      
      Reviewers: sfertile, ZarkoCA, cebowleratibm, jasonliu, #powerpc
      
      Reviewed By: sfertile
      
      Subscribers: wuzish, nemanjai, hiraditya, kbarton, shchenz, llvm-commits
      
      Tags: #llvm
      
      Differential Revision: https://reviews.llvm.org/D77235
      b9245f14
    • diggerlin's avatar
      [NFC][XCOFF] refactor readobj/XCOFFDumper.cpp · 3aa08494
      diggerlin authored
      SUMMARY:
      
      refactor readobj/XCOFFDumper.cpp with helper function getAlignmentLog2() , getSymbolType(), isLabel().
      
      Reviewers: Hubert Tong, James Henderson
      Subscribers: rupprecht, seiyai,hiradityu
      
      Differential Revision: https://reviews.llvm.org/D77562
      3aa08494
    • Dmitry Vyukov's avatar
      tsan: fix Go/ppc build · 2db63723
      Dmitry Vyukov authored
      PPC now requires ReExec due to ASLR.
      Pull in more functions for Go build.
      
      Suggested-by: Keith Randall (khr)
      2db63723