Skip to content
  1. Oct 12, 2017
    • Wei Ding's avatar
      Implement custom lowering for ISD::CTTZ_ZERO_UNDEF and ISD::CTTZ. · 5676acad
      Wei Ding authored
      Differential Revision: http://reviews.llvm.org/D37348
      
      llvm-svn: 315610
      5676acad
    • Rui Ueyama's avatar
      Remove Symbol::isPreemptible(). · ca05b6fb
      Rui Ueyama authored
      Because it was a redundant accessor to Symbol's public member.
      
      llvm-svn: 315609
      ca05b6fb
    • Konstantin Zhuravlyov's avatar
      AMDGPU/NFC: Move AMDGPU specific note types to ELF.h · 70303c01
      Konstantin Zhuravlyov authored
      Differential Revision: https://reviews.llvm.org/D38747
      
      llvm-svn: 315608
      70303c01
    • Craig Topper's avatar
      [X86] Add CLWB intrinsic. clang part · 89cd7533
      Craig Topper authored
      Reviewers: RKSimon, zvi, igorb
      
      Reviewed By: RKSimon
      
      Subscribers: cfe-commits
      
      Differential Revision: https://reviews.llvm.org/D38781
      
      llvm-svn: 315607
      89cd7533
    • Craig Topper's avatar
      [X86] Add a bunch of -mcpu strings to the cpus.ll test. · 3dc37cc5
      Craig Topper authored
      We were missing most of the "core" aliases as well as skylake, cannonlake, and knights landing.
      
      llvm-svn: 315606
      3dc37cc5
    • Michal Gorny's avatar
      [cmake] [interception] Remove duplicate gtest from test COMPILE_DEPS · 007b540f
      Michal Gorny authored
      Fix the gtest dependency to be included in DEPS only, rather than
      in COMPILE_DEPS + DEPS. The former variable is apparently used to
      provide unconditional dependencies, while the latter are only used
      for non-standalone builds. Since they are concatenated, specifying gtest
      in both is redundant. Furthermore, including it in COMPILE_DEPS causes
      build failure for standalone builds where 'gtest' target is not present.
      
      Differential Revision: https://reviews.llvm.org/D38839
      
      llvm-svn: 315605
      007b540f
    • Michal Gorny's avatar
      [cmake] Fix skipping DEPS (typo) in sanitizer_test_compile() · 858509cf
      Michal Gorny authored
      Fix typo in variable assignment inside sanitizer_test_compile() that
      resulted in TEST_DEPS parameter not being included in the clang_compile()
      call. Spotted by George Karpenkov in D38444.
      
      Differential Revision: https://reviews.llvm.org/D38838
      
      llvm-svn: 315604
      858509cf
    • Matt Morehouse's avatar
      [clang-format] Allow building fuzzer with OSS-Fuzz flags. · d9cc8097
      Matt Morehouse authored
      Reviewers: kcc, bogner
      
      Reviewed By: kcc
      
      Subscribers: cfe-commits, mgorny
      
      Differential Revision: https://reviews.llvm.org/D38853
      
      llvm-svn: 315603
      d9cc8097
    • Evgeniy Stepanov's avatar
      [asan] Disable a flaky test on android. · fe35898b
      Evgeniy Stepanov authored
      llvm-svn: 315602
      fe35898b
    • Artem Belevich's avatar
      [NVPTX] Implemented wmma intrinsics and instructions. · 3bafc2f0
      Artem Belevich authored
      WMMA = "Warp Level Matrix Multiply-Accumulate".
      These are the new instructions introduced in PTX6.0 and available
      on sm_70 GPUs.
      
      Differential Revision: https://reviews.llvm.org/D38645
      
      llvm-svn: 315601
      3bafc2f0
    • Reid Kleckner's avatar
      [codeview] Don't emit FPO data in funclet prologues · 1a7e3878
      Reid Kleckner authored
      Attempt 3 to work around bugs in FPO data with funclets.
      
      llvm-svn: 315600
      1a7e3878
    • Justin Bogner's avatar
      llvm-isel-fuzzer: Work around BUILD_SHARED_LIBS testing issues · 754a1a8a
      Justin Bogner authored
      Building with BUILD_SHARED_LIBS makes it tricky to copy around
      executables at will, since they won't be able to find the LLVM
      libraries any more. This makes testing a feature that's based on the
      executable name problematic, so we'll just disable these two tests in
      that configuration.
      
      We could potentially fix this by symlinking the lib directory into the
      test directory, but that wouldn't work on windows, and losing testing
      on windows would be far worse than losing testing on a configuration
      that's barely even supported.
      
      llvm-svn: 315599
      754a1a8a
    • Artem Belevich's avatar
      [TableGen] Allow intrinsics to have up to 8 return values. · 786ca6a1
      Artem Belevich authored
      Differential Revision: https://reviews.llvm.org/D38633
      
      llvm-svn: 315598
      786ca6a1
    • Hans Wennborg's avatar
      Work around lack of Wine support for SetFileInformationByHandle harder · 477c974b
      Hans Wennborg authored
      In r315079 I added a check for the ERROR_CALL_NOT_IMPLEMENTED error
      code, but it turns out earlier versions of Wine just returned false
      without setting any error code.
      
      This patch handles the unset error code case.
      
      llvm-svn: 315597
      477c974b
    • Konstantin Zhuravlyov's avatar
      AMDGPU: Fix warnings introduced in r315526 · 63e87f5a
      Konstantin Zhuravlyov authored
      llvm-svn: 315596
      63e87f5a
    • Sanjay Patel's avatar
      [ValueTracking] return zero when there's conflict in known bits of a shift (PR34838) · e272be7c
      Sanjay Patel authored
      Poison allows us to return a better result than undef.
      
      llvm-svn: 315595
      e272be7c
    • Craig Topper's avatar
      [X86] Use -ffreestanding instead of using the mm_malloc.h include guard hack... · 326442c4
      Craig Topper authored
      [X86] Use -ffreestanding instead of using the mm_malloc.h include guard hack on more of the builtin tests.
      
      llvm-svn: 315594
      326442c4
    • Bruno Cardoso Lopes's avatar
      Reintroduce "[SCCP] Propagate integer range info for parameters in IPSCCP." · 326fdcbf
      Bruno Cardoso Lopes authored
      This is r315288 & r315294, which were reverted due to stage2 bot
      failures.
      
      Summary:
      This updates the SCCP solver to use of the ValueElement lattice for
      parameters, which provides integer range information. The range
      information is used to remove unneeded icmp instructions.
      
      For the following function, f() can be optimized to `ret i32 2` with
      this change
      
        source_filename = "sccp.c"
        target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
        target triple = "x86_64-unknown-linux-gnu"
      
        ; Function Attrs: norecurse nounwind readnone uwtable
        define i32 @main() local_unnamed_addr #0 {
        entry:
          %call = tail call fastcc i32 @f(i32 1)
          %call1 = tail call fastcc i32 @f(i32 47)
          %add3 = add nsw i32 %call, %call1
          ret i32 %add3
        }
      
        ; Function Attrs: noinline norecurse nounwind readnone uwtable
        define internal fastcc i32 @f(i32 %x) unnamed_addr #1 {
        entry:
          %c1 = icmp sle i32 %x, 100
      
          %cmp = icmp sgt i32 %x, 300
          %. = select i1 %cmp, i32 1, i32 2
          ret i32 %.
        }
      
        attributes #1 = { noinline }
      
      Reviewers: davide, sanjoy, efriedma, dberlin
      
      Reviewed By: davide, dberlin
      
      Subscribers: mcrosier, gberry, mssimpso, dberlin, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D36656
      
      llvm-svn: 315593
      326fdcbf
    • Lei Huang's avatar
      [PowerPC] Add profitablilty check for conversion to mtctr loops · 0724fea2
      Lei Huang authored
      Add profitability checks for modifying counted loops to use the mtctr instruction.
      
      The latency of mtctr is only justified if there are more than 4 comparisons that
      will be removed as a result.  Usually counted loops are formed relatively early
      and before unrolling, so most low trip count loops often don't survive.  However
      we want to ensure that if they do, we do not mistakenly update them to mtctr loops.
      
      Use CodeMetrics to ensure we are only doing this for small loops with small trip counts.
      
      Differential Revision: https://reviews.llvm.org/D38212
      
      llvm-svn: 315592
      0724fea2
    • Tim Renouf's avatar
      [AMDGPU] For amdpal, widen interpolation mode workaround · c8ffffe4
      Tim Renouf authored
      Summary:
      The interpolation mode workaround ensures that at least one
      interpolation mode is enabled in PSInputAddr. It does not also check
      PSInputEna on the basis that the user might enable bits in that
      depending on run-time state.
      
      However, for amdpal os type, the user does not enable some bits after
      compilation based on run-time states; the register values being
      generated here are the final ones set in the hardware. Therefore, apply
      the workaround to PSInputAddr and PSInputEnable together. (The case
      where a bit is set in PSInputAddr but not in PSInputEnable is where the
      frontend set up an input arg for a particular interpolation mode, but
      nothing uses that input arg. Really we should have an earlier pass that
      removes such an arg.)
      
      Reviewers: arsenm, nhaehnle, dstuttard
      
      Subscribers: kzhuravl, wdng, yaxunl, t-tye, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D37758
      
      llvm-svn: 315591
      c8ffffe4
    • Don Hinton's avatar
      [dump] Remove NDEBUG from test to enable dump methods [NFC] · 3e0199f7
      Don Hinton authored
      Summary:
      Add LLVM_FORCE_ENABLE_DUMP cmake option, and use it along with
      LLVM_ENABLE_ASSERTIONS to set LLVM_ENABLE_DUMP.
      
      Remove NDEBUG and only use LLVM_ENABLE_DUMP to enable dump methods.
      
      Move definition of LLVM_ENABLE_DUMP from config.h to llvm-config.h so
      it'll be picked up by public headers.
      
      Differential Revision: https://reviews.llvm.org/D38406
      
      llvm-svn: 315590
      3e0199f7
    • Sanjay Patel's avatar
      [x86] replace isEqualTo with == for efficiency · 3a72909b
      Sanjay Patel authored
      This is a follow-up suggested in D37534.
      Patch by Yulia Koval.
      
      llvm-svn: 315589
      3a72909b
    • Rafael Espindola's avatar
      Update comment. · 62222d04
      Rafael Espindola authored
      The number 131076 didn't show up anywhere in the test.
      
      llvm-svn: 315588
      62222d04
    • Simon Pilgrim's avatar
      [X86][SSE] Pull out repeated INSERT_VECTOR_ELT code from LowerBUILD_VECTOR... · 0903085e
      Simon Pilgrim authored
      [X86][SSE] Pull out repeated INSERT_VECTOR_ELT code from LowerBUILD_VECTOR v16i8/v8i16 insertion. NFCI.
      
      llvm-svn: 315587
      0903085e
    • Alexey Bataev's avatar
      [OPENMP] Fix PR34926: Fix handling of the array sections passed as · 7b0f1f09
      Alexey Bataev authored
      function params.
      
      Codegen could crash if the array section base expression is the
      function parameter.
      
      llvm-svn: 315586
      7b0f1f09
    • Rafael Espindola's avatar
      Relax test. · d7d752ad
      Rafael Espindola authored
      The address of the .got section is not relevant for the test.
      
      llvm-svn: 315585
      d7d752ad
    • Rafael Espindola's avatar
      Use 0 as sh_link when we don't have a dynamic symbol table. · 49419bb3
      Rafael Espindola authored
      It doesn't make sense to link from an alloc section to a non alloc
      one as we were doing.
      
      This matches the behavior of both gold and bfd.
      
      llvm-svn: 315584
      49419bb3
    • Kostya Kortchinsky's avatar
      [scudo] Allow for non-Android Shared TSD platforms, part 1 · 8d4ba5fd
      Kostya Kortchinsky authored
      Summary:
      This first part just prepares the grounds for part 2 and doesn't add any new
      functionality. It mostly consists of small refactors:
      - move the `pthread.h` include higher as it will be used in the headers;
      - use `errno.h` in `scudo_allocator.cpp` instead of the sanitizer one, update
        the `errno` assignments accordingly (otherwise it creates conflicts on some
        platforms due to `pthread.h` including `errno.h`);
      - introduce and use `getCurrentTSD` and `setCurrentTSD` for the shared TSD
        model code;
      
      Reviewers: alekseyshl
      
      Reviewed By: alekseyshl
      
      Subscribers: llvm-commits, srhines
      
      Differential Revision: https://reviews.llvm.org/D38826
      
      llvm-svn: 315583
      8d4ba5fd
    • Marshall Clow's avatar
      More fuzzing infastructre - regex · 2fca7aeb
      Marshall Clow authored
      llvm-svn: 315582
      2fca7aeb
    • Vlad Tsyrklevich's avatar
      [cfi-verify] Fix typo, actually check X86 target · 1d473652
      Vlad Tsyrklevich authored
      The typo in r315556 disabled the cfi-verify unit tests from building
      unconditionally, have it correctly check for the X86 target.
      
      llvm-svn: 315581
      1d473652
    • Alexander Kornienko's avatar
      Revert "Fix nested namespaces in google-readability-nested-namespace-comments." · 5d62569b
      Alexander Kornienko authored
      This reverts r315057. The revision introduces assertion failures:
      assertion failed at llvm/tools/clang/include/clang/Basic/SourceManager.h:428 in
      const clang::SrcMgr::ExpansionInfo &clang::SrcMgr::SLocEntry::getExpansion()
      const: isExpansion() && "Not a macro expansion SLocEntry!"
      Stack trace:
          __assert_fail
          clang::SrcMgr::SLocEntry::getExpansion()
          clang::SourceManager::getExpansionLocSlowCase()
          clang::SourceManager::getExpansionLoc()
          clang::Lexer::getRawToken()
          clang::tidy::readability::NamespaceCommentCheck::check()
          clang::ast_matchers::internal::(anonymous namespace)::MatchASTVisitor::MatchVisitor::visitMatch()
          clang::ast_matchers::internal::BoundNodesTreeBuilder::visitMatches()
          clang::ast_matchers::internal::(anonymous namespace)::MatchASTVisitor::matchWithFilter()
          clang::ast_matchers::internal::(anonymous namespace)::MatchASTVisitor::matchDispatch()
          clang::ast_matchers::internal::(anonymous namespace)::MatchASTVisitor::TraverseDecl()
          clang::RecursiveASTVisitor<>::TraverseDeclContextHelper()
          clang::RecursiveASTVisitor<>::TraverseDecl()
          clang::RecursiveASTVisitor<>::TraverseDeclContextHelper()
          clang::RecursiveASTVisitor<>::TraverseDecl()
          clang::RecursiveASTVisitor<>::TraverseDeclContextHelper()
          clang::RecursiveASTVisitor<>::TraverseDecl()
          clang::ast_matchers::MatchFinder::matchAST()
          clang::MultiplexConsumer::HandleTranslationUnit()
          clang::ParseAST()
          clang::FrontendAction::Execute()
          clang::CompilerInstance::ExecuteAction()
          clang::tooling::FrontendActionFactory::runInvocation()
          clang::tooling::ToolInvocation::runInvocation()
          clang::tooling::ToolInvocation::run()
      
      Still working on an isolated test case.
      
      llvm-svn: 315580
      5d62569b
    • Diana Picus's avatar
      MachineInstr: Make isEqual agree with getHashValue in MachineInstrExpressionTrait · 4a5f522d
      Diana Picus authored
      MachineInstr::isIdenticalTo has a lot of logic for dealing with register
      Defs (i.e. deciding whether to take them into account or ignore them).
      This logic gets things wrong in some obscure cases, for instance if an
      operand is not a Def for both the current MI and the one we are
      comparing to.
      
      I'm not sure if it's possible for this to happen for regular register
      operands, but it may happen in the ARM backend for special operands
      which use sentinel values for the register (i.e. 0, which is neither a
      physical register nor a virtual one).
      
      This causes MachineInstrExpressionTrait::isEqual (which uses
      MachineInstr::isIdenticalTo) to return true for the following
      instructions, which are the same except for the fact that one sets the
      flags and the other one doesn't:
      %1114 = ADDrsi %1113, %216, 17, 14, _, def _
      %1115 = ADDrsi %1113, %216, 17, 14, _, _
      
      OTOH, MachineInstrExpressionTrait::getHashValue returns different values
      for the 2 instructions due to the different isDef on the last operand.
      In practice this means that when trying to add those instructions to a
      DenseMap, they will be considered different because of their different
      hash values, but when growing the map we might get an assertion while
      copying from the old buckets to the new buckets because isEqual
      misleadingly returns true.
      
      This patch makes sure that isEqual and getHashValue agree, by improving
      the checks in MachineInstr::isIdenticalTo when we are ignoring virtual
      register definitions (which is what the Trait uses). Firstly, instead of
      checking isPhysicalRegister, we use !isVirtualRegister, so that we cover
      both physical registers and sentinel values. Secondly, instead of
      checking MachineOperand::isReg, we use MachineOperand::isIdenticalTo,
      which checks isReg, isSubReg and isDef, which are the same values that
      the hash function uses to compute the hash.
      
      Note that the function is symmetric with this change, since if the
      current operand is not a Def, we check MachineOperand::isIdenticalTo,
      which returns false if the operands have different isDef's.
      
      Differential Revision: https://reviews.llvm.org/D38789
      
      llvm-svn: 315579
      4a5f522d
    • Alexey Bataev's avatar
      [OPENMP] Fix PR34925: Fix getting thread_id lvalue for inlined regions · 311a9283
      Alexey Bataev authored
      in C.
      
      If we try to get the lvalue for thread_id variables in inlined regions,
      we did not use the correct version of function. Fixed this bug by adding
      overrided version of the function getThreadIDVariableLValue for inlined
      regions.
      
      llvm-svn: 315578
      311a9283
    • Sam McCall's avatar
      [clangd] less boilerplate in RPC dispatch · 8a5dded8
      Sam McCall authored
      Summary:
      Make the ProtocolHandlers glue between JSONRPCDispatcher and
      ClangdLSPServer generic.
      Eliminate small differences between methods, de-emphasize the unimportant
      distinction between notifications and methods.
      
      ClangdLSPServer is no longer responsible for producing a complete
      JSON-RPC response, just the JSON of the result object. (In future, we
      should move that JSON serialization out, too).
      Handler methods now take a context object that we may hang more
      functionality off in the future.
      
      Added documentation to ProtocolHandlers.
      
      Reviewers: ilya-biryukov, bkramer
      
      Reviewed By: ilya-biryukov
      
      Subscribers: cfe-commits
      
      Differential Revision: https://reviews.llvm.org/D38464
      
      llvm-svn: 315577
      8a5dded8
    • Daniel Jasper's avatar
      Reinstantiate old/bad deduplication logic that was removed in r315279. · 4d931202
      Daniel Jasper authored
      While this shouldn't be necessary anymore, we have cases where we run
      into the assertion below, i.e. cases with two non-fragment entries for the
      same variable at different frame indices.
      
      This should be fixed, but for now, we should revert to a version that
      does not trigger asserts.
      
      llvm-svn: 315576
      4d931202
    • Ivan A. Kosarev's avatar
      [CodeGen] Generate TBAA info along with LValue base info · f5f20467
      Ivan A. Kosarev authored
      This patch enables explicit generation of TBAA information in all
      cases where LValue base info is propagated or constructed in
      non-trivial ways. Eventually, we will consider each of these
      cases to make sure the TBAA information is correct and not too
      conservative. For now, we just fall back to generating TBAA info
      from the access type.
      
      This patch should not bring in any functional changes.
      
      This is part of D38126 reworked to be a separate patch to
      simplify review.
      
      Differential Revision: https://reviews.llvm.org/D38733
      
      llvm-svn: 315575
      f5f20467
    • Alexander Kornienko's avatar
      Fix the google-readability-namespace-comments-cxx17 test after r315060. · 7853351a
      Alexander Kornienko authored
      Restore the file extension. Make the namespace longer than the
      ShortNamespaceLines so that the check triggers.
      
      llvm-svn: 315574
      7853351a
    • NAKAMURA Takumi's avatar
      Fix warnings. [-Wdocumentation] · 12ab07e0
      NAKAMURA Takumi authored
      llvm-svn: 315573
      12ab07e0
    • NAKAMURA Takumi's avatar
      SVal::getAsSymbol(bool IncludeBaseRegions): Follow... · 5dadfd4b
      NAKAMURA Takumi authored
      SVal::getAsSymbol(bool IncludeBaseRegions): Follow clang/StaticAnalyzer/Core/PathSensitive/SVals.h, s/IncludeBaseRegion/IncludeBaseRegions/g [-Wdocumentation]
      
      llvm-svn: 315572
      5dadfd4b
    • Oliver Stannard's avatar
      [AsmParser] Suppress compile warning for targets with no register diags · dab52128
      Oliver Stannard authored
      This fixes the "switch statement contains 'default' but no 'case' labels"
      warnings in table-generated code introduced in r315295.
      
      llvm-svn: 315571
      dab52128
Loading