Skip to content
  1. Nov 08, 2018
  2. Nov 07, 2018
    • Eli Friedman's avatar
      [AArch64] [Windows] Address post-commit review comment on r346358. · 0917d0c8
      Eli Friedman authored
      In this context, usesWindowsCFI() is basically the same thing as
      isOSWindows(), but it makes the relevant property of the target
      more explicit.
      
      llvm-svn: 346366
      0917d0c8
    • Jorge Gorbe Moya's avatar
      Add parentheses to silence warning. · bf1badb6
      Jorge Gorbe Moya authored
      DWARFContext.cpp:356:20: error: using the result of an assignment as a condition without parentheses [-Werror,-Wparentheses]
      
      llvm-svn: 346365
      bf1badb6
    • Nicolai Haehnle's avatar
      Revert "AMDGPU: Divergence-driven selection of scalar buffer load intrinsics" · bc233f55
      Nicolai Haehnle authored
      This reverts commit r344696 for now (except for some test additions).
      
      See https://bugs.freedesktop.org/show_bug.cgi?id=108611.
      
      llvm-svn: 346364
      bc233f55
    • Nicolai Haehnle's avatar
      AMDGPU/InsertWaitcnts: Cleanup some old cruft (NFCI) · 61396ff6
      Nicolai Haehnle authored
      Summary: Remove redundant logic and simplify control flow.
      
      Reviewers: msearles, rampitec, scott.linder, kanarayan
      
      Subscribers: arsenm, kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D54086
      
      llvm-svn: 346363
      61396ff6
    • Nicolai Haehnle's avatar
      AMDGPU/InsertWaitcnts: Remove kill-related logic · 0ab31c9c
      Nicolai Haehnle authored
      Summary:
      This is not needed, because we don't actually insert relevant branches
      for KILLs that late in the compilation flow.
      
      Besides, this was always checking for the wrong kill opcode anyway...
      
      Reviewers: msearles, rampitec, scott.linder, kanarayan
      
      Subscribers: arsenm, kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D54085
      
      llvm-svn: 346362
      0ab31c9c
    • Konstantin Zhuravlyov's avatar
    • Paul Robinson's avatar
      [DWARFv5] Read and dump multiple .debug_info sections. · 746c2238
      Paul Robinson authored
      Type units go in .debug_info comdats, not .debug_types, in v5.
      
      Differential Revision: https://reviews.llvm.org/D53907
      
      llvm-svn: 346360
      746c2238
    • Adrian Prantl's avatar
      Fix spelling error · 85e71733
      Adrian Prantl authored
      llvm-svn: 346359
      85e71733
    • Eli Friedman's avatar
      [AArch64] [Windows] Trap after noreturn calls. · d00fb2e0
      Eli Friedman authored
      Like the comment says, this isn't the most efficient fix in terms of
      codesize, but it works.
      
      Differential Revision: https://reviews.llvm.org/D54129
      
      llvm-svn: 346358
      d00fb2e0
    • Konstantin Zhuravlyov's avatar
      7f1959eb
    • Fangrui Song's avatar
      [PPC64] Use INT32_MIN instead of std::numeric_limits<int32_t>::min() · db22af0f
      Fangrui Song authored
      Summary:
      D53821 fixed the bogus MSVC (at least 2017) C4146 warning (unary minus applied on unsigned type)
      by using std::numeric_limits<int32_t>::min().
      The warning was because -2147483648 is incorrectly treated as unsigned long instead of long long)
      
      Let's use INT32_MIN which is arguably more readable.
      Note, on GCC or clang, -0x80000000 works fine (ILP64: long, LP64: long long).
      
      Reviewers: ruiu, jhenderson, sfertile, espindola
      
      Reviewed By: sfertile
      
      Subscribers: emaste, nemanjai, arichardson, kbarton, jsji, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D54200
      
      llvm-svn: 346356
      db22af0f
    • Eli Friedman's avatar
      [ARM] Fix CPSR liveness in tMOVCCr_pseudo lowering. · 7d7d41de
      Eli Friedman authored
      The lowering was missing live-ins in certain cases, like a sequence of
      multiple tMOVCCr_pseudo instructions.  This would lead to a verifier
      failure, and on pre-v6 Thumb CPSR would be incorrectly clobbered.
      
      For reasons I don't completely understand, it's hard to get a sequence
      of multiple tMOVCCr_pseudo instructions; the issue only seems to show up
      with 64-bit comparisons where the result is zero-extended. I added some
      extra testcases in case that changes in the future. Probably some
      optimization opportunities here if anyone is interested. (@test_slt_not
      is the case that was getting miscompiled.)
      
      The code to check the liveness of CPSR was stolen from
      X86ISelLowering.cpp; maybe it could be refactored into common helper,
      but I have no idea where to put it.
      
      Differential Revision: https://reviews.llvm.org/D54192
      
      llvm-svn: 346355
      7d7d41de
    • Konstantin Zhuravlyov's avatar
      AMDGPU/Docs: Add product names for Vega20 · 3c5d2391
      Konstantin Zhuravlyov authored
      Differential Revision: https://reviews.llvm.org/D54178
      
      llvm-svn: 346354
      3c5d2391
    • Matt Arsenault's avatar
      Allow subclassing ExternalAA · 8ba740a5
      Matt Arsenault authored
      This allows testing AMDGPU alias analysis like any
      other alias analysis pass. This fixes the existing
      test pointlessly running opt -O3 when it really
      just wants to run the one analysis.
      
      Before there was no way to test this using -aa-eval
      with opt, since the default constructed pass
      is run. The wrapper subclass allows the
      default constructor to pass the necessary callback.
      
      llvm-svn: 346353
      8ba740a5
    • Kamil Rytarowski's avatar
      Split lgammal() from INIT_LGAMMAL · e06fb482
      Kamil Rytarowski authored
      Summary:
      Introduce SANITIZER_INTERCEPT_LGAMMAL
      dedicated for lgammal(). Disable it for NetBSD
      as this routine is not implemented in this OS.
      
      Installation of supernumerary interceptors causes
      leaking of errors to dlsym(3)-like operations.
      
      Reviewers: joerg, vitalybuka
      
      Reviewed By: vitalybuka
      
      Subscribers: kubamracek, llvm-commits, mgorny, #sanitizers
      
      Tags: #sanitizers
      
      Differential Revision: https://reviews.llvm.org/D54054
      
      llvm-svn: 346352
      e06fb482
    • Kamil Rytarowski's avatar
      Split remquol() from INIT_REMQUO · c4dfb428
      Kamil Rytarowski authored
      Summary:
      Introduce SANITIZER_INTERCEPT_REMQUOL
      dedicated for remquol(). Disable for for NetBSD
      as this routine is not implemented in this OS.
      
      Installation of supernumerary interceptors causes
      leaking of errors to dlsym(3)-like operations.
      
      Reviewers: joerg, vitalybuka
      
      Reviewed By: vitalybuka
      
      Subscribers: kubamracek, llvm-commits, mgorny, #sanitizers
      
      Tags: #sanitizers
      
      Differential Revision: https://reviews.llvm.org/D54051
      
      llvm-svn: 346351
      c4dfb428
    • Fedor Sergeev's avatar
      [SimpleLoopUnswitch] partial unswitch needs to be careful when replacing invariants with constants · f9a02a70
      Fedor Sergeev authored
      When partial unswitch operates on multiple conditions at once, .e.g:
         if (Cond1 || Cond2 || NonInv) ...
      
      it should infer (and replace) values for individual conditions only on one
      side of unswitch and not another.
      
      More precisely only these derivations hold true:
         (Cond1 || Cond2) == false  =>  Cond1 == Cond2 == false
         (Cond1 && Cond2) == true   =>  Cond1 == Cond2 == true
      
      By the way we organize unswitching it means only replacing on "continue" blocks
      and never on "unswitched" ones. Since trivial unswitch does not have "unswitched"
      blocks it does not have this problem.
      
      Fixes PR 39568.
      
      Reviewers: chandlerc, asbirlea
      Differential Revision: https://reviews.llvm.org/D54211
      
      llvm-svn: 346350
      f9a02a70
    • Jessica Paquette's avatar
      [MachineOutliner][NFC] Remove Parent field from SuffixTreeNode · df5b09b8
      Jessica Paquette authored
      This is only used for calculating ConcatLen. This isn't necessary,
      since it's easily derived from the traversal setting suffix indices.
      
      Remove that. Rename CurrIdx to CurrNodeLen to better describe what's
      going on.
      
      llvm-svn: 346349
      df5b09b8
    • Martin Elshuber's avatar
      [Support] Fix line width to 80 · 917b06fd
      Martin Elshuber authored
      Test commit
      
      llvm-svn: 346348
      917b06fd
    • Jason Molenda's avatar
      Re-commit regularization of the lldb-gtest-build target. · 36a42724
      Jason Molenda authored
      llvm-svn: 346347
      36a42724
    • Nathan Lanza's avatar
      Adjust some id bit shifts to fit inside 32 bit integers · 067cc509
      Nathan Lanza authored
      Summary:
      The DAP on vscode uses a JavaScript `number` for identifiers while the
      Visual Studio version uses a C# `Int` for identifiers. lldb-vscode is
      bit shifting identifiers 32 bits and then bitwise ORing another 32 bit
      identifier into a 64 bit id to form a unique ID. Change this to
      a a partitioning of the 32 bits that makes sense for the data types.
      
      Reviewers: clayborg
      
      Differential Revision: https://reviews.llvm.org/D53599
      
      llvm-svn: 346346
      067cc509
    • Jessica Paquette's avatar
      [MachineOutliner][NFC] Traverse suffix tree using a RepeatedSubstring iterator · a409cc95
      Jessica Paquette authored
      This takes the traversal methods introduced in r346269 and adapts them
      into an iterator. This allows the outliner to iterate over repeated substrings
      within the suffix tree directly without having to initially find all of the
      substrings and then iterate over them after you've found them.
      
      llvm-svn: 346345
      a409cc95
    • Matt Davis's avatar
      [llvm-mca] Move the AssembleInput logic into its own class. · 23f7106e
      Matt Davis authored
      Summary:
      This patch introduces a CodeRegionGenerator class which is responsible for parsing some type of input and creating a 'CodeRegions' instance for use by llvm-mca.  In the future, we will also have a CodeRegionGenerator subclass for converting an input object file into CodeRegions.  For now, we only have the subclass for converting input assembly into CodeRegions.
      
      This is mostly a NFC patch, as the logic remains close to the original, but now encapsulated in its own class and moved outside of llvm-mca.cpp.
      
      Reviewers: andreadb, courbet, RKSimon
      
      Reviewed By: andreadb
      
      Subscribers: mgorny, tschuett, gbedwell, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D54179
      
      llvm-svn: 346344
      23f7106e
    • Alexey Bataev's avatar
      [OPENMP]Fix handling of the globals during compilation for the device. · 2a6f3f5f
      Alexey Bataev authored
      Fixed lookup for the target regions in unused virtual functions + fixed
      processing of the global variables not marked as declare target but
      emitted during debug info emission.
      
      llvm-svn: 346343
      2a6f3f5f
    • Jason Molenda's avatar
      Revert r346285 until I can make it work correctly · 37b102d2
      Jason Molenda authored
      the way the bots build lldb.
      
      llvm-svn: 346342
      37b102d2
    • Petr Hosek's avatar
      [llvm-mt] Accept and ignore notify_update flag · e3ca3696
      Petr Hosek authored
      This flag is being set by CMake when invoking mt.
      
      Differential Revision: https://reviews.llvm.org/D54196
      
      llvm-svn: 346341
      e3ca3696
    • Jessica Paquette's avatar
      [MachineOutliner] Don't store outlined function numberings on OutlinedFunction · a3eb0fac
      Jessica Paquette authored
      NFC-ish. This doesn't change the behaviour of the outliner, but does make sure
      that you won't end up with say
      
      OUTLINED_FUNCTION_2:
      ...
      ret
      
      OUTLINED_FUNCTION_248:
      ...
      ret
      
      as the only outlined functions in your module. Those should really be
      
      OUTLINED_FUNCTION_0:
      ...
      ret
      
      OUTLINED_FUNCTION_1:
      ...
      ret
      
      If we produce outlined functions, they probably should have sequential numbers
      attached to them. This makes it a bit easier+stable to write outliner tests.
      
      The point of this is to move towards a bit more stability in outlined function
      names. By doing this, we at least don't rely on the traversal order of the
      suffix tree. Instead, we rely on the order of the candidate list, which is
      *far* more consistent. The candidate list is ordered by the end indices of
      candidates, so we're more likely to get a stable ordering. This is still
      susceptible to changes in the cost model though (like, if we suddenly find new
      candidates, for example).
      
      llvm-svn: 346340
      a3eb0fac
    • Petr Hosek's avatar
      [CMake][ASan][HWASan] Set an explicit dependency on libc++ headers · 5dc0fba2
      Petr Hosek authored
      We have seen failing builds due to a race condition between
      RTAsan_dynamic and libc++ headers builds, specifically libc++
      headers depend on __config and if this header hasn't been copied
      into the final location, including other headers will typically
      result in failure. To avoid this race, we add an explicit dependency
      on libc++ headers which ensures that they've been copied into place
      before the sanitizer object library build starts.
      
      Differential Revision: https://reviews.llvm.org/D54198
      
      llvm-svn: 346339
      5dc0fba2
    • Andrew Savonichev's avatar
      Revert r346326 [OpenCL] Add support of cl_intel_device_side_avc_motion_estimation · 3b12b7e7
      Andrew Savonichev authored
      This patch breaks Index/opencl-types.cl LIT test:
      
      Script:
      --
      : 'RUN: at line 1';   stage1/bin/c-index-test -test-print-type llvm/tools/clang/test/Index/opencl-types.cl -cl-std=CL2.0 | stage1/bin/FileCheck llvm/tools/clang/test/Index/opencl-types.cl
      --
      Command Output (stderr):
      --
      llvm/tools/clang/test/Index/opencl-types.cl:3:26: warning: unsupported OpenCL extension 'cl_khr_fp16' - ignoring [-Wignored-pragmas]
      llvm/tools/clang/test/Index/opencl-types.cl:4:26: warning: unsupported OpenCL extension 'cl_khr_fp64' - ignoring [-Wignored-pragmas]
      llvm/tools/clang/test/Index/opencl-types.cl:8:9: error: use of type 'double' requires cl_khr_fp64 extension to be enabled
      llvm/tools/clang/test/Index/opencl-types.cl:11:8: error: declaring variable of type 'half' is not allowed
      llvm/tools/clang/test/Index/opencl-types.cl:15:3: error: use of type 'double' requires cl_khr_fp64 extension to be enabled
      llvm/tools/clang/test/Index/opencl-types.cl:16:3: error: use of type 'double4' (vector of 4 'double' values) requires cl_khr_fp64 extension to be enabled
      llvm/tools/clang/test/Index/opencl-types.cl:26:26: warning: unsupported OpenCL extension 'cl_khr_gl_msaa_sharing' - ignoring [-Wignored-pragmas]
      llvm/tools/clang/test/Index/opencl-types.cl:35:44: error: use of type '__read_only image2d_msaa_t' requires cl_khr_gl_msaa_sharing extension to be enabled
      llvm/tools/clang/test/Index/opencl-types.cl:36:49: error: use of type '__read_only image2d_array_msaa_t' requires cl_khr_gl_msaa_sharing extension to be enabled
      llvm/tools/clang/test/Index/opencl-types.cl:37:49: error: use of type '__read_only image2d_msaa_depth_t' requires cl_khr_gl_msaa_sharing extension to be enabled
      llvm/tools/clang/test/Index/opencl-types.cl:38:54: error: use of type '__read_only image2d_array_msaa_depth_t' requires cl_khr_gl_msaa_sharing extension to be enabled
      
      llvm-svn: 346338
      3b12b7e7
    • Mandeep Singh Grang's avatar
      [LoopSink] Do not sink instructions into non-cold blocks · d47d188b
      Mandeep Singh Grang authored
      Summary: This fixes PR39570.
      
      Reviewers: danielcdh, rnk, bkramer
      
      Reviewed By: rnk
      
      Subscribers: llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D54181
      
      llvm-svn: 346337
      d47d188b
    • Than McIntosh's avatar
      [X86] improve split-stack machine BB placement · 5bcdea51
      Than McIntosh authored
      Summary:
      The conditional branch created to support -fsplit-stack for X86 is
      left unbiased/unhinted, resulting in less than ideal block placement:
      the __morestack call block is kept on the main hot path. Bias the
      branch to insure that the stack allocation block is treated as a
      "cold" block during machine basic block placement.
      
      Subscribers: llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D54123
      
      llvm-svn: 346336
      5bcdea51
    • Florian Hahn's avatar
      [NewGVN] Make sure we do not add a user to itself. · ac86038b
      Florian Hahn authored
      If we simplify an instruction to itself, we do not need to add a user to
      itself. For congruence classes with a defining expression, we already
      use a similar logic.
      
      Fixes PR38259.
      
      Reviewers: davide, efriedma, mcrosier
      
      Reviewed By: davide
      
      Differential Revision: https://reviews.llvm.org/D51168
      
      llvm-svn: 346335
      ac86038b
    • James Y Knight's avatar
      Workaround PPC backend bug in test for r346322. · 5fbc72f5
      James Y Knight authored
      It seems that the PPC backend croaks when lowering a call to a
      function with an argument of type [2 x i32].
      
      Just modify the type slightly to avoid this -- I wasn't actually
      intending to stress test the backend...
      
      llvm/lib/Target/PowerPC/PPCISelLowering.cpp:6172: llvm::SDValue llvm::PPCTargetLowering::LowerCall_64SVR4(...): Assertion `(!HasParameterArea || NumBytesActuallyUsed == ArgOffset) && "mismatch in size of parameter area"' failed.
      
      llvm-svn: 346334
      5fbc72f5
    • Clement Courbet's avatar
      [llvm-exegesis] Remove superfluous move. · 5b0d7830
      Clement Courbet authored
      /Users/buildslave/as-bldslv9_new/lld-x86_64-darwin13/llvm.src/tools/llvm-exegesis/lib/X86/Target.cpp:155:12: error: moving a local object in a return statement prevents copy elision [-Werror,-Wpessimizing-move]
          return std::move(Error);
                 ^
      /Users/buildslave/as-bldslv9_new/lld-x86_64-darwin13/llvm.src/tools/llvm-exegesis/lib/X86/Target.cpp:155:12: note: remove std::move call here
          return std::move(Error);
                 ^~~~~~~~~~     ~
      
      llvm-svn: 346333
      5b0d7830
    • Serge Guelton's avatar
      Fix ignorded type qualifier warning [NFC] · a4d9e229
      Serge Guelton authored
      llvm-svn: 346332
      a4d9e229
    • Sanjay Patel's avatar
      [InstCombine] propagate FMF for fcmp+fabs folds · 57a08b33
      Sanjay Patel authored
      By morphing the instruction rather than deleting and creating a new one,
      we retain fast-math-flags and potentially other metadata (profile info?).
      
      llvm-svn: 346331
      57a08b33
    • Clement Courbet's avatar
      [llvm-exegesis] Correclty handle all X86 memory encoding formats. · c544838f
      Clement Courbet authored
      Summary:
      Add unit tests to check the support for each supported format to avoid
      regressions such as the one in PR36906.
      
      Reviewers: gchatelet
      
      Subscribers: tschuett, lebedev.ri, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D54144
      
      llvm-svn: 346330
      c544838f
    • Calixte Denizet's avatar
      [Profile] Mark gcov-fork test as failing for arm · db7f78a2
      Calixte Denizet authored
      Summary: instrprof-gcov-fork.test is failing with arm so mark it as XFAIL
      
      Reviewers: marco-c
      
      Reviewed By: marco-c
      
      Subscribers: javed.absar, kristof.beyls, delcypher, chrib, llvm-commits, sylvestre.ledru, #sanitizers
      
      Differential Revision: https://reviews.llvm.org/D54209
      
      llvm-svn: 346329
      db7f78a2
    • Clement Courbet's avatar
      [llvm-exegesis] Increasing wrapping limit. · 70667692
      Clement Courbet authored
      Summary: Fixes PR39097.
      
      Reviewers: gchatelet
      
      Subscribers: llvm-commits, tschuett
      
      Differential Revision: https://reviews.llvm.org/D54151
      
      llvm-svn: 346328
      70667692
Loading