Skip to content
  1. Aug 27, 2018
    • Stella Stamenova's avatar
      [lit, python] Remove quotes around %python in cache.ll · 79a40ebb
      Stella Stamenova authored
      Summary: We needed quotes around %python before to make python work correctly (on Windows) if the path contains spaces. I recently made a change so that %python now inherently has quotes, so now adding quotes around %python makes the test fail because the quotes cancel each other.
      
      Reviewers: asmith, inglorion
      
      Subscribers: mehdi_amini, eraman, steven_wu, dexonsmith, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D51244
      
      llvm-svn: 340753
      79a40ebb
    • Marshall Clow's avatar
      Mark P0556 as 'in progress' · 05ff3d3b
      Marshall Clow authored
      llvm-svn: 340752
      05ff3d3b
    • Hans Wennborg's avatar
      Use a lambda for calls to ::open in RetryAfterSignal · 0a0e4112
      Hans Wennborg authored
      In Bionic, open can be overloaded for _FORTIFY_SOURCE support, causing
      compile errors of RetryAfterSignal due to overload resolution. Wrapping
      the call in a lambda avoids this.
      
      Based on a patch by Chih-Wei Huang <cwhuang@linux.org.tw>!
      
      llvm-svn: 340751
      0a0e4112
    • Wouter van Oortmerssen's avatar
      [WebAssembly] Added default stack-only instruction mode for MC. · 8a9cb242
      Wouter van Oortmerssen authored
      Summary:
      Made it convert from register to stack based instructions, and removed the registers.
      Fixes to related code that was expecting register based instructions.
      Added the correct testing flag to all tests, depending on what the
      format they were expecting so far.
      Translated one test to stack format as example: reg-stackify-stack.ll
      
      tested:
      llvm-lit -v `find test -name WebAssembly`
      unittests/MC/*
      
      Reviewers: dschuff, sunfish
      
      Subscribers: sbc100, jgravelle-google, eraman, aheejin, llvm-commits, jfb
      
      Differential Revision: https://reviews.llvm.org/D51241
      
      llvm-svn: 340750
      8a9cb242
    • Kirill Bobyrev's avatar
      [docs] Mention clangd-dev in clangd documentation · 5bda3fad
      Kirill Bobyrev authored
      Since the clangd-dev is intended to be the place for clangd-related
      discussions, we should point new users to this mailing list while
      probably mentioning cfe-dev, too.
      
      Reviewed by: ioeric
      
      Differential Revision: https://reviews.llvm.org/D51293
      
      llvm-svn: 340749
      5bda3fad
    • Raphael Isemann's avatar
      Let the CompilerInstance create our clang ASTContext · 596709d8
      Raphael Isemann authored
      Summary:
      Now that we moved the BuiltinContext and SelectorTable to the
      CompilerInstance, we can also get rid of manually creating our
      own ASTContext, but just use the one from the CompilerInstance
      (which will be created with the same settings).
      
      Reviewers: vsk, aprantl, davide
      
      Reviewed By: davide
      
      Subscribers: lldb-commits
      
      Differential Revision: https://reviews.llvm.org/D51253
      
      llvm-svn: 340748
      596709d8
    • Raphael Isemann's avatar
      Disable use-color if the output stream is not a terminal with color support. · eca9ce14
      Raphael Isemann authored
      Summary:
      LLDB currently only checks the output terminal for color support by looking
      at the `TERM` environment variable and comparing it to `"dumb"`. This causes that
      when running LLDB on a CI node, the syntax highlighter will not be deactivated by
      LLDB and the output log is filled with color codes (unless the terminal emulator
      actually exposes itself as dumb).
      
      This patch now relies on the LLVM code for detecting color support which is more
      reliable. We now also correctly actually initialize the `m_supports_colors` variable in `File`.
      `m_supports_colors` was so far uninitialized, but the code path that uses `m_supports_colors`
      was also dead so the sanitizers didn't sound an alarm.
      
      The old check that compares `TERM` is not removed by this patch as the new LLVM code
      doesn't seem to handle this case (and it's a good thing to check for "dumb" terminals).
      
      Reviewers: aprantl, javed.absar
      
      Reviewed By: aprantl
      
      Subscribers: kristof.beyls, abidh, lldb-commits
      
      Differential Revision: https://reviews.llvm.org/D51243
      
      llvm-svn: 340747
      eca9ce14
    • Andrea Di Biagio's avatar
      [llvm-mca] Improved report generated by the SchedulerStatistics view. · b89b96c1
      Andrea Di Biagio authored
      Before this patch, the SchedulerStatistics only printed the maximum number of
      buffer entries consumed in each scheduler's queue at a given point of the
      simulation.
      
      This patch restructures the reported table, and adds an extra field named
      "Average number of used buffer entries" to it.
      This patch also uses different colors to help identifying bottlenecks caused by
      high scheduler's buffer pressure.
      
      llvm-svn: 340746
      b89b96c1
    • Gheorghe-Teodor Bercea's avatar
      [OpenMP][Fix] Ensure comparison between unsigned values. · 353adf43
      Gheorghe-Teodor Bercea authored
      Summary: Ensure the values being compared are both unsigned.
      
      Reviewers: ABataev, Hahnfeld, caomhin, grokos, AndreyChurbanov
      
      Reviewed By: AndreyChurbanov
      
      Subscribers: AndreyChurbanov, guansong, openmp-commits
      
      Differential Revision: https://reviews.llvm.org/D51301
      
      llvm-svn: 340745
      353adf43
    • Nico Weber's avatar
      fix comment typo · e75fd1b1
      Nico Weber authored
      llvm-svn: 340744
      e75fd1b1
    • Nico Weber's avatar
      fix comment typo · 5946e5be
      Nico Weber authored
      llvm-svn: 340743
      5946e5be
    • Nico Weber's avatar
      fix comment typo · c7bad576
      Nico Weber authored
      llvm-svn: 340742
      c7bad576
    • Sanjay Patel's avatar
      [SelectionDAG] add helper query for binops; NFC · f6459278
      Sanjay Patel authored
      We will also use this in a planned enhancement for vector insertelement.
      
      llvm-svn: 340741
      f6459278
    • Nemanja Ivanovic's avatar
      [PowerPC] Revert commit r339779 · 5d06f17b
      Nemanja Ivanovic authored
      This commit has caused failures in some internal benchmarks. Temporarily
      reverting this patch until the issue can be diagnosed and fixed.
      
      llvm-svn: 340740
      5d06f17b
    • Sid Manning's avatar
      [ELF][HEXAGON] Add R_HEX_11/10/9_X support · 569a56d6
      Sid Manning authored
      Differential Revision: https://reviews.llvm.org/D51225
      
      llvm-svn: 340739
      569a56d6
    • Matt Arsenault's avatar
      Handle identifying AMDGPU bitcode files · 8d6c7a63
      Matt Arsenault authored
      llvm-svn: 340738
      8d6c7a63
    • Aleksandr Urakov's avatar
      [X86] Adding the test pointing to the fail case of D45653 · ff88f176
      Aleksandr Urakov authored
      Summary:
      This commit adds the case of tail calling a sret function from a non-sret
      function when both functions have the C calling convention.
      
      llvm-svn: 340737
      ff88f176
    • Daniel Cederman's avatar
      [Sparc] Avoid writing outside array in applyFixup · db474c12
      Daniel Cederman authored
      Summary: If an object file ends with a relocation that is smaller
      than 4 bytes we will write outside the Data array and trigger an
      "Invalid index" assertion.
      
      Reviewers: jyknight, venkatra
      
      Reviewed By: jyknight
      
      Subscribers: fedor.sergeev, jrtc27, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D50971
      
      llvm-svn: 340736
      db474c12
    • Aleksandr Urakov's avatar
      [NFC][X86] Fix `sibcall.ll` formatting · 6f7fef78
      Aleksandr Urakov authored
      Summary:
      Remove unnecessary lines from `sibcall.ll` and rename labels according
      to @RKSimon's recommendations in the D45653 conversation.
      
      llvm-svn: 340735
      6f7fef78
    • Nemanja Ivanovic's avatar
      [PowerPC] Recommit r340016 after fixing the reported issue · f2588a28
      Nemanja Ivanovic authored
      The internal benchmark failure reported by Google was due to a missing
      check for the result type for the sign-extend and shift DAG. This commit
      adds the check and re-commits the patch.
      
      llvm-svn: 340734
      f2588a28
    • Daniel Cederman's avatar
      [Sparc] Add support for the cycle counter available in GR740 · 27395960
      Daniel Cederman authored
      Summary: The GR740 provides an up cycle counter in the registers ASR22
      and ASR23. As these registers can not be read together atomically we only
      use the value of ASR23 for llvm.readcyclecounter(). The ASR23 register
      holds the 32 LSBs of the up-counter.
      
      Reviewers: jyknight, venkatra
      
      Reviewed By: jyknight
      
      Subscribers: jfb, fedor.sergeev, jrtc27, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D48638
      
      llvm-svn: 340733
      27395960
    • Max Kazantsev's avatar
      [NFC] Try to make buildbot happy about virtual destructors · 9441be69
      Max Kazantsev authored
      llvm-svn: 340732
      9441be69
    • Kirill Bobyrev's avatar
      [clangd] Use TRUE iterator instead of complete posting list · b217ddb1
      Kirill Bobyrev authored
      Stop using `$$$` (empty) trigram and generating a posting list with all
      items. Since TRUE iterator is already implemented and correctly inserted
      when there are no real trigram posting lists, this is a valid
      transformation.
      
      Benchmarks show that this simple change allows ~30% speedup on dataset
      of real completion queries.
      
      Before
      
      ```
      -------------------------------------------------------
      Benchmark                Time           CPU Iterations
      -------------------------------------------------------
      DexAdHocQueries    5640321 ns    5640265 ns        120
      DexRealQ         939835603 ns  939830296 ns          1
      ```
      
      After
      
      ```
      -------------------------------------------------------
      Benchmark                Time           CPU Iterations
      -------------------------------------------------------
      DexAdHocQueries    3452014 ns    3451987 ns        203
      DexRealQ         667455912 ns  667455750 ns          1
      ```
      
      Reviewed by: ilya-biryukov
      
      Differential Revision: https://reviews.llvm.org/D51287
      
      llvm-svn: 340729
      b217ddb1
    • Max Kazantsev's avatar
      [NFC] Split logic of ImplicitControlFlowTracking to allow generalization · b5dd0920
      Max Kazantsev authored
      We have a class `ImplicitControlFlowTracking` which allows us to keep track of
      instructions that can abnormally exit and answer queries like "whether or not
      there is side-exiting instruction above this instruction in its block".
      
      We may want to have the similar tracking for other types of "special" instructions,
      for example instructions that write memory.
      
      This patch separates ImplicitControlFlowTracking into two classes, isolating all
      general logic not related to implicit control flow into its parent class. We can
      later make another child of this class to keep track of instructions that write
      memory.
      
      The motivation for that is that we want to make these checks efficiently in the
      patch https://reviews.llvm.org/D50891.
      
      NOTE: The naming of the parent class is not super cool, but the other options we
      have are hardly better. Please feel free to rename it as NFC if you think you've
      found a more informative name for it.
      
      Differential Revision: https://reviews.llvm.org/D50954
      Reviewed By: fedor.sergeev
      
      llvm-svn: 340728
      b5dd0920
    • Chandler Carruth's avatar
      Try to fix this clang driver test case after r340709. · 99183833
      Chandler Carruth authored
      If any of the bots complain about this, I'll just revert. This test case
      is essentially trying to test the exact change made, but I think this
      matches the intent of the patch in question.
      
      llvm-svn: 340727
      99183833
    • Martin Storsjö's avatar
      [COFF] Support MinGW automatic dllimport of data · eac1b05f
      Martin Storsjö authored
      Normally, in order to reference exported data symbols from a different
      DLL, the declarations need to have the dllimport attribute, in order to
      use the __imp_<var> symbol (which contains an address to the actual
      variable) instead of the variable itself directly. This isn't an issue
      in the same way for functions, since any reference to the function without
      the dllimport attribute will end up as a reference to a thunk which loads
      the actual target function from the import address table (IAT).
      
      GNU ld, in MinGW environments, supports automatically importing data
      symbols from DLLs, even if the references didn't have the appropriate
      dllimport attribute. Since the PE/COFF format doesn't support the kind
      of relocations that this would require, the MinGW's CRT startup code
      has an custom framework of their own for manually fixing the missing
      relocations once module is loaded and the target addresses in the IAT
      are known.
      
      For this to work, the linker (originall in GNU ld) creates a list of
      remaining references needing fixup, which the runtime processes on
      startup before handing over control to user code.
      
      While this feature is rather controversial, it's one of the main features
      allowing unix style libraries to be used on windows without any extra
      porting effort.
      
      Some sort of automatic fixing of data imports is also necessary for the
      itanium C++ ABI on windows (as clang implements it right now) for importing
      vtable pointers in certain cases, see D43184 for some discussion on that.
      
      The runtime pseudo relocation handler supports 8/16/32/64 bit addresses,
      either PC relative references (like IMAGE_REL_*_REL32*) or absolute
      references (IMAGE_REL_AMD64_ADDR32, IMAGE_REL_AMD64_ADDR32,
      IMAGE_REL_I386_DIR32). On linking, the relocation is handled as a
      relocation against the corresponding IAT slot. For the absolute references,
      a normal base relocation is created, to update the embedded address
      in case the image is loaded at a different address.
      
      The list of runtime pseudo relocations contains the RVA of the
      imported symbol (the IAT slot), the RVA of the location the relocation
      should be applied to, and a size of the memory location. When the
      relocations are fixed at runtime, the difference between the actual
      IAT slot value and the IAT slot address is added to the reference,
      doing the right thing for both absolute and relative references.
      
      With this patch alone, things work fine for i386 binaries, and mostly
      for x86_64 binaries, with feature parity with GNU ld. Despite this,
      there are a few gotchas:
      - References to data from within code works fine on both x86 architectures,
        since their relocations consist of plain 32 or 64 bit absolute/relative
        references. On ARM and AArch64, references to data doesn't consist of
        a plain 32 or 64 bit embedded address or offset in the code. On ARMNT,
        it's usually a MOVW+MOVT instruction pair represented by a
        IMAGE_REL_ARM_MOV32T relocation, each instruction containing 16 bit of
        the target address), on AArch64, it's usually an ADRP+ADD/LDR/STR
        instruction pair with an even more complex encoding, storing a PC
        relative address (with a range of +/- 4 GB). This could theoretically
        be remedied by extending the runtime pseudo relocation handler with new
        relocation types, to support these instruction encodings. This isn't an
        issue for GCC/GNU ld since they don't support windows on ARMNT/AArch64.
      - For x86_64, if references in code are encoded as 32 bit PC relative
        offsets, the runtime relocation will fail if the target turns out to be
        out of range for a 32 bit offset.
      - Fixing up the relocations at runtime requires making sections writable
        if necessary, with the VirtualProtect function. In Windows Store/UWP apps,
        this function is forbidden.
      
      These limitations are addressed by a few later patches in lld and
      llvm.
      
      Differential Revision: https://reviews.llvm.org/D50917
      
      llvm-svn: 340726
      eac1b05f
    • Martin Storsjö's avatar
      [COFF] Expose an easier helper function for getting names for relocation types · 114ebf4a
      Martin Storsjö authored
      The existing method is protected, and requires using DataRefImpl
      and SmallVector.
      
      Differential Revision: https://reviews.llvm.org/D50995
      
      llvm-svn: 340725
      114ebf4a
    • Daniel Cederman's avatar
      [Sparc] Custom bitcast between f64 and v2i32 · 92dadc0b
      Daniel Cederman authored
      Summary:
      Currently bitcasting constants from f64 to v2i32 is done by storing the
      value to the stack and then loading it again. This is not necessary, but
      seems to happen because v2i32 is a valid type for Sparc V8. If it had not
      been legal, we would have gotten help from the type legalizer.
      
      This patch tries to do the same work as the legalizer would have done by
      bitcasting the floating point constant and splitting the value up into a
      vector of two i32 values.
      
      Reviewers: venkatra, jyknight
      
      Reviewed By: jyknight
      
      Subscribers: glaubitz, fedor.sergeev, jrtc27, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D49219
      
      llvm-svn: 340723
      92dadc0b
    • Roger Ferrer Ibanez's avatar
      [RISCV] atomic_store_nn have a different layout to regular store · fe282170
      Roger Ferrer Ibanez authored
      We cannot directy reuse the patterns of StPat because for some reason the store
      DAG node and the atomic_store_nn DAG nodes put the ptr and the value in
      different positions. Currently we attempt to store the address to an address
      formed by the value.
      
      Differential Revision: https://reviews.llvm.org/D51217
      
      llvm-svn: 340722
      fe282170
    • Chandler Carruth's avatar
      Fix this file to have the necessary standard library includes and use · be4a5494
      Chandler Carruth authored
      the `std::` namespace. Should fix a number of build bots as well.
      
      llvm-svn: 340721
      be4a5494
    • Craig Topper's avatar
      [X86] Cleanup the LowerMULH code by hoisting some commonalities between the... · 73ed2a2a
      Craig Topper authored
      [X86] Cleanup the LowerMULH code by hoisting some commonalities between the vXi32 and vXi8 handling. NFCI
      
      vXi32 support was recently moved from LowerMUL_LOHI to LowerMULH.
      
      This commit shares the getOperand calls, switches both to use common IsSigned flag, and hoists the NumElems/NumElts variable.
      
      llvm-svn: 340720
      73ed2a2a
    • Craig Topper's avatar
      [X86] Add intrinsics for kand/kandn/knot/kor/kxnor/kxor with 8, 32, and 64-bit mask registers. · c330ca86
      Craig Topper authored
      This also adds a second intrinsic name for the 16-bit mask versions.
      
      These intrinsics match gcc and icc. They just aren't published in the Intel Intrinsics Guide so I only recently found they existed.
      
      llvm-svn: 340719
      c330ca86
    • Craig Topper's avatar
    • Craig Topper's avatar
      [X86] Rename __DEFAULT_FN_ATTRS to a__DEFAULT_FN_ATTRS512 in avx512dqintrin.h and avx512bwintrin.h. · e0b5d4cd
      Craig Topper authored
      This is preparation for adding removing min_vector_width 512 from some intrinsics.
      
      llvm-svn: 340717
      e0b5d4cd
    • Rui Ueyama's avatar
      Rename a function to follow the LLVM coding style. · 41831204
      Rui Ueyama authored
      llvm-svn: 340716
      41831204
    • Martin Storsjö's avatar
      [COFF] Check the instructions in ARM MOV32T relocations · c4b0061c
      Martin Storsjö authored
      For this relocation, which applies to two consecutive instructions,
      it's plausible that the second instruction might not actually be
      the right one.
      
      Differential Revision: https://reviews.llvm.org/D50998
      
      llvm-svn: 340715
      c4b0061c
    • Craig Topper's avatar
      [X86] Undef __DEFAULT_FN_ATTRS in avx512fintrin.h. · 266b8587
      Craig Topper authored
      Fixes test failure after r340713
      
      llvm-svn: 340714
      266b8587
    • Craig Topper's avatar
    • David Carlier's avatar
      [Xray] Darwin - Enable in the driver side · 6e116a5b
      David Carlier authored
      Reviewers: dberris
      
      Reviered By: dberris
      
      Differential Revision: https://reviews.llvm.org/D51269
      
      llvm-svn: 340712
      6e116a5b
    • Zachary Turner's avatar
      [MS Demangler] Add virtual destructor. · 03b6f5a5
      Zachary Turner authored
      Silence -Wnon-virtual-dtor.
      
      llvm-svn: 340711
      03b6f5a5
Loading