Skip to content
  1. Jan 18, 2019
  2. Jan 17, 2019
    • Matt Arsenault's avatar
      AMDGPU: Convert tests away from llvm.SI.load.const · 456b93b4
      Matt Arsenault authored
      llvm-svn: 351494
      456b93b4
    • Vedant Kumar's avatar
      [HotColdSplit] Allow outlining with live outputs · f529b507
      Vedant Kumar authored
      Prior to r348205, extracting code regions with live output values was
      disabled because of a miscompilation (PR39433). Lift the restriction as
      PR39433 has been addressed.
      
      Tested on LNT+externals, on a run of check-llvm in a stage2 build, and
      with a full build of iOS (with hot/cold splitting enabled).
      
      As a drive-by, remove an errant TODO.
      
      llvm-svn: 351492
      f529b507
    • Vedant Kumar's avatar
      [HotColdSplit] Consider resume instructions to be cold · b70e20db
      Vedant Kumar authored
      Resuming exception unwinding is roughly as unlikely as throwing an
      exception.
      
      Tested on LNT+externals (in particular, the C++ EH regression tests
      provide end-to-end test coverage), as well as with a full build of iOS.
      
      llvm-svn: 351491
      b70e20db
    • Vladimir Stefanovic's avatar
      [mips] Emit .reloc R_{MICRO}MIPS_JALR along with j(al)r(c) $25 · 3daf8bc9
      Vladimir Stefanovic authored
      The callee address is added as an optional operand (MCSymbol) in
      AdjustInstrPostInstrSelection() and then used by asm printer to insert:
      '.reloc tmplabel, R_MIPS_JALR, symbol
      tmplabel:'.
      Controlled with '-mips-jalr-reloc', default is true.
      
      Differential revision: https://reviews.llvm.org/D56694
      
      llvm-svn: 351485
      3daf8bc9
    • Vedant Kumar's avatar
      [HotColdSplit] Relax requirement that the cold sink block be extractable · 4541be06
      Vedant Kumar authored
      Relaxing this requirement creates opportunities to split code dominated
      by an EH pad.
      
      Tested on LNT+externals.
      
      llvm-svn: 351483
      4541be06
    • Vedant Kumar's avatar
      [HotColdSplit] Simplify tests by lowering their splitting thresholds · 32a014d0
      Vedant Kumar authored
      This gets rid of the brittle/mysterious calls to @sink()/@sideeffect()
      peppered throughout the test cases. They are no longer needed to force
      splitting to occur.
      
      llvm-svn: 351480
      32a014d0
    • Wei Mi's avatar
      [SampleFDO] Skip profile reading when flattened profile used in ThinLTO postlink · 3bcccdfe
      Wei Mi authored
      If the sample profile has no inlining hierachy information included, we call
      the sample profile is flattened. For flattened profile, in ThinLTO postlink
      phase, SampleProfileLoader's hot function inlining and profile annotation will
      do nothing, so it is better to save the effort to read in the profile and run
      the sample profile loader pass. It is helpful for reducing compile time when
      the flattened profile is huge.
      
      Differential Revision: https://reviews.llvm.org/D54819
      
      llvm-svn: 351476
      3bcccdfe
    • Reid Kleckner's avatar
      [InstCombine] Don't sink dynamic allocas · edd653bc
      Reid Kleckner authored
      Summary:
      InstCombine's sinking algorithm only thinks about memory. It doesn't
      think about non-memory constraints like stack object lifetime. It can
      sink dynamic allocas across a stacksave call, which may be used with
      stackrestore, which can incorrectly reduce the lifetime of the dynamic
      alloca.
      
      Fixes PR40365
      
      Reviewers: hfinkel, efriedma
      
      Subscribers: hiraditya, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D56872
      
      llvm-svn: 351475
      edd653bc
    • Sanjin Sijaric's avatar
      Fix the buildbot failure introduced by r351404 · 4d145029
      Sanjin Sijaric authored
      EXPENSIVE_CHECKS buildbots are failing due to r351404.
      
      Add x1 as live in to the funclet basic block for SEH funclets, as well as
      -verify-machineinstrs to the test case that triggered the failure.
      
      llvm-svn: 351472
      4d145029
    • Wouter van Oortmerssen's avatar
      [WebAssembly] Fixing 2 more symbol offset related tests. · 73a0c240
      Wouter van Oortmerssen authored
      llvm-svn: 351465
      73a0c240
    • Jonas Devlieghere's avatar
      [Test] Fix debug-loc-0.mir with EXPENSIVE_CHECKS · 032ef2dc
      Jonas Devlieghere authored
      The `llc` invocation was missing `-start-before=machine-cp`.
      
      llvm-svn: 351464
      032ef2dc
    • Wouter van Oortmerssen's avatar
      [WebAssembly] Fixed objdump not parsing function headers. · f3b762a0
      Wouter van Oortmerssen authored
      Summary:
      objdump was interpreting the function header containing the locals
      declaration as instructions. To parse these without injecting target
      specific code in objdump, MCDisassembler::onSymbolStart was added to
      be implemented by the WebAssembly implemention.
      
      WasmObjectFile now returns a code offset for the "address" of a symbol,
      rather than the index. This is also more in-line with what other
      targets do.
      
      Also ensured that the AsmParser correctly puts each function
      in its own segment to enable this test case.
      
      Reviewers: sbc100, dschuff
      
      Subscribers: jgravelle-google, aheejin, sunfish, rupprecht, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D56684
      
      llvm-svn: 351460
      f3b762a0
    • Teresa Johnson's avatar
      Revert "[ThinLTO] Add summary entries for index-based WPD" · 8d86f1ba
      Teresa Johnson authored
      Mistaken commit of something still under review!
      
      This reverts commit r351453.
      
      llvm-svn: 351455
      8d86f1ba
    • Teresa Johnson's avatar
      Add -dump-input=always to cfi-devirt test to debug flake · 0be9960f
      Teresa Johnson authored
      To help diagnose flaky bot failures in PR40351.
      
      llvm-svn: 351454
      0be9960f
    • Teresa Johnson's avatar
      [ThinLTO] Add summary entries for index-based WPD · 4fcf3b16
      Teresa Johnson authored
      Summary:
      If LTOUnit splitting is disabled, the module summary analysis computes
      the summary information necessary to perform single implementation
      devirtualization during the thin link with the index and no IR. The
      information collected from the regular LTO IR in the current hybrid WPD
      algorithm is summarized, including:
      1) For vtable definitions, record the function pointers and their offset
      within the vtable initializer (subsumes the information collected from
      IR by tryFindVirtualCallTargets).
      2) A record for each type metadata summarizing the vtable definitions
      decorated with that metadata (subsumes the TypeIdentiferMap collected
      from IR).
      
      Also added are the necessary bitcode records, and the corresponding
      assembly support.
      
      The index-based WPD will be sent as a follow-on.
      
      Depends on D53890.
      
      Reviewers: pcc
      
      Subscribers: mehdi_amini, Prazek, inglorion, eraman, steven_wu, dexonsmith, arphaman, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D54815
      
      llvm-svn: 351453
      4fcf3b16
    • James Henderson's avatar
      [llvm-readobj][ELF]Add demangling support · e50d9cb3
      James Henderson authored
      This change adds demangling support to the ELF side of llvm-readobj,
      under the switch --demangle/-C.
      
      The following places are demangled: symbol table dumps (static and
      dynamic), relocation dumps (static and dynamic), addrsig dumps, call
      graph profile dumps, and group section signature symbols.
      
      Although GNU readelf doesn't support demangling, it is still a useful
      feature to have, and brings it on a par with llvm-objdump's
      capabilities.
      
      This fixes https://bugs.llvm.org/show_bug.cgi?id=40054.
      
      Reviewed by: grimar, rupprecht
      
      Differential Revision: https://reviews.llvm.org/D56791
      
      llvm-svn: 351450
      e50d9cb3
    • Max Kazantsev's avatar
      [LoopSimplifyCFG] Form LCSSA when a parent loop becomes a sibling · 61a8d3fb
      Max Kazantsev authored
      During the transforms in LoopSimplifyCFG, when we remove a dead exiting edge, the
      parent loop may stop being reachable from the child loop, and therefore they become
      siblings. If the former child loop had uses of some values from its former parent loop,
      now such uses will require LCSSA Phis, even if they weren't needed before. So we must
      form LCSSA for all loops that stopped being ancestors of the current loop in this case.
      
      Differential Revision: https://reviews.llvm.org/D56144
      Reviewed By: fedor.sergeev
      
      llvm-svn: 351434
      61a8d3fb
    • Max Kazantsev's avatar
      [LoopSimplifyCFG] Fix order of deletion of complex dead subloops · 8b134169
      Max Kazantsev authored
      Function `DeleteDeadBlock` requires that all predecessors of a block
      being deleted have already been deleted, with the exception of a
      single-block loop. When we use it for removal of dead subloops that
      contain more than one block, we may not fulfull this requirement and
      fail an assertion.
      
      This patch replaces invocation of `DeleteDeadBlock` with a generalized
      version `DeleteDeadBlocks` that is able to deal with multiple dead blocks,
      even if they contain some cycles.
      
      Differential Revision: https://reviews.llvm.org/D56121
      Reviewed By: fedor.sergeev
      
      llvm-svn: 351433
      8b134169
    • Simon Pilgrim's avatar
      [X86][SSE] Add PR40340 test case · 6cc9c3cd
      Simon Pilgrim authored
      llvm-svn: 351430
      6cc9c3cd
Loading