Skip to content
  1. Mar 28, 2018
    • Tim Renouf's avatar
      Revert "[AMDGPU] For OS type AMDPAL, fixed scratch on compute shader" · cdac172e
      Tim Renouf authored
      This reverts commit 0daf86291d3aa04d3cc280cd0ef24abdb0174981.
      
      It was causing an assert in test/CodeGen/AMDGPU/amdpal.ll only on a
      release-with-asserts build. I will resubmit the change when I have fixed
      that.
      
      Change-Id: If270594eba27a7dc4076bdeab3fa8e6bfda3288a
      llvm-svn: 328695
      cdac172e
    • Andrea Di Biagio's avatar
      [X86][BtVer2] Fix the number of micro opcodes for a bunch of YMM instructions. · 010924e3
      Andrea Di Biagio authored
      The Jaguar backend natively supports 128-bit data types. Operations on YMM
      registers are split into two COPs (complex operations). Each COP consumes a slot
      in the dispatch group, and in the reorder buffer.
      
      The scheduling model for Jaguar should mark those instructions as `let
      NumMicroOps = 2`.
      
      This was found when testing AVX code for BtVer2 using llvm-mca.
      
      llvm-svn: 328694
      010924e3
    • Pavel Labath's avatar
      gdb-remote: Fix checksum verification for messages with escape chars · 5a841234
      Pavel Labath authored
      Summary:
      We've had a mismatch in the checksum computation between the sender and
      receiver. The sender computed the payload checksum using the wire
      encoding of the packet, while the receiver did this after expanding
      un-escaping and expanding run-length-encoded sequences. This resulted in
      communication breakdown if packets using these feature were sent in the
      ack mode.
      
      Normally, this did not cause any issues since the only packet we send in
      the ack-mode is the QStartNoAckMode packet, but I ran into this when
      debugging the lldb-server tests which (for better or worse) don't use
      this mode.
      
      According to the gdb-remote documentation "The two-digit checksum is computed as
      the modulo 256 sum of all characters between the leading ‘$’ and the
      trailing ‘#’", it seems that our sender is doing the right thing here.
      Therefore, I fix the receiver the match the sender behavior and add a
      test.
      
      With this bug fixed, we can see that lldb-server is sending a stop-reply
      after receiving the "k" in the same way as debugserver does (but we
      weren't detecting this because at that point the connection was dead
      already). I fix that expectation as well.
      
      Reviewers: clayborg, jasonmolenda
      
      Subscribers: mgorny, lldb-commits
      
      Differential Revision: https://reviews.llvm.org/D44922
      
      llvm-svn: 328693
      5a841234
    • Alexander Potapenko's avatar
      [MSan] Add an isStore argument to getShadowOriginPtr(). NFC · e1d58778
      Alexander Potapenko authored
      This is a step towards the upcoming KMSAN implementation patch.
      The isStore argument is to be used by getShadowOriginPtrKernel(),
      it is ignored by getShadowOriginPtrUserspace().
      
      Depending on whether a memory access is a load or a store, KMSAN
      instruments it with different functions, __msan_metadata_ptr_for_load_X()
      and __msan_metadata_ptr_for_store_X().
      
      Those functions may return different values for a single address,
      which is necessary in the case the runtime library decides to ignore
      particular accesses.
      
      llvm-svn: 328692
      e1d58778
    • Christof Douma's avatar
      [ARM] Support float literals under XO · a1e77c0e
      Christof Douma authored
      Follow up patch of r328313 to support the UseVMOVSR constraint. Removed
      some unneeded instructions from the test and removed some stray
      comments.
      
      Differential Revision: https://reviews.llvm.org/D44941
      
      llvm-svn: 328691
      a1e77c0e
    • Shiva Chen's avatar
      [PATCH] [RISCV] Verify the input value of -march= · 203917e2
      Shiva Chen authored
      Summary:
      This patch doing more check and verify the -march= string and will issue
      an error if it's a invalid combination.
      
      Reviewers: asb, apazos
      
      Differential Revision: https://reviews.llvm.org/D44189
      
      Patch by Kito Cheng.
      
      llvm-svn: 328690
      203917e2
    • Mikael Holmen's avatar
      [RegisterCoalescing] Don't move COPY if it would interfere with another value · 6c062b76
      Mikael Holmen authored
      Summary:
      RegisterCoalescer::removePartialRedundancy tries to hoist B = A from
      BB0/BB2 to BB1:
      
        BB1:
             ...
        BB0/BB2:  ----
             B = A;   |
             ...      |
             A = B;   |
               |-------
               |
      
      It does so if a number of conditions are fulfilled. However, it failed
      to check if B was used by any of the terminators in BB1. Since we must
      insert B = A before the terminators (since it's not a terminator itself),
      this means that we could erroneously insert a new definition of B before a
      use of it.
      
      Reviewers: wmi, qcolombet
      
      Reviewed By: wmi
      
      Subscribers: MatzeB, llvm-commits, sdardis
      
      Differential Revision: https://reviews.llvm.org/D44918
      
      llvm-svn: 328689
      6c062b76
    • Richard Trieu's avatar
      Fix some handling of AST nodes with diagnostics. · b4025806
      Richard Trieu authored
      The diagnostic system for Clang can already handle many AST nodes.  Instead
      of converting them to strings first, just hand the AST node directly to
      the diagnostic system and let it handle the output.  Minor changes in some
      diagnostic output.
      
      llvm-svn: 328688
      b4025806
    • Lang Hames's avatar
      [ORC] Fix ORC on platforms without indirection support. · a95b0df5
      Lang Hames authored
      Previously this crashed because a nullptr (returned by
      createLocalIndirectStubsManagerBuilder() on platforms without
      indirection support) functor was unconditionally invoked.
      
      Patch by Andres Freund. Thanks Andres!
      
      llvm-svn: 328687
      a95b0df5
    • Rafael Espindola's avatar
      Initialize OffsetMap in a known location. · 816127ea
      Rafael Espindola authored
      This is a small optimization and avoids the need to use call_once.
      
      llvm-svn: 328686
      816127ea
    • Rafael Espindola's avatar
      Define a trivial method inline. · 92eba0e1
      Rafael Espindola authored
      llvm-svn: 328685
      92eba0e1
    • Rafael Espindola's avatar
      Store live offsets as uint32_t. · 5a7ca96e
      Rafael Espindola authored
      We don't support input merge sections larger than 4gb, so these can be
      uint32_t.
      
      llvm-svn: 328684
      5a7ca96e
    • Sanjay Patel's avatar
      [AArch64] add ftrunc tests; NFC · bb33007b
      Sanjay Patel authored
      As suggested in D44909.
      
      llvm-svn: 328683
      bb33007b
    • Sanjay Patel's avatar
      [PowerPC] add ftrunc vector tests; NFC · 594c1546
      Sanjay Patel authored
      Baseline tests for vectors as suggested in D44909.
      
      llvm-svn: 328682
      594c1546
    • Evgeniy Stepanov's avatar
      [asan] Add vfork to the list of reasons for stack errors. · 29e6fd67
      Evgeniy Stepanov authored
      Until we figure out what to do with it, vfork can cause stack-based
      false positives.
      
      llvm-svn: 328681
      29e6fd67
    • Akira Hatanaka's avatar
      [ObjC] Make C++ triviality type traits available to non-trivial C · 5ee26483
      Akira Hatanaka authored
      structs.
      
      r326307 and r327870 made changes that allowed using non-trivial C
      structs with fields qualified with __strong or __weak. This commit makes
      the following C++ triviality type traits available to non-trivial C
      structs:
      
      __has_trivial_assign
      __has_trivial_move_assign
      __has_trivial_copy
      __has_trivial_move_constructor
      __has_trivial_constructor
      __has_trivial_destructor
      
      rdar://problem/33599681
      
      Differential Revision: https://reviews.llvm.org/D44913
      
      llvm-svn: 328680
      5ee26483
    • Fangrui Song's avatar
      [ELF] Fix offsets in comment of tls-got.s · 2458863e
      Fangrui Song authored
      llvm-svn: 328679
      2458863e
    • Heejin Ahn's avatar
      [WebAssembly] Add exception and selector intrinsics · 37307b45
      Heejin Ahn authored
      Summary:
      Since wasm EH does not use landingpad instructions, these instructions
      provide exception pointer and selector values until we lower them in
      WasmEHPrepare.
      
      Reviewers: jgravelle-google
      
      Subscribers: jfb, sbc100, jgravelle-google, sunfish, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D44930
      
      llvm-svn: 328678
      37307b45
    • Matt Arsenault's avatar
      AMDGPU: Really implement getFrameRegister · bd49eccc
      Matt Arsenault authored
      Currently this seems to only really be used for debug
      info.
      
      llvm-svn: 328677
      bd49eccc
    • Paul Robinson's avatar
      Reapply "[DWARFv5] Emit file 0 to the line table." · 07480bd1
      Paul Robinson authored
      DWARF v5 specifies that the root file (also given in the DW_AT_name
      attribute of the compilation unit DIE) should be emitted explicitly to
      the line table's list of files.  This makes the line table more
      independent of the .debug_info section.
      
      Fixes the bug found by asan. Also XFAIL the new test for Darwin, which
      is stuck on DWARF v2, and fix up other tests so they stop failing on
      Windows.  Last but not least, don't break "clang -g" of an assembler
      file that has .file directives in it.
      
      Differential Revision: https://reviews.llvm.org/D44054
      
      llvm-svn: 328676
      07480bd1
    • Jessica Paquette's avatar
      [MachineOutliner] AArch64: Don't outline ADRPs with un-outlinable operands · 2519ee70
      Jessica Paquette authored
      If an ADRP appears with, say, a CPI operand, we shouldn't outline it.
      
      This moves the check for unsafe operands so that it occurs before the special-case
      for ADRPs. Also add a test for outlining ADRPs.
      
      llvm-svn: 328674
      2519ee70
  2. Mar 27, 2018
Loading