Skip to content
  1. Oct 26, 2018
    • Chijun Sima's avatar
      Teach the DominatorTree fallback to recalculation when applying updates to speedup JT (PR37929) · 32fd196c
      Chijun Sima authored
      Summary:
      This patch makes the dominatortree recalculate when applying updates with the size of the update vector larger than a threshold. Directly applying updates is usually slower than recalculating the whole domtree in this case. This patch fixes an issue which causes JT running slowly on some inputs.
      
      In bug 37929, the dominator tree is trying to apply 19,000+ updates several times, which takes several minutes.
      
      After this patch, the time used by DT.applyUpdates:
      
      | Input | Before (s) | After (s) | Speedup |
      | the 2nd Reproducer in 37929 | 297 | 0.15 | 1980x |
      | clang-5.0.0.0.bc | 9.7 | 4.3 | 2.26x |
      | clang-5.0.0.4.bc | 11.6 | 2.6 | 4.46x |
      
      Reviewers: kuhar, brzycki, trentxintong, davide, dmgreen, grosser
      
      Reviewed By: kuhar, brzycki
      
      Subscribers: kristina, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D53245
      
      llvm-svn: 345353
      32fd196c
    • Jonas Paulsson's avatar
      [SystemZ] Implement SystemZOperand::print() · dda46307
      Jonas Paulsson authored
      SystemZAsmParser can now handle -debug by printing the operands neatly to the
      output stream. Before this patch this lead to an llvm_unreachable().
      
      It seems that now '-mllvm -debug' does not cause any crashes anywhere (at
      least not on SPEC).
      
      Review: Ulrich Weigand
      https://reviews.llvm.org/D53328
      
      llvm-svn: 345349
      dda46307
    • Zachary Turner's avatar
      Dump public symbol records in pdb2yaml mode · ed2597e9
      Zachary Turner authored
      llvm-svn: 345348
      ed2597e9
    • Jonas Paulsson's avatar
      [SystemZ] Pass the DAG pointer from SystemZAddressingMode::dump(). · e2c5cbc1
      Jonas Paulsson authored
      In order to print the IR slot number for the memory operand, the DAG pointer
      must be passed to SDNode::dump().
      
      The isel-debug.ll test updated to also check for the IR Value reference being
      printed correctly.
      
      Review: Ulrich Weigand
      https://reviews.llvm.org/D53333
      
      llvm-svn: 345347
      e2c5cbc1
    • Heejin Ahn's avatar
      Reland "[WebAssembly] LSDA info generation" · 24faf859
      Heejin Ahn authored
      Summary:
      This adds support for LSDA (exception table) generation for wasm EH.
      Wasm EH mostly follows the structure of Itanium-style exception tables,
      with one exception: a call site table entry in wasm EH corresponds to
      not a call site but a landing pad.
      
      In wasm EH, the VM is responsible for stack unwinding. After an
      exception occurs and the stack is unwound, the control flow is
      transferred to wasm 'catch' instruction by the VM, after which the
      personality function is called from the compiler-generated code. (Refer
      to WasmEHPrepare pass for more information on this part.)
      
      This patch:
      - Changes wasm.landingpad.index intrinsic to take a token argument, to
      make this 1:1 match with a catchpad instruction
      - Stores landingpad index info and catch type info MachineFunction in
      before instruction selection
      - Lowers wasm.lsda intrinsic to an MCSymbol pointing to the start of an
      exception table
      - Adds WasmException class with overridden methods for table generation
      - Adds support for LSDA section in Wasm object writer
      
      Reviewers: dschuff, sbc100, rnk
      
      Subscribers: mgorny, jgravelle-google, sunfish, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D52748
      
      llvm-svn: 345345
      24faf859
    • Heejin Ahn's avatar
      [WebAssembly] Support EH instructions in InstPrinter · 3103d3dc
      Heejin Ahn authored
      Summary: This adds support for exception handling instructions to InstPrinter.
      
      Reviewers: dschuff, aardappel
      
      Subscribers: sbc100, jgravelle-google, sunfish, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D53634
      
      llvm-svn: 345343
      3103d3dc
    • Jonas Paulsson's avatar
      Fix in MachineOperand::printIRValueReference(). · f213f81d
      Jonas Paulsson authored
      Handle the case where getCurrentFunction() returns nullptr by passing -1 to
      printIRSlotNumber(). This will result in <badref> being printed instead of an
      assertion failure.
      
      Review: Francis Visoiu Mistrih
      https://reviews.llvm.org/D53333
      
      llvm-svn: 345342
      f213f81d
    • Bryan Chan's avatar
      [AArch64] Implement FP16FML intrinsics · f0923f16
      Bryan Chan authored
      Add LLVM intrinsics for the ARMv8.2-A FP16FML vector-form instructions. Add a
      DAG pattern to define the indexed-form intrinsics in terms of the vector-form
      ones, similarly to how the Dot Product intrinsics were implemented.
      
      Based on a patch by Gao Yiling.
      
      Differential Revision: https://reviews.llvm.org/D53632
      
      llvm-svn: 345337
      f0923f16
    • Heejin Ahn's avatar
      Delete test case. Assertions can't be tested. · 8370a95d
      Heejin Ahn authored
      llvm-svn: 345336
      8370a95d
    • Heejin Ahn's avatar
      Tidy up test case · cc719ba0
      Heejin Ahn authored
      llvm-svn: 345335
      cc719ba0
    • Heejin Ahn's avatar
      Address comments · 1d13e6be
      Heejin Ahn authored
      - Add llvm-mc test case (and delete the old one)
      - Change report_fatal_error to assertions
      
      llvm-svn: 345334
      1d13e6be
    • Heejin Ahn's avatar
      [WebAssembly] Error out when block/loop markers mismatch · 1147d914
      Heejin Ahn authored
      Summary:
      Currently InstPrinter ignores if there are mismatches between block/loop
      and end markers by skipping the case if ControlFlowStack is empty. I
      guess it is better to explicitly error out in this case, because this
      signals invalid input.
      
      Reviewers: aardappel
      
      Subscribers: dschuff, sbc100, jgravelle-google, sunfish, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D53620
      
      llvm-svn: 345333
      1147d914
    • Jonas Paulsson's avatar
      [SystemZ] NFC reformatting in SystemZTargetTransformInfo.cpp · 2b280ea6
      Jonas Paulsson authored
      Some lines more than 80 characters long reformatted.
      
      llvm-svn: 345331
      2b280ea6
    • Jonas Paulsson's avatar
      [SystemZ] Improve getMemoryOpCost() to find foldable loads that are converted. · b7caa809
      Jonas Paulsson authored
      The SystemZ backend can do arithmetic of memory by loading and then extending
      one of the operands. Similarly, a load + truncate can be folded into an
      operand.
      
      This patch improves the SystemZ TTI cost function to recognize this.
      
      Review: Ulrich Weigand
      https://reviews.llvm.org/D52692
      
      llvm-svn: 345327
      b7caa809
    • David Blaikie's avatar
      DebugInfo: Explain why DW_LLE_(GNU_)startx_length is used · 73c2f197
      David Blaikie authored
      This isn't the most object-size efficient encoding, but it's the only
      one GDB supports for the pre-standard fission format. I've written fixes
      for this twice now... - so perhaps this comment will help me remember
      why neither of these have been committed and why I shouldn't try to
      write a third fix another year from now...
      
      llvm-svn: 345326
      73c2f197
    • Sanjay Patel's avatar
      [x86] add tests for missed load folding; NFC · c14aafda
      Sanjay Patel authored
      llvm-svn: 345325
      c14aafda
  2. Oct 25, 2018
Loading