1. Nov 30, 2023
    • Jeremy Morse's avatar
      [DebugInfo][RemoveDIs] Extract DPValues in CodeExtractor like dbg.values (#73252) · 3bf72bf4
      Jeremy Morse authored
      CodeExtractor shifts dbg.value intrinsics out of the region being
      extracted and updates them to be appropriate in the extracted function.
      With new non-intrinsic variable locations, we need to manually do this
      too, with DPValues.
      
      Most of this patch shifts and refactors some utilities in
      fixupDebugInfoPostExtraction so that we can add a single extra helper
      lambda that iterates over DPValues and applies update-utilities. We also
      have to assign the IsNewDbgInfoFormat flag in a bunch of places -- this
      normally gets set the moment you insert a block into a function (or
      function into a module), however a few blocks are constructed here
      before being inserted, thus we have to do some manual setup.
      
      Tested via LoopExtractor_alloca.ll, which invokes debugify.
      3bf72bf4
    • Nick Desaulniers's avatar
      [X86InstrInfo] support memfold on spillable inline asm (#70832) · b0533598
      Nick Desaulniers authored
      This enables -regalloc=greedy to memfold spillable inline asm
      MachineOperands.
      
      Because no instruction selection framework marks MachineOperands as
      spillable, no language frontend can observe functional changes from this
      patch. That will change once instruction selection frameworks are
      updated.
      
      Link: https://github.com/llvm/llvm-project/issues/20571
      b0533598
    • Mats Petersson's avatar
      [flang] Make adapt.valuebyref attribute work again (#73658) · 0ccef6a7
      Mats Petersson authored
      This got "lost" in the HLFIR transformation. This patch applies the old
      attribute to the AssociateOp that needs it, and forwards it to the
      AllocaOp that is generated when lowering to FIR.
      0ccef6a7
    • jyu2-git's avatar
      Fix accsessing "PresentModifierLocs" array beyond its end. (#73579) · 953d675c
      jyu2-git authored
      Currently PresentModifierLocs defined with size DefaultmapKindNum; where
      DefaultmapKindNum = OMPC_DEFAULTMAP_pointer + 1
      
      Before 5.0 variable-category can not be omitted. For the test like
      \#pragma omp target map(tofrom: errors) defaultmap(present)
      
      error would be mitted.
      
      After 5.0 that is allowd.
      
      When try to:
      PresentModifierLocs[DMC->getDefaultmapKind()] =
                    DMC->getDefaultmapModifierLoc();
      It is accessed beyond array end.
      
      To fix this using OMPC_DEFAULTMAP_unknow instead OMPC_DEFAULTMAP_poiner.
      953d675c
  2. Nov 29, 2023