1. Oct 24, 2020
  2. Oct 23, 2020
    • Paulo Matos's avatar
      [WebAssembly] Implementation of (most) table instructions · 69e2797e
      Paulo Matos authored
      Implementation of instructions table.get, table.set, table.grow,
      table.size, table.fill, table.copy.
      
      Missing instructions are table.init and elem.drop as they deal with
      element sections which are not yet implemented.
      
      Added more tests to tables.s
      
      Differential Revision: https://reviews.llvm.org/D89797
      69e2797e
    • Sourabh Singh Tomar's avatar
      [flang][OpenMP] Upstream lowering of OpenMP `Flush` construct · e7d37742
      Sourabh Singh Tomar authored
      Note: This patch reflects the work that can be upstreamed from PR's(merged):
      
      - https://github.com/flang-compiler/f18-llvm-project/pull/476
      
      Reviewed By: kiranchandramohan, clementval
      
      Differential Revision: https://reviews.llvm.org/D90048
      e7d37742
    • Jeremy Morse's avatar
      [DebugInstrRef] Handle DBG_INSTR_REFs use-before-defs in LiveDebugValues · b1b2c6ab
      Jeremy Morse authored
      Deciding where to place debugging instructions when normal instructions
      sink between blocks is difficult -- see PR44117. Dealing with this with
      instruction-referencing variable locations is simple: we just tolerate
      DBG_INSTR_REFs referring to values that haven't been computed yet. This
      patch adds support into InstrRefBasedLDV to record when a variable value
      appears in the middle of a block, and should have a DBG_VALUE added when it
      appears (a debug use before def).
      
      While described simply, this relies heavily on the value-propagation
      algorithm in InstrRefBasedLDV. The implementation doesn't attempt to verify
      the location of a value unless something non-trivial occurs to merge
      variable values in vlocJoin. This means that a variable with a value that
      has no location can retain it across all control flow (including loops).
      It's only when another debug instruction specifies a different variable
      value that we have to check, and find there's no location.
      
      This property means that if a machine value is defined in a block dominated
      by a DBG_INSTR_REF that refers to it, all the successor blocks can
      automatically find a location for that value (if it's not clobbered). Thus
      in a sense, InstrRefBasedLDV is already supporting and implementing
      use-before-defs. This patch allows us to specify a variable location in the
      block where it's defined.
      
      When loading live-in variable locations, TransferTracker currently discards
      those where it can't find a location for the variable value. However, we
      can tell from the machine value number whether the value is defined in this
      block. If it is, add it to a set of use-before-def records. Then, once the
      relevant instruction has been processed, emit a DBG_VALUE immediately after
      it.
      
      Differential Revision: https://reviews.llvm.org/D85775
      b1b2c6ab
    • Jay Foad's avatar
      [AMDGPU] Add simplification/combines for llvm.amdgcn.fma.legacy · 958130df
      Jay Foad authored
      This follows on from D89558 which added the new intrinsic and D88955
      which added similar combines for llvm.amdgcn.fmul.legacy.
      
      Differential Revision: https://reviews.llvm.org/D90028
      958130df
    • Denis Antrushin's avatar
      Revert "[Statepoints] Allow deopt GC pointer on VReg if gc-live bundle is empty." · 4f7ee559
      Denis Antrushin authored
      Downstream testing revealed some problems with this patch.
      Reverting while investigating.
      This reverts commit 2b96dceb.
      4f7ee559
    • Nicolai Hähnle's avatar
      CfgInterface: rename interface() to getInterface() · a74fc481
      Nicolai Hähnle authored
      Apparently there are some Microsoft headers which
      `#define interface struct`. This method is only used
      in pending changes so far.
      
      Change-Id: Ic68fe8e1958ec9b015f817ee218431f4146b888a
      a74fc481