Skip to content
  1. Jun 03, 2019
    • David Zarzycki's avatar
      Unbreak non-PIC builds after r362390 / D62720 · 082d99f5
      David Zarzycki authored
      llvm-svn: 362399
      082d99f5
    • Andrew Savonichev's avatar
      [OpenCL] Undefine cl_intel_planar_yuv extension · 9ed325e4
      Andrew Savonichev authored
      Summary:
      
      Remove unnecessary definition (otherwise the extension will be defined
      where it's not supposed to be defined).
      
      Consider the code:
      
        #pragma OPENCL EXTENSION cl_intel_planar_yuv : begin
        // some declarations
        #pragma OPENCL EXTENSION cl_intel_planar_yuv : end
      
      is enough for extension to become known for clang.
      
      Patch by: Dmitry Sidorov <dmitry.sidorov@intel.com>
      
      Reviewers: Anastasia, yaxunl
      
      Reviewed By: Anastasia
      
      Tags: #clang
      
      Differential Revision: https://reviews.llvm.org/D58666
      
      llvm-svn: 362398
      9ed325e4
    • Simon Pilgrim's avatar
      [SelectionDAG] Add [us]itofp(undef) --> 0 constant fold (PR39205) · cb7e4e81
      Simon Pilgrim authored
      We were missing this fold in the DAG, which I've copied directly from llvm::ConstantFoldCastInstruction
      
      Differential Revision: https://reviews.llvm.org/D62807
      
      llvm-svn: 362397
      cb7e4e81
    • Simon Pilgrim's avatar
      [SystemZ] Remove sitofp(undef) from reduced test case. · 74467814
      Simon Pilgrim authored
      Pre-commit for D62807 - which adds DAG [us]itofp(undef) --> 0 constant fold
      
      llvm-svn: 362396
      74467814
    • Dmitri Gribenko's avatar
      Include what you use in LanaiInstPrinter.cpp · 7a3e4ab2
      Dmitri Gribenko authored
      llvm-svn: 362395
      7a3e4ab2
    • Dmitri Gribenko's avatar
      Include what you use in LanaiMCCodeEmitter.cpp · 2f66316c
      Dmitri Gribenko authored
      LanaiMCCodeEmitter.cpp was not using any APIs from Lanai.h, and was only
      including it for transitive dependencies.  Doing so is problematic from
      include-what-you-use perspective, but it is also a layering issue (it
      creates a dependency cycle between the primary Lanai target library and
      the MCTargetDesc library).
      
      llvm-svn: 362394
      2f66316c
    • Alexandre Ganea's avatar
      Re-land [LLD][COFF] Early load PDB type server files · 9c78db60
      Alexandre Ganea authored
      We need to have all input files ready before doing debuginfo type merging.
      This patch is moving the late PDB type server discovery much earlier in the process, when the explicit inputs (OBJs, LIBs) are loaded.
      The short term goal is to parallelize type merging.
      
      Differential Revision: https://reviews.llvm.org/D60095
      
      llvm-svn: 362393
      9c78db60
    • Dmitri Gribenko's avatar
      Include what you use in LanaiDisassembler.cpp · c69ee63c
      Dmitri Gribenko authored
      llvm-svn: 362392
      c69ee63c
    • Andrew Savonichev's avatar
      [OpenCL] Use long instead of long long in x86 builtins · fa8cd769
      Andrew Savonichev authored
      Summary: According to C99 standard long long is at least 64 bits in
      size. However, OpenCL C defines long long as 128 bit signed
      integer. This prevents one to use x86 builtins when compiling OpenCL C
      code for x86 targets. The patch changes long long to long for OpenCL
      only.
      
      Patch by: Alexander Batashev <alexander.batashev@intel.com>
      
      Reviewers: craig.topper, Ka-Ka, eandrews, erichkeane, Anastasia
      
      Reviewed By: Ka-Ka, erichkeane, Anastasia
      
      Subscribers: a.elovikov, yaxunl, Anastasia, cfe-commits, ivankara, etyurin, asavonic
      
      Tags: #clang
      
      Differential Revision: https://reviews.llvm.org/D62580
      
      llvm-svn: 362391
      fa8cd769
    • Nicolai Haehnle's avatar
      AMDGPU/GFX10: V_CMPX_xxx instructions still have an omod operand · edfa756f
      Nicolai Haehnle authored
      Summary: Change-Id: If6ee98e4a723b643bc37254fc6ef8b3812db16da
      
      Reviewers: rampitec
      
      Subscribers: arsenm, kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, llvm-commits
      
      Tags: #llvm
      
      Differential Revision: https://reviews.llvm.org/D62720
      
      Change-Id: Id547ef152b2f92b24dc1c0efbf7e4467c4fb4b6e
      llvm-svn: 362390
      edfa756f
    • Dmitri Gribenko's avatar
      Include what you use in HexagonInstPrinter.cpp · 8668fc01
      Dmitri Gribenko authored
      HexagonInstPrinter.cpp was not using any APIs from HexagonAsmPrinter.h.
      Doing so is problematic from include-what-you-use perspective, but it is
      also a layering issue (it creates a dependency cycle between the primary
      Hexagon target library and the MCTargetDesc library).
      
      llvm-svn: 362389
      8668fc01
    • Dmitri Gribenko's avatar
      Include what you use in HexagonAsmPrinter.h · 61b49ccb
      Dmitri Gribenko authored
      llvm-svn: 362388
      61b49ccb
    • Dmitri Gribenko's avatar
      Include what you use in HexagonMCInstrInfo.cpp · 03d1b330
      Dmitri Gribenko authored
      HexagonMCInstrInfo.cpp was not using any APIs from Hexagon.h.  Doing so
      is problematic from include-what-you-use perspective, but it is also a
      layering issue (it creates a dependency cycle between the primary
      Hexagon target library and the MCTargetDesc library).
      
      llvm-svn: 362387
      03d1b330
    • Dmitri Gribenko's avatar
      Include what you use in HexagonMCCodeEmitter.cpp · 970b9f96
      Dmitri Gribenko authored
      HexagonMCCodeEmitter.cpp was not using any APIs from Hexagon.h.  Doing
      so is problematic from include-what-you-use perspective, but it is also
      a layering issue (it creates a dependency cycle between the primary
      Hexagon target library and the MCTargetDesc library).
      
      llvm-svn: 362386
      970b9f96
    • Dmitri Gribenko's avatar
      Include what you use in HexagonMCCompound.cpp · ebe360ed
      Dmitri Gribenko authored
      HexagonMCCompound.cpp was not using any APIs from Hexagon.h.  Doing so
      is problematic from include-what-you-use perspective, but it is also a
      layering issue (it creates a dependency cycle between the primary
      Hexagon target library and the MCTargetDesc library).
      
      llvm-svn: 362385
      ebe360ed
    • Dmitri Gribenko's avatar
      Include what you use in HexagonShuffler.cpp · 6e076a08
      Dmitri Gribenko authored
      HexagonShuffler.cpp was not using any APIs from Hexagon.h, and was only
      including it for transitive dependencies.  Doing so is problematic from
      include-what-you-use perspective, but it is also a layering issue (it
      creates a dependency cycle between the primary Hexagon target library
      and the MCTargetDesc library).
      
      llvm-svn: 362384
      6e076a08
    • Dmitri Gribenko's avatar
      Include what you use in HexagonMCChecker.cpp · 6214b577
      Dmitri Gribenko authored
      HexagonMCChecker.cpp was not using any APIs from Hexagon.h.  Doing so is
      problematic from include-what-you-use perspective, but it is also a
      layering issue (it creates a dependency cycle between the primary
      Hexagon target library and the MCTargetDesc library).
      
      llvm-svn: 362383
      6214b577
    • Dmitri Gribenko's avatar
      Include what you use in HexagonMCTargetDesc.cpp · bf2a356e
      Dmitri Gribenko authored
      HexagonMCTargetDesc.cpp was not using any APIs from Hexagon.h.  Doing so
      is problematic from include-what-you-use perspective, but it is also a
      layering issue (it creates a dependency cycle between the primary
      Hexagon target library and the MCTargetDesc library).
      
      llvm-svn: 362382
      bf2a356e
    • Dmitri Gribenko's avatar
      Include what you use in HexagonMCShuffler.cpp · beb7f48a
      Dmitri Gribenko authored
      HexagonMCShuffler.cpp was not using any APIs from Hexagon.h.  Doing so
      is problematic from include-what-you-use perspective, but it is also a
      layering issue (it creates a dependency cycle between the primary
      Hexagon target library and the MCTargetDesc library).
      
      llvm-svn: 362381
      beb7f48a
    • Simon Tatham's avatar
      [ARM] Fix recent breakage of -mfpu=none. · dc83a3c4
      Simon Tatham authored
      The recent change D60691 introduced a bug in clang when handling
      option combinations such as `-mcpu=cortex-m4 -mfpu=none`. Those
      options together should select Cortex-M4 but disable all use of
      hardware FP, but in fact, now hardware FP instructions can still be
      generated in that mode.
      
      The reason is because the handling of FPUVersion::NONE disables all
      the same feature names it used to, of which the base one is `vfp2`.
      But now there are further features below that, like `vfp2d16fp` and
      (following D60694) `fpregs`, which also need to be turned off to
      disable hardware FP completely.
      
      Added a tiny test which double-checks that compiling a simple FP
      function doesn't access the FP registers.
      
      Reviewers: SjoerdMeijer, dmgreen
      
      Reviewed By: dmgreen
      
      Subscribers: lebedev.ri, javed.absar, kristof.beyls, hiraditya, cfe-commits, llvm-commits
      
      Tags: #clang, #llvm
      
      Differential Revision: https://reviews.llvm.org/D62729
      
      llvm-svn: 362380
      dc83a3c4
    • Mikael Holmen's avatar
      Fix compilation warning about unused variable [NFC] · d8d3e17b
      Mikael Holmen authored
      llvm-svn: 362379
      d8d3e17b
    • Cullen Rhodes's avatar
      [AArch64][SVE2] Add CPU and arch directive tests · 3901dd3e
      Cullen Rhodes authored
      Summary:
      This patch adds tests for directives .arch, .arch_extension and .cpu for
      all features defined in Arm SVE2 architecture extension.
      
      Reviewed By: chill
      
      Differential Revision: https://reviews.llvm.org/D62602
      
      llvm-svn: 362378
      3901dd3e
    • George Rimar's avatar
      [llvm-readobj] - Convert gnu-sections.test to use YAML. · ab93e6e0
      George Rimar authored
      gnu-sections.test currently use relocs.obj.elf-x86_64 and
      relocs.obj.elf-i386 precompiled objects as an inputs.
      
      These inputs actually initially were introduced to test the
      dump of relocations and have almost nothing common with dumping
      sections.
      
      Patch converts the test to use yaml2obj. That allows to remove
      relocs.obj.elf-i386 binary.
      (relocs.obj.elf-x86_64 is still used by another test and can't be removed atm).
      
      Differential revision: https://reviews.llvm.org/D62659
      
      llvm-svn: 362377
      ab93e6e0
    • Dmitri Gribenko's avatar
      Include what you use in HexagonELFObjectWriter.cpp · 7ebfbebf
      Dmitri Gribenko authored
      HexagonELFObjectWriter.cpp was not using any APIs from Hexagon.h, and
      was only including it for transitive dependencies.  Doing so is
      problematic from include-what-you-use perspective, but it is also a
      layering issue (it creates a dependency cycle between the primary
      Hexagon target library and the MCTargetDesc library).
      
      llvm-svn: 362376
      7ebfbebf
    • Simon Pilgrim's avatar
      Revert rL362358 : PR42104: Support instantiations of lambdas that implicitly capture packs. · c716e5d6
      Simon Pilgrim authored
      Two changes:
       * Track odr-use via FunctionParmPackExprs to properly handle dependent
         odr-uses of packs in generic lambdas.
       * Do not instantiate implicit captures; instead, regenerate them by
         instantiating the body of the lambda. This is necessary to
         distinguish between cases where only one element of a pack is
         captured and cases where the entire pack is captured.
      ........
      Fixes http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win buildbot failures
      
      llvm-svn: 362375
      c716e5d6
    • George Rimar's avatar
      [llvm-readobj/llvm-readelf] - Remove gnu-relocations.test completely. · 1115a199
      George Rimar authored
      rL362089 introduced a set of yaml based reloc-types-*.test test cases
      (instead of huge reloc-types.test that used a lot of precompiled binaries)
      These test cases checks LLVM-styled dumping of the relocations.
      
      gnu-relocations.test was a test case to check GNU styled relocations dumping.
      It did that only for elf-x86 and elf-x86_64 targets. It did not test all of the
      relocations though.
      
      Now, after rL362089, it does not make sence to keep it.
      This patch updates reloc-types-elf-i386.test and reloc-types-elf-x64.test tests
      with llvm-readelf calls to check GNU styled output in one place.
      It removes gnu-relocations.test completely.
      
      One of intentions of doing this is also to get rid of relocs.obj.elf-i386 and
      relocs.obj.elf-x86_64 precompiled objects completely (they are used in other tests still).
      
      Differential revision: https://reviews.llvm.org/D62655
      
      llvm-svn: 362374
      1115a199
    • Nikola Prica's avatar
      [LiveDebugValues] Close range for previous variable's location when adding newly deduced location · 2d0106a1
      Nikola Prica authored
      When LiveDebugValues deduces new variable's location from spill, restore or
      register copy instruction it should close old variable's location. Otherwise
      we can have multiple block output locations for same variable. That could lead
      to inserting two DBG_VALUEs for same variable to the beginning of the successor
      block which results to ignoring of first DBG_VALUE.
      
      Reviewers: aprantl, jmorse, wolfgangp, dstenb
      
      Reviewed By: aprantl
      
      Subscribers: probinson, asowda, ivanbaev, petarj, djtodoro
      
      Tags: #debug-info
      
      Differential Revision: https://reviews.llvm.org/D62196
      
      llvm-svn: 362373
      2d0106a1
    • Dmitri Gribenko's avatar
      Include what you use in HexagonAsmBackend.cpp · 0aa374a3
      Dmitri Gribenko authored
      HexagonAsmBackend.cpp was not using any APIs from Hexagon.h.  Doing so
      is problematic from include-what-you-use perspective, but it is also a
      layering issue (it creates a dependency cycle between the primary
      Hexagon target library and the MCTargetDesc library).
      
      llvm-svn: 362372
      0aa374a3
    • Sven van Haastregt's avatar
      [OpenCL] Declare builtin functions using TableGen · 79a222fc
      Sven van Haastregt authored
      This patch adds a `-fdeclare-opencl-builtins` command line option to
      the clang frontend.  This enables clang to verify OpenCL C builtin
      function declarations using a fast StringMatcher lookup, instead of
      including the opencl-c.h file with the `-finclude-default-header`
      option.  This avoids the large parse time penalty of the header file.
      
      This commit only adds the basic infrastructure and some of the OpenCL
      builtins.  It does not cover all builtins defined by the various OpenCL
      specifications.  As such, it is not a replacement for
      `-finclude-default-header` yet.
      
      RFC: http://lists.llvm.org/pipermail/cfe-dev/2018-November/060041.html
      
      Co-authored-by: Pierre Gondois
      Co-authored-by: Joey Gouly
      Co-authored-by: Sven van Haastregt
      
      Differential Revision: https://reviews.llvm.org/D60763
      
      llvm-svn: 362371
      79a222fc
    • Dmitri Gribenko's avatar
      Include what you use in HexagonAsmParser.cpp · 301f8fd6
      Dmitri Gribenko authored
      HexagonAsmParser.cpp was not using any APIs from Hexagon.h.  Doing so is
      problematic from include-what-you-use perspective, but it is also a
      layering issue (it creates a dependency cycle between the primary
      Hexagon target library and the AsmParser library).
      
      llvm-svn: 362370
      301f8fd6
    • Dmitri Gribenko's avatar
      Include what you use in HexagonShuffler.h · c5327ab7
      Dmitri Gribenko authored
      HexagonShuffler.h was not using any APIs from Hexagon.h, and was only
      including it for transitive dependencies.  Doing so is problematic from
      include-what-you-use perspective, but it is also a layering issue (it
      creates a dependency cycle between the primary Hexagon target library
      and the MCTargetDesc library).
      
      llvm-svn: 362369
      c5327ab7
    • Dmitri Gribenko's avatar
      Include what you use in BPFMCTargetDesc.cpp · 3c837201
      Dmitri Gribenko authored
      BPFMCTargetDesc.cpp was not using any APIs from BPF.h.  Doing so is
      problematic from include-what-you-use perspective, but it is also a
      layering issue (it creates a dependency cycle between the primary
      BPF target library and the MCTargetDesc library).
      
      llvm-svn: 362368
      3c837201
    • George Rimar's avatar
      [LLD][ELF] - Remove dead code. NFC. · 3b20ae6c
      George Rimar authored
      I believe this line was dead after r362356.
      
      llvm-svn: 362367
      3b20ae6c
    • Diogo N. Sampaio's avatar
      [ARM][FIX] Ran out of registers due tail recursion · df92f841
      Diogo N. Sampaio authored
      Summary:
      - pr42062
      When compiling for MinSize,
      ARMTargetLowering::LowerCall decides to indirect
      multiple calls to a same function. However,
      it disconsiders the limitation that thumb1
      indirect calls require the callee to be in a
      register from r0 to r3 (llvm limiation).
      If all those registers are used by arguments, the
      compiler dies with "error: run out of registers
      during register allocation".
      This patch tells the function
      IsEligibleForTailCallOptimization if we intend to
      perform indirect calls, as to avoid tail call
      optimization.
      
      Reviewers: dmgreen, efriedma
      
      Reviewed By: efriedma
      
      Subscribers: javed.absar, kristof.beyls, llvm-commits
      
      Tags: #llvm
      
      Differential Revision: https://reviews.llvm.org/D62683
      
      llvm-svn: 362366
      df92f841
    • Sam Parker's avatar
      [AArch64] Check for simple type in FPToUInt · a0bd6f8a
      Sam Parker authored
      DAGCombiner was hitting a SimpleType assertion when trying to combine
      a v3f32 before type legalization.
      
      bugzilla: https://bugs.llvm.org/show_bug.cgi?id=41916
      
      Differential Revision: https://reviews.llvm.org/D62734
      
      llvm-svn: 362365
      a0bd6f8a
    • Roman Lebedev's avatar
      [NFC][X86] extract-{low,}bits.ll: one more pattern c with truncation · bcd54288
      Roman Lebedev authored
      llvm-svn: 362364
      bcd54288
    • Ilya Biryukov's avatar
      [CodeComplete] Add a bit more whitespace to completed patterns · 1a445845
      Ilya Biryukov authored
      Summary:
      E.g. we now turn `while(<#cond#>){` into `while (<#cond#>) {`
      
      This slightly improves the final output. Should not affect clients that
      format the result on their own.
      
      Reviewers: gribozavr
      
      Reviewed By: gribozavr
      
      Subscribers: jkorous, arphaman, kadircet, cfe-commits
      
      Tags: #clang
      
      Differential Revision: https://reviews.llvm.org/D62616
      
      llvm-svn: 362363
      1a445845
    • Mikhail Dvorskiy's avatar
      A test commit from Mikhail Dvorskiy (blank line, to pstl/trunk) according... · 209adba4
      Mikhail Dvorskiy authored
      A test commit from Mikhail Dvorskiy (blank line, to pstl/trunk) according 'Obtaining Commit Access' rules (https://llvm.org/docs/DeveloperPolicy.html#obtaining-commit-access)
      
      llvm-svn: 362362
      209adba4
    • Haojian Wu's avatar
      [clang-tidy] Fix make-unique check to work in C++17 mode. · ceb0cc54
      Haojian Wu authored
      Summary:
      Previously, we intended to omit the check fix to the case when constructor has
      any braced-init-list argument. But the HasListInitializedArgument was not
      correct to handle all cases (Foo(Bar{1, 2}) will return false in C++14
      mode).
      
      This patch fixes it, corrects the tests, and makes the check to run at C++17 mode.
      
      Reviewers: gribozavr
      
      Subscribers: xazax.hun, cfe-commits
      
      Tags: #clang
      
      Differential Revision: https://reviews.llvm.org/D62736
      
      llvm-svn: 362361
      ceb0cc54
    • Mikael Holmen's avatar
      [TableGen] Fix std::array initializer to avoid warnings with older tool chains. NFC · 404a679e
      Mikael Holmen authored
      A std::array is implemented as a template with an array inside a struct.
      Older versions of clang, like 3.6, require an extra set of curly braces
      around std::array initializations to avoid warnings.
      
      The C++ language was changed regarding this by CWG 1270. So more modern
      tool chains does not complain even if leaving out one level of braces.
      
      llvm-svn: 362360
      404a679e
Loading