FailedChanges

Summary

  1. [AMDGPU] separate accounting for agprs Account and report agprs separately on gfx908. Other targets do not change the reporting. Differential Revision: https://reviews.llvm.org/D68307
  2. Fix unused variable warning. NFCI.
  3. [X86] Add a DAG combine to shrink vXi64 gather/scatter indices that are constant with sufficient sign bits to fit in vXi32 The gather/scatter instructions can implicitly sign extend the indices. If we're operating on 32-bit data, an v16i64 index can force a v16i32 gather to be split in two since the index needs 2 registers. If we can shrink the index to the i32 we can avoid the split. It should always be safe to shrink the index regardless of the number of elements. We have gather/scatter instructions that can use v2i32 index stored in a v4i32 register with v2i64 data size. I've limited this to before legalize types to avoid creating a v2i32 after type legalization. We could check for it, but we'd also need testing. I'm also only handling build_vectors with no bitcasts to be sure the truncate will constant fold. Differential Revision: https://reviews.llvm.org/D68247
  4. Emit TypeNodes.def with tblgen. The primary goal here is to make the type node hierarchy available to other tblgen backends, although it should also make it easier to generate more selective x-macros in the future. Because tblgen doesn't seem to allow backends to preserve the source order of defs, this is not NFC because it significantly re-orders IDs. I've fixed the one (fortunately obvious) place where we relied on the old order. Unfortunately, I wasn't able to share code with the existing AST-node x-macro generators because the x-macro schema we use for types is different in a number of ways. The main loss is that subclasses aren't ordered together, which doesn't seem important for types because the hierarchy is generally very shallow with little clustering.
  5. Use scope qualifiers in Clang's tblgen backends to get useful redeclaration checking. NFC.
  6. [CMake] Fix the value of `config.target_cflags` for non-macOS Apple platforms. Attempt #3. The main problem here is that `-*-version_min=` was not being passed to the compiler when building test cases. This can cause problems when testing on devices running older OSs because Clang would previously assume the minimum deployment target is the the latest OS in the SDK which could be much newer than what the device is running. Previously the generated value looked like this: `-arch arm64 -isysroot <path_to_xcode>/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk` With this change it now looks like: `-arch arm64 -stdlib=libc++ -miphoneos-version-min=8.0 -isysroot <path_to_xcode>/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk` This mirrors the setting of config.target_cflags on macOS. This change is made for ASan, LibFuzzer, TSan, and UBSan. To implement this a new `get_test_cflags_for_apple_platform()` function has been added that when given an Apple platform name and architecture returns a string containing the C compiler flags to use when building tests. This also calls a new helper function `is_valid_apple_platform()` that validates Apple platform names. This is the third attempt at landing the patch. The first attempt (r359305) had to be reverted (r359327) due to a buildbot failure. The problem was that calling `get_test_cflags_for_apple_platform()` can trigger a CMake error if the provided architecture is not supported by the current CMake configuration. Previously, this could be triggered by passing `-DCOMPILER_RT_ENABLE_IOS=OFF` to CMake. The root cause is that we were generating test configurations for a list of architectures without checking if the relevant Sanitizer actually supported that architecture. We now intersect the list of architectures for an Apple platform with `<SANITIZER>_SUPPORTED_ARCH` (where `<SANITIZER>` is a Sanitizer name) to iterate through the correct list of architectures. The second attempt (r363633) had to be reverted (r363779) due to a build failure. The failed build was using a modified Apple toolchain where the iOS simulator SDK was missing. This exposed a bug in the existing UBSan test generation code where it was assumed that `COMPILER_RT_ENABLE_IOS` implied that the toolchain supported both iOS and the iOS simulator. This is not true. This has been fixed by using the list `SANITIZER_COMMON_SUPPORTED_OS` for the list of supported Apple platforms for UBSan. For consistency with the other Sanitizers we also now intersect the list of architectures with UBSAN_SUPPORTED_ARCH. rdar://problem/50124489 Differential Revision: https://reviews.llvm.org/D61242
  7. AMDGPU: Fix an out of date assert in addressing FrameIndex Reviewers: arsenm Differential Revision: https://reviews.llvm.org/D67574
  8. [libFuzzer] Remove lazy counters. Summary: Lazy counters haven't improved performance for large fuzz targets. Reviewers: kcc Reviewed By: kcc Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67476
  9. Determine endianness at a time when it doesn't inadvertantly clear gdb's wrap_buffer via gdb.execute. Summary: I haven't managed a small reproduction for this bug, it involves complicated and deeply nested data structures with a wide variety of pretty printers. But in general, we shouldn't be combining gdb's command line interface (via gdb.execute) with pretty-printers. Subscribers: christof, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68306
  10. Revert r373172 "[X86] Add custom isel logic to match VPTERNLOG from 2 logic ops." This seems to be causing some performance regresions that I'm trying to investigate. One thing that stands out is that this transform can increase the live range of the operands of the earlier logic op. This can be bad for register allocation. If there are two logic op inputs we should really combine the one that is closest, but SelectionDAG doesn't have a good way to do that. Maybe we need to do this as a basic block transform in Machine IR.
  11. [clang][OpenMP][NFC] #include GlobalDecl.h to avoid incomplete class type
  12. CGVTables - silence static analyzer getAs<FunctionProtoType> null dereference warnings. NFCI. The static analyzer is warning about potential null dereferences, but we should be able to use castAs<FunctionProtoType> directly and if not assert will fire for us.
  13. [X86] convertToThreeAddress, make sure second operand of SUB32ri is really an immediate before calling getImm(). It might be a symbol instead. We can't fold those since we can't negate them. Similar for other SUB with immediates. Fixes PR43529.
  14. CGExprAgg - remove duplicate code. NFCI. Remove duplicate getAs<> call, avoiding a clang static analyzer null dereference warning.
  15. [FileCheck] Move private interface to its own header Summary: Most of the class definition in llvm/include/llvm/Support/FileCheck.h are actually implementation details that should not be relied upon. This commit moves all of it in a new header file under llvm/lib/Support/FileCheck. It also takes advantage of the code movement to put the code into a new llvm::filecheck namespace. Reviewers: jhenderson, chandlerc, jdenny, probinson, grimar, arichardson, rnk Subscribers: hiraditya, llvm-commits, probinson, dblaikie, grimar, arichardson, tra, rnk, kristina, hfinkel, rogfer01, JonChesterfield Tags: #llvm Differential Revision: https://reviews.llvm.org/D67649
  16. [BypassSlowDivision][CodeGenPrepare] avoid crashing on unused code (PR43514) https://bugs.llvm.org/show_bug.cgi?id=43514
  17. gn build: Merge r373392
  18. [clang-tidy] Rename objc-avoid-spinlock check to darwin-avoid-spinlock Summary: OSSpinLock* are Apple/Darwin functions, but were previously located with ObjC checks as those were most closely tied to Apple platforms before. Now that there's a specific Darwin module, relocating the check there. This change was prepared by running rename_check.py. Contributed By: mwyman Reviewers: stephanemoore, dmaclach Reviewed By: stephanemoore Subscribers: Eugene.Zelenko, mgorny, xazax.hun, cfe-commits Tags: #clang-tools-extra, #clang, #llvm Differential Revision: https://reviews.llvm.org/D68148
  19. [ASan][NFC] Address remaining comments for https://reviews.llvm.org/D68287 I submitted that patch after I got the LGTM, but the comments didn't appear until after I submitted the change. This adds `const` to the constructor argument and makes it a pointer.
  20. [NFC] Fix typos in libc++ documentation
  21. [ASan] Make GlobalsMD member a const reference. PR42924 points out that copying the GlobalsMetadata type during construction of AddressSanitizer can result in exteremely lengthened build times for translation units that have many globals. This can be addressed by just making the GlobalsMD member in AddressSanitizer a reference to avoid the copy. The GlobalsMetadata type is already passed to the constructor as a reference anyway. Differential Revision: https://reviews.llvm.org/D68287
  22. [clang-format] [PR43372] - clang-format shows replacements in DOS files when no replacement is needed Summary: This is a patch to fix PR43372 (https://bugs.llvm.org/show_bug.cgi?id=43372) - clang-format can't format file with includes, ( which really keep providing replacements for already sorted headers.) A similar issue was addressed by @krasimir in {D60199}, however, this seemingly only prevented the issue when the files being formatted did not contain windows line endings (\r\n) It's possible this is related to https://twitter.com/StephanTLavavej/status/1176722938243895296 given who @STL_MSFT works for! As people often used the existence of replacements to determine if a file needs clang-formatting, this is probably pretty important for windows users There may be a better way of comparing 2 strings and ignoring \r (which appear in both Results and Code), I couldn't choose between this idiom or the copy_if approach, but I'm happy to change it to whatever people consider more performant. Reviewers: krasimir, klimek, owenpan, ioeric Reviewed By: krasimir Subscribers: cfe-commits, STL_MSFT, krasimir Tags: #clang-format, #clang, #clang-tools-extra Differential Revision: https://reviews.llvm.org/D68227
  23. [OPENMP50]Initial codegen for declare variant implementation vendor. Initial implementation of global aliases emission for the declare variant pragma with implementation vendor context selector set.
  24. [DDG] Data Dependence Graph - Root Node Summary: This patch adds Root Node to the DDG. The purpose of the root node is to create a single entry node that allows graph walk iterators to iterate through all nodes of the graph, making sure that no node is left unvisited during a graph walk (eg. SCC or DFS). Once the DDG is fully constructed it will have exactly one root node. Every node in the graph is reachable from the root. The algorithm for connecting the root node is based on depth-first-search that keeps track of visited nodes to try to avoid creating unnecessary edges. Authored By: bmahjour Reviewer: Meinersbur, fhahn, myhsu, xtian, dmgreen, kbarton, jdoerfert Reviewed By: Meinersbur Subscribers: ychen, arphaman, simoll, a.elovikov, mgorny, hiraditya, jfb, wuzish, llvm-commits, jsji, Whitney, etiotto, ppc-slack Tag: #llvm Differential Revision: https://reviews.llvm.org/D67970
  25. [libc++] Re-apply workaround for D63883 In reality, this workaround is for the fact that LIBCXX_CXX_ABI=libcxxabi can't be specified on Linux, since libc++abi isn't shipped with the system. Since the build bots explicitly specify LIBCXX_CXX_ABI=libcxxabi, they fail unless we apply the workaround.
  26. [libc++] Remove workaround for D63883 I tried applying D63883 three times and could never get around to making it work. I'm giving up on that for now, but soon this should be irrelevant anyway since all builds will move to the monorepo (where we're always using the in-tree libc++abi unless explicitly specified otherwise).
  27. [MemorySSA] Check for unreachable blocks when getting last definition. If a single predecessor is found, still check if the block is unreachable. The test that found this had a self loop unreachable block. Resolves PR43493.
  28. Add a missing pass in ARM O3 pipeline
  29. [MemorySSA] Update last_access_in_block check. The check for "was there an access in this block" should be: is the last access in this block and is it not a newly inserted phi. Resolves new test in PR43438. Also fix a typo when simplifying trivial Phis to match the comment.
  30. [Dominators][CodeGen] Don't mark MachineDominatorTree as preserved in MachineLICM
  31. [Dominators][CodeGen] Fix MachineDominatorTree preservation in PHIElimination Summary: PHIElimination modifies CFG and marks MachineDominatorTree as preserved. Therefore, it the CFG changes it should also update the MDT, when available. This patch teaches PHIElimination to recalculate MDT when necessary. This fixes the `tailmerging_in_mbp.ll` test failure discovered after switching to generic DomTree verification algorithm in MachineDominators in D67976. Reviewers: arsenm, hliao, alex-t, rampitec, vpykhtin, grosser Reviewed By: rampitec Subscribers: MatzeB, wdng, hiraditya, javed.absar, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68154
  32. Reapply [Dominators][CodeGen] Clean up MachineDominators This reverts r373117 (git commit 159ef37735f21ae373282e0c53cbd9b6af1e0dfd) Phabricator review: https://reviews.llvm.org/D67976.
  33. [NFC] Updated tests after rL373371 Forgot to run check-clang-semacxx.
  34. [OPENMP]Fix PR43330: OpenMP target: Mapping of partial arrays fails. Fixed calculation the size of the array sections.
  35. [Diagnostics] Make -Wenum-compare-conditional off by default Too many false positives, eg. in Chromium.
  36. [ThinLTO] Enable index-only WPD from clang Summary: To trigger the index-only Whole Program Devirt support added to LLVM, we need to be able to specify -fno-split-lto-unit in conjunction with -fwhole-program-vtables. Keep the default for -fwhole-program-vtables as -fsplit-lto-unit, but don't error on that option combination. Reviewers: pcc Subscribers: mehdi_amini, inglorion, steven_wu, dexonsmith, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68029
  37. [PGO] Fix typos from r359612. NFC.
  38. [ARM] Some MVE shuffle plus extend tests. NFC
  39. Revert "compiler-rt: use __GLIBC_PREREQ for SANITIZER_INTERCEPT_GETRANDOM" Revert "compiler-rt: move all __GLIBC_PREREQ into own header file" "move all __GLIBC_PREREQ" breaks build on some bots This reverts commit 2d75ee937397c209dbd95aefc88da6301fed07da. This reverts commit 7a6461fcc2ed8e28c43993c561721af0bbe97f3a.
  40. AMDGPU/SILoadStoreOptimizer: Add helper functions for working with CombineInfo Summary: This is a refactoring that will make future improvements to this pass easier. This change should not change the behavior of the pass. Reviewers: arsenm, pendingchaos, rampitec, nhaehnle, vpykhtin Reviewed By: nhaehnle, vpykhtin Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65496
  41. [InstCombine] Deal with -(trunc(X >>u 63)) -> trunc(X >>s 63) Identical to it's trunc-less variant, just pretent-to hoist trunc, and everything else still holds: https://rise4fun.com/Alive/JRU
  42. [InstCombine] Preserve 'exact' in -(X >>u 31) -> (X >>s 31) fold https://rise4fun.com/Alive/yR4
  43. [NFC][InstCombine] (Better) tests for sign-bit-smearing pattern https://rise4fun.com/Alive/JRU https://rise4fun.com/Alive/yR4 <- we can preserve 'exact'
  44. [llvm-mca] Add a -mattr flag This adds a -mattr flag to llvm-mca, for cases where the -mcpu option does not contain all optional features. Differential Revision: https://reviews.llvm.org/D68190
  45. [ReleaseProcess] Document requirement to set MACOSX_DEPLOYMENT_TARGET
  46. [IndVars] An implementation of loop predication without a need for speculation This patch implements a variation of a well known techniques for JIT compilers - we have an implementation in tree as LoopPredication - but with an interesting twist. This version does not assume the ability to execute a path which wasn't taken in the original program (such as a guard or widenable.condition intrinsic). The benefit is that this works for arbitrary IR from any frontend (including C/C++/Fortran). The tradeoff is that it's restricted to read only loops without implicit exits. This builds on SCEV, and can thus eliminate the loop varying portion of the any early exit where all exits are understandable by SCEV. A key advantage is that fixing deficiency exposed in SCEV - already found one while writing test cases - will also benefit all of full redundancy elimination (and most other loop transforms). I haven't seen anything in the literature which quite matches this. Given that, I'm not entirely sure that keeping the name "loop predication" is helpful. Anyone have suggestions for a better name? This is analogous to partial redundancy elimination - since we remove the condition flowing around the backedge - and has some parallels to our existing transforms which try to make conditions invariant in loops. Factoring wise, I chose to put this in IndVarSimplify since it's a generally applicable to all workloads. I could split this off into it's own pass, but we'd then probably want to add that new pass every place we use IndVars. One solid argument for splitting it off into it's own pass is that this transform is "too good". It breaks a huge number of existing IndVars test cases as they tend to be simple read only loops. At the moment, I've opted it off by default, but if we add this to IndVars and enable, we'll have to update around 20 test files to add side effects or disable this transform. Near term plan is to fuzz this extensively while off by default, reflect and discuss on the factoring issue mentioned just above, and then enable by default. I also need to give some though to supporting widenable conditions in this framing. Differential Revision: https://reviews.llvm.org/D67408
  47. AMDGPU/GlobalISel: Increase max legal size to 1024 There are 1024 bit register classes defined for AGPRs. Additionally OpenCL defines vectors up to 16 x i64, and this helps those tests legalize.
  48. [X86] Add a VBROADCAST_LOAD ISD opcode representing a scalar load broadcasted to a vector. Summary: This adds the ISD opcode and a DAG combine to create it. There are probably some places where we can directly create it, but I'll leave that for future work. This updates all of the isel patterns to look for this new node. I had to add a few additional isel patterns for aligned extloads which we should probably fix with a DAG combine or something. This does mean that the broadcast load folding for avx512 can no longer match a broadcasted aligned extload. There's still some work to do here for combining a broadcast of a broadcast_load. We also need to improve extractelement or demanded vector elements of a broadcast_load. I'll try to get those done before I submit this patch. Reviewers: RKSimon, spatel Reviewed By: RKSimon Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68198
  49. [OPENMP]Fix PR43516: Compiler crash with collapse(2) on non-rectangular loop. Missed check if the condition is also dependent when building final expressions for the collapsed loop directives.
  50. [AMDGPU] Add VerifyScheduling support. Summary: This is cut and pasted from the corresponding GenericScheduler functions. Reviewers: arsenm, atrick, tstellar, vpykhtin Subscribers: MatzeB, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, javed.absar, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68264
  51. [Diagnostics] Move warning into the subgroup (-Wenum-compare-conditional)
  52. [DAG][X86] Convert isNegatibleForFree/GetNegatedExpression to a target hook (PR42863) This patch converts the DAGCombine isNegatibleForFree/GetNegatedExpression into overridable TLI hooks. The intention is to let us extend existing FNEG combines to work more generally with negatible float ops, allowing it work with target specific combines and opcodes (e.g. X86's FMA variants). Unlike the SimplifyDemandedBits, we can't just handle target nodes through a Target callback, we need to do this as an override to allow targets to handle generic opcodes as well. This does mean that the target implementations has to duplicate some checks (recursion depth etc.). Partial reversion of rL372756 - I've identified the infinite loop issue inside the X86 override but haven't fixed it yet so I've only (re)committed the common TargetLowering refactoring part of the patch. Differential Revision: https://reviews.llvm.org/D67557
  53. [Dominators][CodeGen] Add MachinePostDominatorTree verification Summary: This patch implements Machine PostDominator Tree verification and ensures that the verification doesn't fail the in-tree tests. MPDT verification can be enabled using `verify-machine-dom-info` -- the same flag used by Machine Dominator Tree verification. Flipping the flag revealed that MachineSink falsely claimed to preserve CFG and MDT/MPDT. This patch fixes that. Reviewers: arsenm, hliao, rampitec, vpykhtin, grosser Reviewed By: hliao Subscribers: wdng, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68235
  54. [clang] Make handling of unnamed template params similar to function params Summary: Clang uses the location identifier should be inserted for declarator decls when a decl is unnamed. But for type template and template template paramaters it uses the location of "typename/class" keyword, which makes it hard for tooling to insert/change parameter names. This change tries to unify these two cases by making template parameter parsing and sourcerange operations similar to function params/declarator decls. Reviewers: ilya-biryukov Subscribers: arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68143
  55. Revert rL349624 : Let TableGen write output only if it changed, instead of doing so in cmake, attempt 2 Differential Revision: https://reviews.llvm.org/D55842 ----------------- As discussed on PR43385 this is causing Visual Studio msbuilds to perpetually rebuild all tablegen generated files
  56. Revert "Reland "[utils] Implement the llvm-locstats tool"" This reverts commit rL373317 due to test failure on the clang-s390x-linux build bot.
  57. Revert [InstCombine] sprintf(dest, "%s", str) -> memccpy(dest, str, 0, MAX) Seems to be slower than memcpy + strlen.
  58. [InstCombine] sprintf(dest, "%s", str) -> memccpy(dest, str, 0, MAX)
  59. [llvm-exegesis/lib] Fix missing linkage to MCParser Otherwise, shared-lib build fails with: lib64/libLLVMExegesis.a(SnippetFile.cpp.o): In function `llvm::exegesis::readSnippets(llvm::exegesis::LLVMState const&, llvm::StringRef)': SnippetFile.cpp:(.text._ZN4llvm8exegesis12readSnippetsERKNS0_9LLVMStateENS_9StringRefE+0x31f): undefined reference to `llvm::createMCAsmParser(llvm::SourceMgr&, llvm::MCContext&, llvm::MCStreamer&, llvm::MCAsmInfo const&, unsigned int)' SnippetFile.cpp:(.text._ZN4llvm8exegesis12readSnippetsERKNS0_9LLVMStateENS_9StringRefE+0x41c): undefined reference to `llvm::MCAsmParser::setTargetParser(llvm::MCTargetAsmParser&)' collect2: error: ld returned 1 exit status
  60. [NFC][ARM][MVE] More tests Add some tail predication tests with fast math.
  61. [libc++] Harden usage of static_assert against C++03 In C++03, we emulate static_assert with a macro, and we must parenthesize multiple arguments.
  62. [clang] Ignore builtin namespaces in test/Import/cxx-anon-namespace Some platforms (e.g. AArch64) put __va_list in the 'std' namespace which might end up being the first namespace we match in this test. Instead let the first namespace match via file name/line so that we skip the builtin namespaces.
  63. DIExpression::createFragmentExpression - silence static analyzer DIExpression* null dereference warning with an assertion. NFCI.
  64. VirtualFileSystem - replace dyn_cast<>+assert with cast<> calls. NFCI. Silences a number of clang static analyzer null dereference warnings.
  65. ObjectFile makeTriple - silence static analyzer dyn_cast<COFFObjectFile> null dereference warning. NFCI. The static analyzer is warning about a potential null dereference, but we should be able to use cast<COFFObjectFile> directly and if not assert will fire for us.
  66. [clangd] Implement getBeginning for overloaded operators. Summary: This will fix some bugs where navigation doesn't work on cases like `std::cout <^< "hello"`. Reviewers: ilya-biryukov Subscribers: MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D67695
  67. InstrProf - avoid static analyzer dyn_cast<ConstantInt> null dereference warning. The static analyzer is warning about a potential null dereference, as we're already earlying-out for a null Constant pointer I've just folded this into a dyn_cast_or_null<ConstantInt>. No test case, this is by inspection only.
  68. ConstantFold - ConstantFoldSelectInstruction - assume constant vector elements are constant. NFCI. Goes a bit further than rL372743 which added the early out - elements should be Constant so use cast<Constant> instead (and rely on the assert if anything fails).
  69. [clangd] Use the index-based API to do the header-source switch. Summary: If the file heuristic fails, we try to use the index&AST to do the header/source inference. Reviewers: kadircet Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68211
  70. [obj2yaml] - Fix BB after r373315. The success return value for data extractor's cursor should also be checked.
  71. [clangd] Handle template arguments in findExplicitReferences Reviewers: kadircet Reviewed By: kadircet Subscribers: MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68137
  72. Reland "[utils] Implement the llvm-locstats tool" The tool reports verbose output for the DWARF debug location coverage. The llvm-locstats for each variable or formal parameter DIE computes what percentage from the code section bytes, where it is in scope, it has location description. The line 0 shows the number (and the percentage) of DIEs with no location information, but the line 100 shows the number (and the percentage) of DIEs where there is location information in all code section bytes (where the variable or parameter is in the scope). The line 50..59 shows the number (and the percentage) of DIEs where the location information is in between 50 and 59 percentage of its scope covered. Differential Revision: https://reviews.llvm.org/D66526
  73. [yaml2obj] - Allow specifying custom Link values for SHT_HASH section. This allows setting any sh_link values for SHT_HASH sections. Differential revision: https://reviews.llvm.org/D68214
  74. [yaml2obj/obj2yaml] - Add support for SHT_HASH sections. SHT_HASH specification is: http://www.sco.com/developers/gabi/latest/ch5.dynamic.html#hash In short the format is the following: it has 2 uint32 fields in its header: nbucket and nchain followed by (nbucket + nchain) uint32 values. This patch allows dumping and parsing such sections. Differential revision: https://reviews.llvm.org/D68085
  75. Fixup r373278: Move test to X86 directory ...since it's using an x86 triple.
  76. [llvm-exegesis][NFC] Refactor X86 tests fixtures into a base class. Reviewers: gchatelet, a.sidorin Subscribers: tschuett, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68262
  77. [clang][lldb][NFC] Encapsulate ExternalASTMerger::ImporterSource NFC preparation work for upcoming ExternalASTMerger patches.
  78. Revert "[OCaml] Handle nullptr in Llvm.global_initializer" This reverts commit r373299. It broke tests: http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/18485
  79. Revert "GlobalISel: Handle llvm.read_register" This reverts commit r373294. It broke Clang's CodeGen/arm64-microsoft-status-reg.cpp: http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/18483
  80. [NFC][HardwareLoops] Update some iterators
  81. Decrease the verbosity of the -ftime-trace option And move the relevant information in the doc. Summary: Currently, building a large software like Firefox shows 'Use chrome://tracing or Speedscope App (https://www.speedscope.app) for flamegraph visualization' for each file. Reviewers: anton-afanasyev Reviewed By: anton-afanasyev Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68260
  82. [clangd] Handle OverloadExpr in targetDecl Reviewers: sammccall Reviewed By: sammccall Subscribers: nridge, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68119
  83. [clang-tidy] Fix module registry name and description for Darwin clang-tidy module. Summary: When creating the module, must have copy-pasted from the misc module, and forgotten to update the name/description of the module in the registry. Reviewers: stephanemoore, benhamilton, gribozavr Reviewed By: gribozavr Subscribers: xazax.hun, cfe-commits Tags: #clang, #clang-tools-extra, #llvm Differential Revision: https://reviews.llvm.org/D68251
  84. [X86] Consider isCodeGenOnly in the EVEX2VEX pass to make VMAXPD/PS map to the non-commutable VEX instruction. Use EVEX2VEX override to fix the scalar instructions. Previously the match was ambiguous and VMAXPS/PD and VMAXCPS/PD were mapped to the same VEX instruction. But we should keep the commutableness when change the opcode.
  85. [WebAssembly] Make sure EH pads are preferred in sorting Summary: In CFGSort, we try to make EH pads have higher priorities as soon as they are ready to be sorted, to prevent creation of unwind destination mismatches in CFGStackify. We did that by making priority queues' comparison function prefer EH pads, but it was possible for an EH pad to be popped from `Preferred` queue and then not sorted immediately and enter `Ready` queue instead in a certain condition. This patch makes sure that special condition does not consider EH pads as its candidates. Reviewers: dschuff Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68229
  86. [WebAssembly] Unstackify regs after fixing unwinding mismatches Summary: Fixing unwind mismatches for exception handling can result in splicing existing BBs and moving some of instructions to new BBs. In this case some of stackified def registers in the original BB can be used in the split BB. For example, we have this BB and suppose %r0 is a stackified register. ``` bb.1: %r0 = call @foo ... use %r0 ... ``` After fixing unwind mismatches in CFGStackify, `bb.1` can be split and some instructions can be moved to a newly created BB: ``` bb.1: %r0 = call @foo bb.split (new): ... use %r0 ... ``` In this case we should make %r0 un-stackified, because its use is now in another BB. When spliting a BB, this CL unstackifies all def registers that have uses in the new split BB. Reviewers: dschuff Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68218
  87. [OCaml] Handle nullptr in Llvm.global_initializer LLVMGetInitializer returns nullptr in case there is no initializer. There is not much that can be done with nullptr in OCaml, not even test if it is null. Also, there does not seem to be a C or OCaml API to test if there is an initializer. So this diff changes Llvm.global_initializer to return an option. Differential Revision: https://reviews.llvm.org/D65195 Reviewed by: whitequark Authored by: kren1
  88. AMDGPU/GlobalISel: Select s1 src G_SITOFP/G_UITOFP
  89. Remove a undefined constructor introduced by r373244.
  90. AMDGPU/GlobalISel: Add support for init.exec intrinsics TThe existing wave32 behavior seems broken and incomplete, but this reproduces it.
  91. AMDGPU/GlobalISel: Allow scc/vcc alternative mappings for s1 constants
  92. GlobalISel: Handle llvm.read_register SelectionDAG has a bunch of machinery to defer this to selection time for some reason. Just directly emit a copy during IRTranslator. The x86 usage does somewhat questionably check hasFP, which could depend on the whole function being at minimum translated. This does lose the convergent bit if the callsite had it, which may be a problem. We also lose that in general for intrinsics, which may also be a problem.
  93. AMDGPU/GlobalISel: Avoid creating shift of 0 in arg lowering This is sort of papering over the fact that we don't run a combiner anywhere, but avoiding creating 2 instructions in the first place is easy.
  94. TLI: Remove DAG argument from getRegisterByName Replace with the MachineFunction. X86 is the only user, and only uses it for the function. This removes one obstacle from using this in GlobalISel. The other is the more tolerable EVT argument. The X86 use of the function seems questionable to me. It checks hasFP, before frame lowering.
  95. [llvm-readobj/llvm-readelf] Delete --arm-attributes (alias for --arch-specific) D68110 added --arch-specific (supported by GNU readelf) and made --arm-attributes an alias for it. The tests were later migrated to use --arch-specific. Note, llvm-readelf --arch-specific currently just uses llvm-readobj style output for ARM attributes. The readelf-style output is not implemented. Reviewed By: compnerd, kongyi, rupprecht Differential Revision: https://reviews.llvm.org/D68196
  96. [X86] Add test case to show missed opportunity to shrink a constant index to a gather in order to avoid splitting. Also add a test case for an index that could be shrunk, but would create a narrow type. We can go ahead and do it we just need to be before type legalization. Similar test cases for scatter as well.
  97. Don't elide the use of the thread wrapper for a thread_local constinit variable with non-trivial destruction. We still need to invoke the thread wrapper to trigger registration of the destructor call on thread shutdown.
  98. AMDGPU/GlobalISel: Select G_UADDO/G_USUBO
  99. GlobalISel: Implement widenScalar for G_SITOFP/G_UITOFP sources Legalize 16-bit G_SITOFP/G_UITOFP for AMDGPU.
  100. AMDGPU/GlobalISel: Legalize G_GLOBAL_VALUE Handle other cases besides LDS. Mostly a straight port of the existing handling, without the intermediate custom nodes.
Revision 373411 by rampitec:
[AMDGPU] separate accounting for agprs

Account and report agprs separately on gfx908. Other targets
do not change the reporting.

Differential Revision: https://reviews.llvm.org/D68307
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUAsmPrinter.h (diff)llvm.src/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIProgramInfo.h (diff)llvm.src/lib/Target/AMDGPU/SIProgramInfo.h
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/agpr-register-count.ll (diff)llvm.src/test/CodeGen/AMDGPU/agpr-register-count.ll
Revision 373410 by hliao:
Fix unused variable warning. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGOpenMPRuntime.cpp (diff)clang.src/lib/CodeGen/CGOpenMPRuntime.cpp
Revision 373408 by ctopper:
[X86] Add a DAG combine to shrink vXi64 gather/scatter indices that are constant with sufficient sign bits to fit in vXi32

The gather/scatter instructions can implicitly sign extend the indices. If we're operating on 32-bit data, an v16i64 index can force a v16i32 gather to be split in two since the index needs 2 registers. If we can shrink the index to the i32 we can avoid the split. It should always be safe to shrink the index regardless of the number of elements. We have gather/scatter instructions that can use v2i32 index stored in a v4i32 register with v2i64 data size.

I've limited this to before legalize types to avoid creating a v2i32 after type legalization. We could check for it, but we'd also need testing. I'm also only handling build_vectors with no bitcasts to be sure the truncate will constant fold.

Differential Revision: https://reviews.llvm.org/D68247
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/masked_gather_scatter.ll (diff)llvm.src/test/CodeGen/X86/masked_gather_scatter.ll
Revision 373407 by rjmccall:
Emit TypeNodes.def with tblgen.

The primary goal here is to make the type node hierarchy available to
other tblgen backends, although it should also make it easier to generate
more selective x-macros in the future.

Because tblgen doesn't seem to allow backends to preserve the source
order of defs, this is not NFC because it significantly re-orders IDs.
I've fixed the one (fortunately obvious) place where we relied on
the old order.  Unfortunately, I wasn't able to share code with the
existing AST-node x-macro generators because the x-macro schema we use
for types is different in a number of ways.  The main loss is that
subclasses aren't ordered together, which doesn't seem important for
types because the hierarchy is generally very shallow with little
clustering.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/CMakeLists.txt (diff)clang.src/include/clang/AST/CMakeLists.txt
The file was modified/cfe/trunk/include/clang/AST/Type.h (diff)clang.src/include/clang/AST/Type.h
The file was removed/cfe/trunk/include/clang/AST/TypeNodes.defclang.src/include/clang/AST/TypeNodes.def
The file was added/cfe/trunk/include/clang/Basic/TypeNodes.tdclang.src/include/clang/Basic/TypeNodes.td
The file was modified/cfe/trunk/utils/TableGen/CMakeLists.txt (diff)clang.src/utils/TableGen/CMakeLists.txt
The file was added/cfe/trunk/utils/TableGen/ClangTypeNodesEmitter.cppclang.src/utils/TableGen/ClangTypeNodesEmitter.cpp
The file was modified/cfe/trunk/utils/TableGen/TableGen.cpp (diff)clang.src/utils/TableGen/TableGen.cpp
The file was modified/cfe/trunk/utils/TableGen/TableGenBackends.h (diff)clang.src/utils/TableGen/TableGenBackends.h
Revision 373406 by rjmccall:
Use scope qualifiers in Clang's tblgen backends to get useful
redeclaration checking.  NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/utils/TableGen/ClangASTNodesEmitter.cpp (diff)clang.src/utils/TableGen/ClangASTNodesEmitter.cpp
The file was modified/cfe/trunk/utils/TableGen/ClangAttrEmitter.cpp (diff)clang.src/utils/TableGen/ClangAttrEmitter.cpp
The file was modified/cfe/trunk/utils/TableGen/ClangCommentCommandInfoEmitter.cpp (diff)clang.src/utils/TableGen/ClangCommentCommandInfoEmitter.cpp
The file was modified/cfe/trunk/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp (diff)clang.src/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp
The file was modified/cfe/trunk/utils/TableGen/ClangDataCollectorsEmitter.cpp (diff)clang.src/utils/TableGen/ClangDataCollectorsEmitter.cpp
The file was modified/cfe/trunk/utils/TableGen/ClangDiagnosticsEmitter.cpp (diff)clang.src/utils/TableGen/ClangDiagnosticsEmitter.cpp
The file was modified/cfe/trunk/utils/TableGen/ClangOpcodesEmitter.cpp (diff)clang.src/utils/TableGen/ClangOpcodesEmitter.cpp
The file was modified/cfe/trunk/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp (diff)clang.src/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
The file was modified/cfe/trunk/utils/TableGen/ClangOptionDocEmitter.cpp (diff)clang.src/utils/TableGen/ClangOptionDocEmitter.cpp
The file was modified/cfe/trunk/utils/TableGen/ClangSACheckersEmitter.cpp (diff)clang.src/utils/TableGen/ClangSACheckersEmitter.cpp
The file was modified/cfe/trunk/utils/TableGen/NeonEmitter.cpp (diff)clang.src/utils/TableGen/NeonEmitter.cpp
Revision 373405 by delcypher:
[CMake] Fix the value of `config.target_cflags` for non-macOS Apple platforms. Attempt #3.

The main problem here is that `-*-version_min=` was not being passed to
the compiler when building test cases. This can cause problems when
testing on devices running older OSs because Clang would previously
assume the minimum deployment target is the the latest OS in the SDK
which could be much newer than what the device is running.

Previously the generated value looked like this:

`-arch arm64 -isysroot
<path_to_xcode>/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk`

With this change it now looks like:

`-arch arm64 -stdlib=libc++ -miphoneos-version-min=8.0 -isysroot
<path_to_xcode>/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk`

This mirrors the setting of config.target_cflags on macOS.

This change is made for ASan, LibFuzzer, TSan, and UBSan.

To implement this a new `get_test_cflags_for_apple_platform()` function
has been added that when given an Apple platform name and architecture
returns a string containing the C compiler flags to use when building
tests. This also calls a new helper function `is_valid_apple_platform()`
that validates Apple platform names.

This is the third attempt at landing the patch.

The first attempt (r359305) had to be reverted (r359327) due to a buildbot
failure. The problem was that calling `get_test_cflags_for_apple_platform()`
can trigger a CMake error if the provided architecture is not supported by the
current CMake configuration. Previously, this could be triggered by passing
`-DCOMPILER_RT_ENABLE_IOS=OFF` to CMake. The root cause is that we were
generating test configurations for a list of architectures without checking if
the relevant Sanitizer actually supported that architecture. We now intersect
the list of architectures for an Apple platform with
`<SANITIZER>_SUPPORTED_ARCH` (where `<SANITIZER>` is a Sanitizer name) to
iterate through the correct list of architectures.

The second attempt (r363633) had to be reverted (r363779) due to a build
failure. The failed build was using a modified Apple toolchain where the iOS
simulator SDK was missing. This exposed a bug in the existing UBSan test
generation code where it was assumed that `COMPILER_RT_ENABLE_IOS` implied that
the toolchain supported both iOS and the iOS simulator. This is not true. This
has been fixed by using the list `SANITIZER_COMMON_SUPPORTED_OS` for the list
of supported Apple platforms for UBSan. For consistency with the other
Sanitizers we also now intersect the list of architectures with
UBSAN_SUPPORTED_ARCH.

rdar://problem/50124489

Differential Revision: https://reviews.llvm.org/D61242
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/cmake/config-ix.cmake (diff)compiler-rt.src/cmake/config-ix.cmake
The file was modified/compiler-rt/trunk/test/asan/CMakeLists.txt (diff)compiler-rt.src/test/asan/CMakeLists.txt
The file was modified/compiler-rt/trunk/test/fuzzer/CMakeLists.txt (diff)compiler-rt.src/test/fuzzer/CMakeLists.txt
The file was modified/compiler-rt/trunk/test/tsan/CMakeLists.txt (diff)compiler-rt.src/test/tsan/CMakeLists.txt
The file was modified/compiler-rt/trunk/test/ubsan/CMakeLists.txt (diff)compiler-rt.src/test/ubsan/CMakeLists.txt
Revision 373404 by chfang:
AMDGPU: Fix an out of date assert in addressing FrameIndex

Reviewers:
  arsenm

Differential Revision:
  https://reviews.llvm.org/D67574
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIRegisterInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/SIRegisterInfo.cpp
The file was added/llvm/trunk/test/CodeGen/AMDGPU/stack-pointer-offset-relative-frameindex.llllvm.src/test/CodeGen/AMDGPU/stack-pointer-offset-relative-frameindex.ll
Revision 373403 by morehouse:
[libFuzzer] Remove lazy counters.

Summary: Lazy counters haven't improved performance for large fuzz targets.

Reviewers: kcc

Reviewed By: kcc

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67476
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerDriver.cpp (diff)compiler-rt.src/lib/fuzzer/FuzzerDriver.cpp
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerFlags.def (diff)compiler-rt.src/lib/fuzzer/FuzzerFlags.def
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerLoop.cpp (diff)compiler-rt.src/lib/fuzzer/FuzzerLoop.cpp
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerOptions.h (diff)compiler-rt.src/lib/fuzzer/FuzzerOptions.h
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerTracePC.cpp (diff)compiler-rt.src/lib/fuzzer/FuzzerTracePC.cpp
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerTracePC.h (diff)compiler-rt.src/lib/fuzzer/FuzzerTracePC.h
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerUtil.h (diff)compiler-rt.src/lib/fuzzer/FuzzerUtil.h
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerUtilFuchsia.cpp (diff)compiler-rt.src/lib/fuzzer/FuzzerUtilFuchsia.cpp
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerUtilPosix.cpp (diff)compiler-rt.src/lib/fuzzer/FuzzerUtilPosix.cpp
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerUtilWindows.cpp (diff)compiler-rt.src/lib/fuzzer/FuzzerUtilWindows.cpp
The file was modified/compiler-rt/trunk/test/fuzzer/large.test (diff)compiler-rt.src/test/fuzzer/large.test
Revision 373402 by saugustine:
Determine endianness at a time when it doesn't inadvertantly clear gdb's wrap_buffer via gdb.execute.

Summary:
I haven't managed a small reproduction for this bug, it involves
complicated and deeply nested data structures with a wide variety
of pretty printers. But in general, we shouldn't be combining
gdb's command line interface (via gdb.execute) with pretty-printers.

Subscribers: christof, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68306
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/utils/gdb/libcxx/printers.py (diff)libcxx.src/utils/gdb/libcxx/printers.py
Revision 373401 by ctopper:
Revert r373172 "[X86] Add custom isel logic to match VPTERNLOG from 2 logic ops."

This seems to be causing some performance regresions that I'm
trying to investigate.

One thing that stands out is that this transform can increase
the live range of the operands of the earlier logic op. This
can be bad for register allocation. If there are two logic
op inputs we should really combine the one that is closest, but
SelectionDAG doesn't have a good way to do that. Maybe we need
to do this as a basic block transform in Machine IR.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp (diff)llvm.src/lib/Target/X86/X86ISelDAGToDAG.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-cvt.ll (diff)llvm.src/test/CodeGen/X86/avx512-cvt.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-gfni-intrinsics.ll (diff)llvm.src/test/CodeGen/X86/avx512-gfni-intrinsics.ll
The file was modified/llvm/trunk/test/CodeGen/X86/machine-combiner-int-vec.ll (diff)llvm.src/test/CodeGen/X86/machine-combiner-int-vec.ll
The file was modified/llvm/trunk/test/CodeGen/X86/midpoint-int-vec-128.ll (diff)llvm.src/test/CodeGen/X86/midpoint-int-vec-128.ll
The file was modified/llvm/trunk/test/CodeGen/X86/midpoint-int-vec-256.ll (diff)llvm.src/test/CodeGen/X86/midpoint-int-vec-256.ll
The file was modified/llvm/trunk/test/CodeGen/X86/midpoint-int-vec-512.ll (diff)llvm.src/test/CodeGen/X86/midpoint-int-vec-512.ll
The file was modified/llvm/trunk/test/CodeGen/X86/sadd_sat_vec.ll (diff)llvm.src/test/CodeGen/X86/sadd_sat_vec.ll
The file was modified/llvm/trunk/test/CodeGen/X86/ssub_sat_vec.ll (diff)llvm.src/test/CodeGen/X86/ssub_sat_vec.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vec_int_to_fp.ll (diff)llvm.src/test/CodeGen/X86/vec_int_to_fp.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-fshl-256.ll (diff)llvm.src/test/CodeGen/X86/vector-fshl-256.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-fshl-512.ll (diff)llvm.src/test/CodeGen/X86/vector-fshl-512.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-fshl-rot-256.ll (diff)llvm.src/test/CodeGen/X86/vector-fshl-rot-256.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-fshl-rot-512.ll (diff)llvm.src/test/CodeGen/X86/vector-fshl-rot-512.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-fshr-256.ll (diff)llvm.src/test/CodeGen/X86/vector-fshr-256.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-fshr-512.ll (diff)llvm.src/test/CodeGen/X86/vector-fshr-512.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-fshr-rot-256.ll (diff)llvm.src/test/CodeGen/X86/vector-fshr-rot-256.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-fshr-rot-512.ll (diff)llvm.src/test/CodeGen/X86/vector-fshr-rot-512.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-idiv-sdiv-512.ll (diff)llvm.src/test/CodeGen/X86/vector-idiv-sdiv-512.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-rotate-128.ll (diff)llvm.src/test/CodeGen/X86/vector-rotate-128.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-rotate-256.ll (diff)llvm.src/test/CodeGen/X86/vector-rotate-256.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-rotate-512.ll (diff)llvm.src/test/CodeGen/X86/vector-rotate-512.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shift-ashr-128.ll (diff)llvm.src/test/CodeGen/X86/vector-shift-ashr-128.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shift-ashr-256.ll (diff)llvm.src/test/CodeGen/X86/vector-shift-ashr-256.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shift-ashr-512.ll (diff)llvm.src/test/CodeGen/X86/vector-shift-ashr-512.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shift-ashr-sub128.ll (diff)llvm.src/test/CodeGen/X86/vector-shift-ashr-sub128.ll
Revision 373400 by rupprecht:
[clang][OpenMP][NFC] #include GlobalDecl.h to avoid incomplete class type
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGOpenMPRuntime.h (diff)clang.src/lib/CodeGen/CGOpenMPRuntime.h
Revision 373398 by rksimon:
CGVTables - silence static analyzer getAs<FunctionProtoType> null dereference warnings. NFCI.

The static analyzer is warning about potential null dereferences, but we should be able to use castAs<FunctionProtoType> directly and if not assert will fire for us.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGVTables.cpp (diff)clang.src/lib/CodeGen/CGVTables.cpp
Revision 373397 by ctopper:
[X86] convertToThreeAddress, make sure second operand of SUB32ri is really an immediate before calling getImm().

It might be a symbol instead. We can't fold those since we can't
negate them.

Similar for other SUB with immediates.

Fixes PR43529.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86InstrInfo.cpp (diff)llvm.src/lib/Target/X86/X86InstrInfo.cpp
The file was added/llvm/trunk/test/CodeGen/X86/pr43529.llllvm.src/test/CodeGen/X86/pr43529.ll
Revision 373396 by rksimon:
CGExprAgg - remove duplicate code. NFCI.

Remove duplicate getAs<> call, avoiding a clang static analyzer null dereference warning.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGExprAgg.cpp (diff)clang.src/lib/CodeGen/CGExprAgg.cpp
Revision 373395 by thopre:
[FileCheck] Move private interface to its own header

Summary:
Most of the class definition in llvm/include/llvm/Support/FileCheck.h
are actually implementation details that should not be relied upon. This
commit moves all of it in a new header file under
llvm/lib/Support/FileCheck. It also takes advantage of the code movement
to put the code into a new llvm::filecheck namespace.

Reviewers: jhenderson, chandlerc, jdenny, probinson, grimar, arichardson, rnk

Subscribers: hiraditya, llvm-commits, probinson, dblaikie, grimar, arichardson, tra, rnk, kristina, hfinkel, rogfer01, JonChesterfield

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67649
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Support/FileCheck.h (diff)llvm.src/include/llvm/Support/FileCheck.h
The file was modified/llvm/trunk/lib/Support/FileCheck.cpp (diff)llvm.src/lib/Support/FileCheck.cpp
The file was added/llvm/trunk/lib/Support/FileCheckImpl.hllvm.src/lib/Support/FileCheckImpl.h
The file was modified/llvm/trunk/unittests/Support/FileCheckTest.cpp (diff)llvm.src/unittests/Support/FileCheckTest.cpp
Revision 373394 by spatel:
[BypassSlowDivision][CodeGenPrepare] avoid crashing on unused code (PR43514)

https://bugs.llvm.org/show_bug.cgi?id=43514
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/BypassSlowDivision.cpp (diff)llvm.src/lib/Transforms/Utils/BypassSlowDivision.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/bypass-slow-division-64.ll (diff)llvm.src/test/CodeGen/X86/bypass-slow-division-64.ll
Revision 373393 by gnsyncbot:
gn build: Merge r373392
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/darwin/BUILD.gn (diff)llvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/darwin/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/objc/BUILD.gn (diff)llvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/objc/BUILD.gn
Revision 373392 by stephanemoore:
[clang-tidy] Rename objc-avoid-spinlock check to darwin-avoid-spinlock

Summary:
OSSpinLock* are Apple/Darwin functions, but were previously located with ObjC checks as those were most closely tied to Apple platforms before.

Now that there's a specific Darwin module, relocating the check there.

This change was prepared by running rename_check.py.

Contributed By: mwyman

Reviewers: stephanemoore, dmaclach

Reviewed By: stephanemoore

Subscribers: Eugene.Zelenko, mgorny, xazax.hun, cfe-commits

Tags: #clang-tools-extra, #clang, #llvm

Differential Revision: https://reviews.llvm.org/D68148
Change TypePath in RepositoryPath in Workspace
The file was added/clang-tools-extra/trunk/clang-tidy/darwin/AvoidSpinlockCheck.cppclang-tools-extra.src/clang-tidy/darwin/AvoidSpinlockCheck.cpp
The file was added/clang-tools-extra/trunk/clang-tidy/darwin/AvoidSpinlockCheck.hclang-tools-extra.src/clang-tidy/darwin/AvoidSpinlockCheck.h
The file was modified/clang-tools-extra/trunk/clang-tidy/darwin/CMakeLists.txt (diff)clang-tools-extra.src/clang-tidy/darwin/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clang-tidy/darwin/DarwinTidyModule.cpp (diff)clang-tools-extra.src/clang-tidy/darwin/DarwinTidyModule.cpp
The file was removed/clang-tools-extra/trunk/clang-tidy/objc/AvoidSpinlockCheck.cppclang-tools-extra.src/clang-tidy/objc/AvoidSpinlockCheck.cpp
The file was removed/clang-tools-extra/trunk/clang-tidy/objc/AvoidSpinlockCheck.hclang-tools-extra.src/clang-tidy/objc/AvoidSpinlockCheck.h
The file was modified/clang-tools-extra/trunk/clang-tidy/objc/CMakeLists.txt (diff)clang-tools-extra.src/clang-tidy/objc/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clang-tidy/objc/ObjCTidyModule.cpp (diff)clang-tools-extra.src/clang-tidy/objc/ObjCTidyModule.cpp
The file was modified/clang-tools-extra/trunk/docs/ReleaseNotes.rst (diff)clang-tools-extra.src/docs/ReleaseNotes.rst
The file was added/clang-tools-extra/trunk/docs/clang-tidy/checks/darwin-avoid-spinlock.rstclang-tools-extra.src/docs/clang-tidy/checks/darwin-avoid-spinlock.rst
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/list.rst (diff)clang-tools-extra.src/docs/clang-tidy/checks/list.rst
The file was removed/clang-tools-extra/trunk/docs/clang-tidy/checks/objc-avoid-spinlock.rstclang-tools-extra.src/docs/clang-tidy/checks/objc-avoid-spinlock.rst
The file was added/clang-tools-extra/trunk/test/clang-tidy/darwin-avoid-spinlock.mclang-tools-extra.src/test/clang-tidy/darwin-avoid-spinlock.m
The file was removed/clang-tools-extra/trunk/test/clang-tidy/objc-avoid-spinlock.mclang-tools-extra.src/test/clang-tidy/objc-avoid-spinlock.m
Revision 373391 by leonardchan:
[ASan][NFC] Address remaining comments for https://reviews.llvm.org/D68287

I submitted that patch after I got the LGTM, but the comments didn't
appear until after I submitted the change. This adds `const` to the
constructor argument and makes it a pointer.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp (diff)llvm.src/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Revision 373390 by Louis Dionne:
[NFC] Fix typos in libc++ documentation
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/docs/BuildingLibcxx.rst (diff)libcxx.src/docs/BuildingLibcxx.rst
Revision 373389 by leonardchan:
[ASan] Make GlobalsMD member a const reference.

PR42924 points out that copying the GlobalsMetadata type during
construction of AddressSanitizer can result in exteremely lengthened
build times for translation units that have many globals. This can be addressed
by just making the GlobalsMD member in AddressSanitizer a reference to
avoid the copy. The GlobalsMetadata type is already passed to the
constructor as a reference anyway.

Differential Revision: https://reviews.llvm.org/D68287
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp (diff)llvm.src/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Revision 373388 by paulhoad:
[clang-format] [PR43372] - clang-format shows replacements in DOS files when no replacement is needed

Summary:
This is a patch to fix PR43372 (https://bugs.llvm.org/show_bug.cgi?id=43372) - clang-format can't format file with includes, ( which really keep providing replacements for already sorted headers.)

A similar issue was addressed by @krasimir in {D60199}, however, this seemingly only prevented the issue when the files being formatted did not contain windows line endings (\r\n)

It's possible this is related to https://twitter.com/StephanTLavavej/status/1176722938243895296 given who @STL_MSFT  works for!

As people often used the existence of replacements to determine if a file needs clang-formatting, this is probably pretty important for windows users

There may be a better way of comparing 2 strings and ignoring \r (which appear in both Results and Code), I couldn't choose between this idiom or the copy_if approach, but I'm happy to change it to whatever people consider more performant.

Reviewers: krasimir, klimek, owenpan, ioeric

Reviewed By: krasimir

Subscribers: cfe-commits, STL_MSFT, krasimir

Tags: #clang-format, #clang, #clang-tools-extra

Differential Revision: https://reviews.llvm.org/D68227
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Format/Format.cpp (diff)clang.src/lib/Format/Format.cpp
The file was modified/cfe/trunk/unittests/Format/SortImportsTestJava.cpp (diff)clang.src/unittests/Format/SortImportsTestJava.cpp
The file was modified/cfe/trunk/unittests/Format/SortIncludesTest.cpp (diff)clang.src/unittests/Format/SortIncludesTest.cpp
Revision 373387 by abataev:
[OPENMP50]Initial codegen for declare variant implementation vendor.

Initial implementation of global aliases emission for the declare
variant pragma with implementation vendor context selector set.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGOpenMPRuntime.cpp (diff)clang.src/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGOpenMPRuntime.h (diff)clang.src/lib/CodeGen/CGOpenMPRuntime.h
The file was modified/cfe/trunk/lib/CodeGen/CodeGenModule.cpp (diff)clang.src/lib/CodeGen/CodeGenModule.cpp
The file was added/cfe/trunk/test/OpenMP/declare_variant_implementation_vendor_codegen.cppclang.src/test/OpenMP/declare_variant_implementation_vendor_codegen.cpp
Revision 373386 by bmahjour:
[DDG] Data Dependence Graph - Root Node

Summary:
This patch adds Root Node to the DDG. The purpose of the root node is to create a single entry node that allows graph walk iterators to iterate through all nodes of the graph, making sure that no node is left unvisited during a graph walk (eg. SCC or DFS). Once the DDG is fully constructed it will have exactly one root node. Every node in the graph is reachable from the root. The algorithm for connecting the root node is based on depth-first-search that keeps track of visited nodes to try to avoid creating unnecessary edges.

Authored By: bmahjour

Reviewer: Meinersbur, fhahn, myhsu, xtian, dmgreen, kbarton, jdoerfert

Reviewed By: Meinersbur

Subscribers: ychen, arphaman, simoll, a.elovikov, mgorny, hiraditya, jfb, wuzish, llvm-commits, jsji, Whitney, etiotto, ppc-slack

Tag: #llvm

Differential Revision: https://reviews.llvm.org/D67970
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Analysis/DDG.h (diff)llvm.src/include/llvm/Analysis/DDG.h
The file was modified/llvm/trunk/include/llvm/Analysis/DependenceGraphBuilder.h (diff)llvm.src/include/llvm/Analysis/DependenceGraphBuilder.h
The file was modified/llvm/trunk/lib/Analysis/DDG.cpp (diff)llvm.src/lib/Analysis/DDG.cpp
The file was modified/llvm/trunk/lib/Analysis/DependenceGraphBuilder.cpp (diff)llvm.src/lib/Analysis/DependenceGraphBuilder.cpp
The file was added/llvm/trunk/test/Analysis/DDG/root-node.llllvm.src/test/Analysis/DDG/root-node.ll
Revision 373385 by Louis Dionne:
[libc++] Re-apply workaround for D63883

In reality, this workaround is for the fact that LIBCXX_CXX_ABI=libcxxabi
can't be specified on Linux, since libc++abi isn't shipped with the system.
Since the build bots explicitly specify LIBCXX_CXX_ABI=libcxxabi, they fail
unless we apply the workaround.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/CMakeLists.txt (diff)libcxx.src/CMakeLists.txt
Revision 373384 by Louis Dionne:
[libc++] Remove workaround for D63883

I tried applying D63883 three times and could never get around to
making it work. I'm giving up on that for now, but soon this should
be irrelevant anyway since all builds will move to the monorepo
(where we're always using the in-tree libc++abi unless explicitly
specified otherwise).
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/CMakeLists.txt (diff)libcxx.src/CMakeLists.txt
Revision 373383 by asbirlea:
[MemorySSA] Check for unreachable blocks when getting last definition.

If a single predecessor is found, still check if the block is
unreachable. The test that found this had a self loop unreachable block.
Resolves PR43493.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/MemorySSAUpdater.cpp (diff)llvm.src/lib/Analysis/MemorySSAUpdater.cpp
The file was added/llvm/trunk/test/Analysis/MemorySSA/pr43493.llllvm.src/test/Analysis/MemorySSA/pr43493.ll
Revision 373382 by kuhar:
Add a missing pass in ARM O3 pipeline
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/ARM/O3-pipeline.ll (diff)llvm.src/test/CodeGen/ARM/O3-pipeline.ll
Revision 373380 by asbirlea:
[MemorySSA] Update last_access_in_block check.

The check for "was there an access in this block" should be: is the last
access in this block and is it not a newly inserted phi.
Resolves new test in PR43438.

Also fix a typo when simplifying trivial Phis to match the comment.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/MemorySSAUpdater.cpp (diff)llvm.src/lib/Analysis/MemorySSAUpdater.cpp
The file was modified/llvm/trunk/test/Analysis/MemorySSA/pr43438.ll (diff)llvm.src/test/Analysis/MemorySSA/pr43438.ll
Revision 373378 by kuhar:
[Dominators][CodeGen] Don't mark MachineDominatorTree as preserved in MachineLICM
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/MachineLICM.cpp (diff)llvm.src/lib/CodeGen/MachineLICM.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/O3-pipeline.ll (diff)llvm.src/test/CodeGen/AArch64/O3-pipeline.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/O3-pipeline.ll (diff)llvm.src/test/CodeGen/ARM/O3-pipeline.ll
The file was modified/llvm/trunk/test/CodeGen/X86/O3-pipeline.ll (diff)llvm.src/test/CodeGen/X86/O3-pipeline.ll
Revision 373377 by kuhar:
[Dominators][CodeGen] Fix MachineDominatorTree preservation in PHIElimination

Summary:
PHIElimination modifies CFG and marks MachineDominatorTree as preserved. Therefore, it the CFG changes it should also update the MDT, when available. This patch teaches PHIElimination to recalculate MDT when necessary.

This fixes the `tailmerging_in_mbp.ll` test failure discovered after switching to generic DomTree verification algorithm in MachineDominators in D67976.

Reviewers: arsenm, hliao, alex-t, rampitec, vpykhtin, grosser

Reviewed By: rampitec

Subscribers: MatzeB, wdng, hiraditya, javed.absar, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68154
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/MachineScheduler.cpp (diff)llvm.src/lib/CodeGen/MachineScheduler.cpp
The file was modified/llvm/trunk/lib/CodeGen/PHIElimination.cpp (diff)llvm.src/lib/CodeGen/PHIElimination.cpp
Revision 373376 by kuhar:
Reapply [Dominators][CodeGen] Clean up MachineDominators

This reverts r373117 (git commit 159ef37735f21ae373282e0c53cbd9b6af1e0dfd)

Phabricator review: https://reviews.llvm.org/D67976.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/MachineDominators.h (diff)llvm.src/include/llvm/CodeGen/MachineDominators.h
The file was modified/llvm/trunk/lib/CodeGen/MachineDominators.cpp (diff)llvm.src/lib/CodeGen/MachineDominators.cpp
Revision 373375 by xbolva00:
[NFC] Updated tests after rL373371

Forgot to run check-clang-semacxx.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/SemaCXX/warn-sign-conversion.cpp (diff)clang.src/test/SemaCXX/warn-sign-conversion.cpp
Revision 373374 by abataev:
[OPENMP]Fix PR43330: OpenMP target: Mapping of partial arrays fails.

Fixed calculation the size of the array sections.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGOpenMPRuntime.cpp (diff)clang.src/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modified/cfe/trunk/test/OpenMP/target_map_codegen.cpp (diff)clang.src/test/OpenMP/target_map_codegen.cpp
Revision 373371 by xbolva00:
[Diagnostics] Make -Wenum-compare-conditional off by default

Too many false positives, eg. in Chromium.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticGroups.td (diff)clang.src/include/clang/Basic/DiagnosticGroups.td
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (diff)clang.src/include/clang/Basic/DiagnosticSemaKinds.td
The file was modified/cfe/trunk/test/Sema/warn-conditional-emum-types-mismatch.c (diff)clang.src/test/Sema/warn-conditional-emum-types-mismatch.c
Revision 373370 by tejohnson:
[ThinLTO] Enable index-only WPD from clang

Summary:
To trigger the index-only Whole Program Devirt support added to LLVM, we
need to be able to specify -fno-split-lto-unit in conjunction with
-fwhole-program-vtables. Keep the default for -fwhole-program-vtables as
-fsplit-lto-unit, but don't error on that option combination.

Reviewers: pcc

Subscribers: mehdi_amini, inglorion, steven_wu, dexonsmith, arphaman, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68029
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Driver/ToolChains/Clang.cpp (diff)clang.src/lib/Driver/ToolChains/Clang.cpp
The file was modified/cfe/trunk/test/Driver/split-lto-unit.c (diff)clang.src/test/Driver/split-lto-unit.c
Revision 373369 by xur:
[PGO] Fix typos from r359612. NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ProfileData/InstrProf.h (diff)llvm.src/include/llvm/ProfileData/InstrProf.h
The file was modified/llvm/trunk/include/llvm/ProfileData/InstrProfReader.h (diff)llvm.src/include/llvm/ProfileData/InstrProfReader.h
The file was modified/llvm/trunk/lib/ProfileData/InstrProf.cpp (diff)llvm.src/lib/ProfileData/InstrProf.cpp
The file was modified/llvm/trunk/lib/ProfileData/InstrProfReader.cpp (diff)llvm.src/lib/ProfileData/InstrProfReader.cpp
The file was modified/llvm/trunk/lib/ProfileData/InstrProfWriter.cpp (diff)llvm.src/lib/ProfileData/InstrProfWriter.cpp
The file was modified/llvm/trunk/tools/llvm-profdata/llvm-profdata.cpp (diff)llvm.src/tools/llvm-profdata/llvm-profdata.cpp
Revision 373368 by dmgreen:
[ARM] Some MVE shuffle plus extend tests. NFC
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/CodeGen/Thumb2/mve-shuffleext.llllvm.src/test/CodeGen/Thumb2/mve-shuffleext.ll
Revision 373367 by Vitaly Buka:
Revert "compiler-rt: use __GLIBC_PREREQ for SANITIZER_INTERCEPT_GETRANDOM"
Revert "compiler-rt: move all __GLIBC_PREREQ into own header file"

"move all __GLIBC_PREREQ" breaks build on some bots

This reverts commit 2d75ee937397c209dbd95aefc88da6301fed07da.
This reverts commit 7a6461fcc2ed8e28c43993c561721af0bbe97f3a.
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_getauxval.h (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_getauxval.h
The file was removed/compiler-rt/trunk/lib/sanitizer_common/sanitizer_glibc_version.hcompiler-rt.src/lib/sanitizer_common/sanitizer_glibc_version.h
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux_libcdep.cpp (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_interceptors.h (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_platform_interceptors.h
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.h (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Revision 373366 by tstellar:
AMDGPU/SILoadStoreOptimizer: Add helper functions for working with CombineInfo

Summary:
This is a refactoring that will make future improvements to this pass easier.
This change should not change the behavior of the pass.

Reviewers: arsenm, pendingchaos, rampitec, nhaehnle, vpykhtin

Reviewed By: nhaehnle, vpykhtin

Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D65496
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp (diff)llvm.src/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
Revision 373364 by lebedevri:
[InstCombine] Deal with -(trunc(X >>u 63)) -> trunc(X >>s 63)

Identical to it's trunc-less variant, just pretent-to hoist
trunc, and everything else still holds:
https://rise4fun.com/Alive/JRU
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineAddSub.cpp (diff)llvm.src/lib/Transforms/InstCombine/InstCombineAddSub.cpp
The file was modified/llvm/trunk/test/Transforms/InstCombine/high-bit-signmask-with-trunc.ll (diff)llvm.src/test/Transforms/InstCombine/high-bit-signmask-with-trunc.ll
Revision 373363 by lebedevri:
[InstCombine] Preserve 'exact' in -(X >>u 31) -> (X >>s 31) fold

https://rise4fun.com/Alive/yR4
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineAddSub.cpp (diff)llvm.src/lib/Transforms/InstCombine/InstCombineAddSub.cpp
The file was modified/llvm/trunk/test/Transforms/InstCombine/high-bit-signmask.ll (diff)llvm.src/test/Transforms/InstCombine/high-bit-signmask.ll
Revision 373362 by lebedevri:
[NFC][InstCombine] (Better) tests for sign-bit-smearing pattern

https://rise4fun.com/Alive/JRU
https://rise4fun.com/Alive/yR4 <- we can preserve 'exact'
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Transforms/InstCombine/high-bit-signmask-with-trunc.llllvm.src/test/Transforms/InstCombine/high-bit-signmask-with-trunc.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/high-bit-signmask.llllvm.src/test/Transforms/InstCombine/high-bit-signmask.ll
Revision 373358 by dmgreen:
[llvm-mca] Add a -mattr flag

This adds a -mattr flag to llvm-mca, for cases where the -mcpu option does not
contain all optional features.

Differential Revision: https://reviews.llvm.org/D68190
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/tools/llvm-mca/ARM/m4-targetfeatures.sllvm.src/test/tools/llvm-mca/ARM/m4-targetfeatures.s
The file was modified/llvm/trunk/tools/llvm-mca/llvm-mca.cpp (diff)llvm.src/tools/llvm-mca/llvm-mca.cpp
Revision 373356 by Vedant Kumar:
[ReleaseProcess] Document requirement to set MACOSX_DEPLOYMENT_TARGET
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/ReleaseProcess.rst (diff)llvm.src/docs/ReleaseProcess.rst
Revision 373351 by reames:
[IndVars] An implementation of loop predication without a need for speculation

This patch implements a variation of a well known techniques for JIT compilers - we have an implementation in tree as LoopPredication - but with an interesting twist. This version does not assume the ability to execute a path which wasn't taken in the original program (such as a guard or widenable.condition intrinsic). The benefit is that this works for arbitrary IR from any frontend (including C/C++/Fortran). The tradeoff is that it's restricted to read only loops without implicit exits.

This builds on SCEV, and can thus eliminate the loop varying portion of the any early exit where all exits are understandable by SCEV. A key advantage is that fixing deficiency exposed in SCEV - already found one while writing test cases - will also benefit all of full redundancy elimination (and most other loop transforms).

I haven't seen anything in the literature which quite matches this. Given that, I'm not entirely sure that keeping the name "loop predication" is helpful. Anyone have suggestions for a better name? This is analogous to partial redundancy elimination - since we remove the condition flowing around the backedge - and has some parallels to our existing transforms which try to make conditions invariant in loops.

Factoring wise, I chose to put this in IndVarSimplify since it's a generally applicable to all workloads. I could split this off into it's own pass, but we'd then probably want to add that new pass every place we use IndVars.  One solid argument for splitting it off into it's own pass is that this transform is "too good". It breaks a huge number of existing IndVars test cases as they tend to be simple read only loops.  At the moment, I've opted it off by default, but if we add this to IndVars and enable, we'll have to update around 20 test files to add side effects or disable this transform.

Near term plan is to fuzz this extensively while off by default, reflect and discuss on the factoring issue mentioned just above, and then enable by default.  I also need to give some though to supporting widenable conditions in this framing.

Differential Revision: https://reviews.llvm.org/D67408
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/IndVarSimplify.cpp (diff)llvm.src/lib/Transforms/Scalar/IndVarSimplify.cpp
The file was added/llvm/trunk/test/Transforms/IndVarSimplify/loop-predication.llllvm.src/test/Transforms/IndVarSimplify/loop-predication.ll
Revision 373350 by arsenm:
AMDGPU/GlobalISel: Increase max legal size to 1024

There are 1024 bit register classes defined for AGPRs. Additionally
OpenCL defines vectors up to 16 x i64, and this helps those tests
legalize.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterBanks.td (diff)llvm.src/lib/Target/AMDGPU/AMDGPURegisterBanks.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIRegisterInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/SIRegisterInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-extract.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-extract.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-implicit-def.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-implicit-def.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-merge-values.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-merge-values.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-unmerge-values.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-unmerge-values.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-implicit-def.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-implicit-def.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-insert-vector-elt.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-insert-vector-elt.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir
Revision 373349 by ctopper:
[X86] Add a VBROADCAST_LOAD ISD opcode representing a scalar load broadcasted to a vector.

Summary:
This adds the ISD opcode and a DAG combine to create it. There are
probably some places where we can directly create it, but I'll
leave that for future work.

This updates all of the isel patterns to look for this new node.
I had to add a few additional isel patterns for aligned extloads
which we should probably fix with a DAG combine or something. This
does mean that the broadcast load folding for avx512 can no
longer match a broadcasted aligned extload.

There's still some work to do here for combining a broadcast of
a broadcast_load. We also need to improve extractelement or
demanded vector elements of a broadcast_load. I'll try to get
those done before I submit this patch.

Reviewers: RKSimon, spatel

Reviewed By: RKSimon

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68198
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp (diff)llvm.src/lib/Target/X86/X86ISelDAGToDAG.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.h (diff)llvm.src/lib/Target/X86/X86ISelLowering.h
The file was modified/llvm/trunk/lib/Target/X86/X86InstrAVX512.td (diff)llvm.src/lib/Target/X86/X86InstrAVX512.td
The file was modified/llvm/trunk/lib/Target/X86/X86InstrFragmentsSIMD.td (diff)llvm.src/lib/Target/X86/X86InstrFragmentsSIMD.td
The file was modified/llvm/trunk/lib/Target/X86/X86InstrSSE.td (diff)llvm.src/lib/Target/X86/X86InstrSSE.td
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-intrinsics-upgrade.ll (diff)llvm.src/test/CodeGen/X86/avx512-intrinsics-upgrade.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx512bw-intrinsics-upgrade.ll (diff)llvm.src/test/CodeGen/X86/avx512bw-intrinsics-upgrade.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx512bwvl-intrinsics-upgrade.ll (diff)llvm.src/test/CodeGen/X86/avx512bwvl-intrinsics-upgrade.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll (diff)llvm.src/test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll
The file was modified/llvm/trunk/test/CodeGen/X86/bitcast-int-to-vector-bool-zext.ll (diff)llvm.src/test/CodeGen/X86/bitcast-int-to-vector-bool-zext.ll
Revision 373348 by abataev:
[OPENMP]Fix PR43516: Compiler crash with collapse(2) on non-rectangular
loop.

Missed check if the condition is also dependent when building final
expressions for the collapsed loop directives.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Sema/SemaOpenMP.cpp (diff)clang.src/lib/Sema/SemaOpenMP.cpp
The file was modified/cfe/trunk/test/OpenMP/for_codegen.cpp (diff)clang.src/test/OpenMP/for_codegen.cpp
Revision 373346 by foad:
[AMDGPU] Add VerifyScheduling support.

Summary:
This is cut and pasted from the corresponding GenericScheduler
functions.

Reviewers: arsenm, atrick, tstellar, vpykhtin

Subscribers: MatzeB, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, javed.absar, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68264
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/MachineScheduler.h (diff)llvm.src/include/llvm/CodeGen/MachineScheduler.h
The file was modified/llvm/trunk/lib/CodeGen/MachineScheduler.cpp (diff)llvm.src/lib/CodeGen/MachineScheduler.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/GCNSchedStrategy.cpp (diff)llvm.src/lib/Target/AMDGPU/GCNSchedStrategy.cpp
Revision 373345 by xbolva00:
[Diagnostics] Move warning into the subgroup (-Wenum-compare-conditional)
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticGroups.td (diff)clang.src/include/clang/Basic/DiagnosticGroups.td
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (diff)clang.src/include/clang/Basic/DiagnosticSemaKinds.td
The file was modified/cfe/trunk/test/Sema/warn-conditional-emum-types-mismatch.c (diff)clang.src/test/Sema/warn-conditional-emum-types-mismatch.c
Revision 373343 by rksimon:
[DAG][X86] Convert isNegatibleForFree/GetNegatedExpression to a target hook (PR42863)

This patch converts the DAGCombine isNegatibleForFree/GetNegatedExpression into overridable TLI hooks.

The intention is to let us extend existing FNEG combines to work more generally with negatible float ops, allowing it work with target specific combines and opcodes (e.g. X86's FMA variants).

Unlike the SimplifyDemandedBits, we can't just handle target nodes through a Target callback, we need to do this as an override to allow targets to handle generic opcodes as well. This does mean that the target implementations has to duplicate some checks (recursion depth etc.).

Partial reversion of rL372756 - I've identified the infinite loop issue inside the X86 override but haven't fixed it yet so I've only (re)committed the common TargetLowering refactoring part of the patch.

Differential Revision: https://reviews.llvm.org/D67557
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetLowering.h (diff)llvm.src/include/llvm/CodeGen/TargetLowering.h
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Revision 373341 by kuhar:
[Dominators][CodeGen] Add MachinePostDominatorTree verification

Summary:
This patch implements Machine PostDominator Tree verification and ensures that the verification doesn't fail the in-tree tests.

MPDT verification can be enabled using `verify-machine-dom-info` -- the same flag used by Machine Dominator Tree verification.

Flipping the flag revealed that MachineSink falsely claimed to preserve CFG and MDT/MPDT. This patch fixes that.

Reviewers: arsenm, hliao, rampitec, vpykhtin, grosser

Reviewed By: hliao

Subscribers: wdng, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68235
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/MachinePostDominators.h (diff)llvm.src/include/llvm/CodeGen/MachinePostDominators.h
The file was modified/llvm/trunk/lib/CodeGen/MachineDominators.cpp (diff)llvm.src/lib/CodeGen/MachineDominators.cpp
The file was modified/llvm/trunk/lib/CodeGen/MachinePostDominators.cpp (diff)llvm.src/lib/CodeGen/MachinePostDominators.cpp
The file was modified/llvm/trunk/lib/CodeGen/MachineSink.cpp (diff)llvm.src/lib/CodeGen/MachineSink.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/O3-pipeline.ll (diff)llvm.src/test/CodeGen/AArch64/O3-pipeline.ll
Revision 373340 by kadircet:
[clang] Make handling of unnamed template params similar to function params

Summary:
Clang uses the location identifier should be inserted for declarator
decls when a decl is unnamed. But for type template and template template
paramaters it uses the location of "typename/class" keyword, which makes it hard
for tooling to insert/change parameter names.

This change tries to unify these two cases by making template parameter
parsing and sourcerange operations similar to function params/declarator decls.

Reviewers: ilya-biryukov

Subscribers: arphaman, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68143
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/AST/DeclTemplate.cpp (diff)clang.src/lib/AST/DeclTemplate.cpp
The file was modified/cfe/trunk/lib/Parse/ParseTemplate.cpp (diff)clang.src/lib/Parse/ParseTemplate.cpp
The file was modified/cfe/trunk/lib/Sema/SemaTemplate.cpp (diff)clang.src/lib/Sema/SemaTemplate.cpp
The file was modified/cfe/trunk/test/AST/ast-dump-decl.cpp (diff)clang.src/test/AST/ast-dump-decl.cpp
The file was modified/cfe/trunk/test/AST/ast-dump-record-definition-data-json.cpp (diff)clang.src/test/AST/ast-dump-record-definition-data-json.cpp
The file was modified/cfe/trunk/test/AST/ast-dump-template-decls-json.cpp (diff)clang.src/test/AST/ast-dump-template-decls-json.cpp
The file was modified/cfe/trunk/test/AST/ast-dump-template-decls.cpp (diff)clang.src/test/AST/ast-dump-template-decls.cpp
The file was modified/cfe/trunk/test/ASTMerge/class-template/test.cpp (diff)clang.src/test/ASTMerge/class-template/test.cpp
The file was modified/cfe/trunk/test/Index/index-templates.cpp (diff)clang.src/test/Index/index-templates.cpp
Revision 373338 by rksimon:
Revert rL349624 : Let TableGen write output only if it changed, instead of doing so in cmake, attempt 2

Differential Revision: https://reviews.llvm.org/D55842
-----------------
As discussed on PR43385 this is causing Visual Studio msbuilds to perpetually rebuild all tablegen generated files
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/cmake/modules/TableGen.cmake (diff)llvm.src/cmake/modules/TableGen.cmake
The file was modified/llvm/trunk/lib/TableGen/Main.cpp (diff)llvm.src/lib/TableGen/Main.cpp
The file was modified/llvm/trunk/utils/gn/secondary/llvm/utils/TableGen/tablegen.gni (diff)llvm.src/utils/gn/secondary/llvm/utils/TableGen/tablegen.gni
Revision 373336 by djtodoro:
Revert "Reland "[utils] Implement the llvm-locstats tool""

This reverts commit rL373317 due to test failure on the
clang-s390x-linux build bot.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/CMakeLists.txt (diff)llvm.src/CMakeLists.txt
The file was modified/llvm/trunk/docs/CommandGuide/index.rst (diff)llvm.src/docs/CommandGuide/index.rst
The file was removed/llvm/trunk/docs/CommandGuide/llvm-locstats.rstllvm.src/docs/CommandGuide/llvm-locstats.rst
The file was modified/llvm/trunk/test/lit.cfg.py (diff)llvm.src/test/lit.cfg.py
The file was removed/llvm/trunk/test/tools/llvm-locstats/lit.local.cfgllvm.src/test/tools/llvm-locstats/lit.local.cfg
The file was removed/llvm/trunk/test/tools/llvm-locstats/locstats.llllvm.src/test/tools/llvm-locstats/locstats.ll
The file was removed/llvm/trunk/utils/llvm-locstats/CMakeLists.txtllvm.src/utils/llvm-locstats/CMakeLists.txt
The file was removed/llvm/trunk/utils/llvm-locstats/llvm-locstats.pyllvm.src/utils/llvm-locstats/llvm-locstats.py
Revision 373335 by xbolva00:
Revert [InstCombine] sprintf(dest, "%s", str) -> memccpy(dest, str, 0, MAX)

Seems to be slower than memcpy + strlen.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/SimplifyLibCalls.cpp (diff)llvm.src/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was modified/llvm/trunk/test/Transforms/InstCombine/2010-05-30-memcpy-Struct.ll (diff)llvm.src/test/Transforms/InstCombine/2010-05-30-memcpy-Struct.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/sprintf-1.ll (diff)llvm.src/test/Transforms/InstCombine/sprintf-1.ll
Revision 373333 by xbolva00:
[InstCombine] sprintf(dest, "%s", str) -> memccpy(dest, str, 0, MAX)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/SimplifyLibCalls.cpp (diff)llvm.src/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was modified/llvm/trunk/test/Transforms/InstCombine/2010-05-30-memcpy-Struct.ll (diff)llvm.src/test/Transforms/InstCombine/2010-05-30-memcpy-Struct.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/sprintf-1.ll (diff)llvm.src/test/Transforms/InstCombine/sprintf-1.ll
Revision 373332 by mgorny:
[llvm-exegesis/lib] Fix missing linkage to MCParser

Otherwise, shared-lib build fails with:

lib64/libLLVMExegesis.a(SnippetFile.cpp.o): In function `llvm::exegesis::readSnippets(llvm::exegesis::LLVMState const&, llvm::StringRef)':
SnippetFile.cpp:(.text._ZN4llvm8exegesis12readSnippetsERKNS0_9LLVMStateENS_9StringRefE+0x31f): undefined reference to `llvm::createMCAsmParser(llvm::SourceMgr&, llvm::MCContext&, llvm::MCStreamer&, llvm::MCAsmInfo const&, unsigned int)'
SnippetFile.cpp:(.text._ZN4llvm8exegesis12readSnippetsERKNS0_9LLVMStateENS_9StringRefE+0x41c): undefined reference to `llvm::MCAsmParser::setTargetParser(llvm::MCTargetAsmParser&)'
collect2: error: ld returned 1 exit status
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-exegesis/lib/CMakeLists.txt (diff)llvm.src/tools/llvm-exegesis/lib/CMakeLists.txt
Revision 373331 by sam_parker:
[NFC][ARM][MVE] More tests

Add some tail predication tests with fast math.
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.llllvm.src/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
Revision 373328 by Louis Dionne:
[libc++] Harden usage of static_assert against C++03

In C++03, we emulate static_assert with a macro, and we must parenthesize
multiple arguments.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/include/cmath (diff)libcxx.src/include/cmath
Revision 373327 by Raphael Isemann:
[clang] Ignore builtin namespaces in test/Import/cxx-anon-namespace

Some platforms (e.g. AArch64) put __va_list in the 'std' namespace which might
end up being the first namespace we match in this test. Instead let
the first namespace match via file name/line so that we skip the
builtin namespaces.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/Import/cxx-anon-namespace/test.cpp (diff)clang.src/test/Import/cxx-anon-namespace/test.cpp
Revision 373326 by rksimon:
DIExpression::createFragmentExpression - silence static analyzer DIExpression* null dereference warning with an assertion. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/IR/DebugInfoMetadata.cpp (diff)llvm.src/lib/IR/DebugInfoMetadata.cpp
Revision 373325 by rksimon:
VirtualFileSystem - replace dyn_cast<>+assert with cast<> calls. NFCI.

Silences a number of clang static analyzer null dereference warnings.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Support/VirtualFileSystem.cpp (diff)llvm.src/lib/Support/VirtualFileSystem.cpp
Revision 373324 by rksimon:
ObjectFile makeTriple - silence static analyzer dyn_cast<COFFObjectFile> null dereference warning. NFCI.

The static analyzer is warning about a potential null dereference, but we should be able to use cast<COFFObjectFile> directly and if not assert will fire for us.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Object/ObjectFile.cpp (diff)llvm.src/lib/Object/ObjectFile.cpp
Revision 373323 by hokein:
[clangd] Implement getBeginning for overloaded operators.

Summary:
This will fix some bugs where navigation doesn't work on cases like
`std::cout <^< "hello"`.

Reviewers: ilya-biryukov

Subscribers: MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D67695
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/SourceCode.cpp (diff)clang-tools-extra.src/clangd/SourceCode.cpp
The file was modified/clang-tools-extra/trunk/clangd/SourceCode.h (diff)clang-tools-extra.src/clangd/SourceCode.h
The file was modified/clang-tools-extra/trunk/clangd/unittests/SourceCodeTests.cpp (diff)clang-tools-extra.src/clangd/unittests/SourceCodeTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/XRefsTests.cpp (diff)clang-tools-extra.src/clangd/unittests/XRefsTests.cpp
Revision 373322 by rksimon:
InstrProf - avoid static analyzer dyn_cast<ConstantInt> null dereference warning.

The static analyzer is warning about a potential null dereference, as we're already earlying-out for a null Constant pointer I've just folded this into a dyn_cast_or_null<ConstantInt>.

No test case, this is by inspection only.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/ProfileData/InstrProf.cpp (diff)llvm.src/lib/ProfileData/InstrProf.cpp
Revision 373321 by rksimon:
ConstantFold - ConstantFoldSelectInstruction - assume constant vector elements are constant. NFCI.

Goes a bit further than rL372743 which added the early out - elements should be Constant so use cast<Constant> instead (and rely on the assert if anything fails).
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/IR/ConstantFold.cpp (diff)llvm.src/lib/IR/ConstantFold.cpp
Revision 373320 by hokein:
[clangd] Use the index-based API to do the header-source switch.

Summary:
If the file heuristic fails, we try to use the index&AST to do the
header/source inference.

Reviewers: kadircet

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68211
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/ClangdLSPServer.cpp (diff)clang-tools-extra.src/clangd/ClangdLSPServer.cpp
The file was modified/clang-tools-extra/trunk/clangd/ClangdServer.cpp (diff)clang-tools-extra.src/clangd/ClangdServer.cpp
The file was modified/clang-tools-extra/trunk/clangd/ClangdServer.h (diff)clang-tools-extra.src/clangd/ClangdServer.h
The file was modified/clang-tools-extra/trunk/clangd/unittests/HeaderSourceSwitchTests.cpp (diff)clang-tools-extra.src/clangd/unittests/HeaderSourceSwitchTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/SyncAPI.cpp (diff)clang-tools-extra.src/clangd/unittests/SyncAPI.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/SyncAPI.h (diff)clang-tools-extra.src/clangd/unittests/SyncAPI.h
Revision 373319 by grimar:
[obj2yaml] - Fix BB after r373315.

The success return value for data extractor's cursor
should also be checked.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/obj2yaml/elf2yaml.cpp (diff)llvm.src/tools/obj2yaml/elf2yaml.cpp
Revision 373318 by ibiryukov:
[clangd] Handle template arguments in findExplicitReferences

Reviewers: kadircet

Reviewed By: kadircet

Subscribers: MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68137
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/FindTarget.cpp (diff)clang-tools-extra.src/clangd/FindTarget.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/FindTargetTests.cpp (diff)clang-tools-extra.src/clangd/unittests/FindTargetTests.cpp
Revision 373317 by djtodoro:
Reland "[utils] Implement the llvm-locstats tool"

The tool reports verbose output for the DWARF debug location coverage.
The llvm-locstats for each variable or formal parameter DIE computes what
percentage from the code section bytes, where it is in scope, it has
location description. The line 0 shows the number (and the percentage) of
DIEs with no location information, but the line 100 shows the number (and
the percentage) of DIEs where there is location information in all code
section bytes (where the variable or parameter is in the scope). The line
50..59 shows the number (and the percentage) of DIEs where the location
information is in between 50 and 59 percentage of its scope covered.

Differential Revision: https://reviews.llvm.org/D66526
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/CMakeLists.txt (diff)llvm.src/CMakeLists.txt
The file was modified/llvm/trunk/docs/CommandGuide/index.rst (diff)llvm.src/docs/CommandGuide/index.rst
The file was added/llvm/trunk/docs/CommandGuide/llvm-locstats.rstllvm.src/docs/CommandGuide/llvm-locstats.rst
The file was modified/llvm/trunk/test/lit.cfg.py (diff)llvm.src/test/lit.cfg.py
The file was added/llvm/trunk/test/tools/llvm-locstats/lit.local.cfgllvm.src/test/tools/llvm-locstats/lit.local.cfg
The file was added/llvm/trunk/test/tools/llvm-locstats/locstats.llllvm.src/test/tools/llvm-locstats/locstats.ll
The file was added/llvm/trunk/utils/llvm-locstats/CMakeLists.txtllvm.src/utils/llvm-locstats/CMakeLists.txt
The file was added/llvm/trunk/utils/llvm-locstats/llvm-locstats.pyllvm.src/utils/llvm-locstats/llvm-locstats.py
Revision 373316 by grimar:
[yaml2obj] - Allow specifying custom Link values for SHT_HASH section.

This allows setting any sh_link values for SHT_HASH sections.

Differential revision: https://reviews.llvm.org/D68214
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/ObjectYAML/ELFEmitter.cpp (diff)llvm.src/lib/ObjectYAML/ELFEmitter.cpp
The file was modified/llvm/trunk/test/tools/yaml2obj/elf-hash-section.yaml (diff)llvm.src/test/tools/yaml2obj/elf-hash-section.yaml
Revision 373315 by grimar:
[yaml2obj/obj2yaml] - Add support for SHT_HASH sections.

SHT_HASH specification is:
http://www.sco.com/developers/gabi/latest/ch5.dynamic.html#hash

In short the format is the following: it has 2 uint32 fields
in its header: nbucket and nchain followed by (nbucket + nchain)
uint32 values.

This patch allows dumping and parsing such sections.

Differential revision: https://reviews.llvm.org/D68085
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ObjectYAML/ELFYAML.h (diff)llvm.src/include/llvm/ObjectYAML/ELFYAML.h
The file was modified/llvm/trunk/lib/ObjectYAML/ELFEmitter.cpp (diff)llvm.src/lib/ObjectYAML/ELFEmitter.cpp
The file was modified/llvm/trunk/lib/ObjectYAML/ELFYAML.cpp (diff)llvm.src/lib/ObjectYAML/ELFYAML.cpp
The file was modified/llvm/trunk/test/tools/llvm-readobj/elf-section-types.test (diff)llvm.src/test/tools/llvm-readobj/elf-section-types.test
The file was modified/llvm/trunk/test/tools/llvm-size/elf-sysv.test (diff)llvm.src/test/tools/llvm-size/elf-sysv.test
The file was added/llvm/trunk/test/tools/obj2yaml/elf-hash-section.yamlllvm.src/test/tools/obj2yaml/elf-hash-section.yaml
The file was added/llvm/trunk/test/tools/yaml2obj/elf-hash-section.yamlllvm.src/test/tools/yaml2obj/elf-hash-section.yaml
The file was modified/llvm/trunk/tools/obj2yaml/elf2yaml.cpp (diff)llvm.src/tools/obj2yaml/elf2yaml.cpp
Revision 373314 by rovka:
Fixup r373278: Move test to X86 directory

...since it's using an x86 triple.
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/tools/llvm-dwarfdump/X86/debug_loc_base_address.sllvm.src/test/tools/llvm-dwarfdump/X86/debug_loc_base_address.s
The file was removed/llvm/trunk/test/tools/llvm-dwarfdump/debug_loc_base_address.sllvm.src/test/tools/llvm-dwarfdump/debug_loc_base_address.s
Revision 373313 by courbet:
[llvm-exegesis][NFC] Refactor X86 tests fixtures into a base class.

Reviewers: gchatelet, a.sidorin

Subscribers: tschuett, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68262
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/unittests/tools/llvm-exegesis/X86/RegisterAliasingTest.cpp (diff)llvm.src/unittests/tools/llvm-exegesis/X86/RegisterAliasingTest.cpp
The file was modified/llvm/trunk/unittests/tools/llvm-exegesis/X86/SchedClassResolutionTest.cpp (diff)llvm.src/unittests/tools/llvm-exegesis/X86/SchedClassResolutionTest.cpp
The file was modified/llvm/trunk/unittests/tools/llvm-exegesis/X86/SnippetFileTest.cpp (diff)llvm.src/unittests/tools/llvm-exegesis/X86/SnippetFileTest.cpp
The file was modified/llvm/trunk/unittests/tools/llvm-exegesis/X86/SnippetGeneratorTest.cpp (diff)llvm.src/unittests/tools/llvm-exegesis/X86/SnippetGeneratorTest.cpp
The file was modified/llvm/trunk/unittests/tools/llvm-exegesis/X86/SnippetRepetitorTest.cpp (diff)llvm.src/unittests/tools/llvm-exegesis/X86/SnippetRepetitorTest.cpp
The file was added/llvm/trunk/unittests/tools/llvm-exegesis/X86/TestBase.hllvm.src/unittests/tools/llvm-exegesis/X86/TestBase.h
Revision 373312 by Raphael Isemann:
[clang][lldb][NFC] Encapsulate ExternalASTMerger::ImporterSource

NFC preparation work for upcoming ExternalASTMerger patches.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/ExternalASTMerger.h (diff)clang.src/include/clang/AST/ExternalASTMerger.h
The file was modified/cfe/trunk/lib/AST/ExternalASTMerger.cpp (diff)clang.src/lib/AST/ExternalASTMerger.cpp
The file was modified/cfe/trunk/tools/clang-import-test/clang-import-test.cpp (diff)clang.src/tools/clang-import-test/clang-import-test.cpp
The file was modified/lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp (diff)N/A
The file was modified/lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp (diff)N/A
The file was modified/lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp (diff)N/A
The file was modified/lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp (diff)N/A
Revision 373311 by gribozavr:
Revert "[OCaml] Handle nullptr in Llvm.global_initializer"

This reverts commit r373299. It broke tests:
http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/18485
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/bindings/ocaml/llvm/llvm.ml (diff)llvm.src/bindings/ocaml/llvm/llvm.ml
The file was modified/llvm/trunk/bindings/ocaml/llvm/llvm.mli (diff)llvm.src/bindings/ocaml/llvm/llvm.mli
The file was modified/llvm/trunk/bindings/ocaml/llvm/llvm_ocaml.c (diff)llvm.src/bindings/ocaml/llvm/llvm_ocaml.c
Revision 373310 by gribozavr:
Revert "GlobalISel: Handle llvm.read_register"

This reverts commit r373294. It broke Clang's
CodeGen/arm64-microsoft-status-reg.cpp:
http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/18483
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/IRTranslator.cpp (diff)llvm.src/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was removed/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/read_register.llllvm.src/test/CodeGen/AMDGPU/GlobalISel/read_register.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/read_register.ll (diff)llvm.src/test/CodeGen/AMDGPU/read_register.ll
Revision 373309 by sam_parker:
[NFC][HardwareLoops] Update some iterators
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/TargetTransformInfo.cpp (diff)llvm.src/lib/Analysis/TargetTransformInfo.cpp
Revision 373308 by sylvestre:
Decrease the verbosity of the -ftime-trace option
And move the relevant information in the doc.

Summary:
Currently, building a large software like Firefox shows
'Use chrome://tracing or Speedscope App (https://www.speedscope.app) for flamegraph visualization'
for each file.

Reviewers: anton-afanasyev

Reviewed By: anton-afanasyev

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68260
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/ClangCommandLineReference.rst (diff)clang.src/docs/ClangCommandLineReference.rst
The file was modified/cfe/trunk/tools/driver/cc1_main.cpp (diff)clang.src/tools/driver/cc1_main.cpp
Revision 373305 by ibiryukov:
[clangd] Handle OverloadExpr in targetDecl

Reviewers: sammccall

Reviewed By: sammccall

Subscribers: nridge, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68119
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/FindTarget.cpp (diff)clang-tools-extra.src/clangd/FindTarget.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/FindTargetTests.cpp (diff)clang-tools-extra.src/clangd/unittests/FindTargetTests.cpp
Revision 373304 by gribozavr:
[clang-tidy] Fix module registry name and description for Darwin clang-tidy module.

Summary: When creating the module, must have copy-pasted from the misc module, and forgotten to update the name/description of the module in the registry.

Reviewers: stephanemoore, benhamilton, gribozavr

Reviewed By: gribozavr

Subscribers: xazax.hun, cfe-commits

Tags: #clang, #clang-tools-extra, #llvm

Differential Revision: https://reviews.llvm.org/D68251
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clang-tidy/darwin/DarwinTidyModule.cpp (diff)clang-tools-extra.src/clang-tidy/darwin/DarwinTidyModule.cpp
Revision 373303 by ctopper:
[X86] Consider isCodeGenOnly in the EVEX2VEX pass to make VMAXPD/PS map to the non-commutable VEX instruction. Use EVEX2VEX override to fix the scalar instructions.

Previously the match was ambiguous and VMAXPS/PD and VMAXCPS/PD
were mapped to the same VEX instruction. But we should keep
the commutableness when change the opcode.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86InstrAVX512.td (diff)llvm.src/lib/Target/X86/X86InstrAVX512.td
The file was modified/llvm/trunk/test/CodeGen/X86/evex-to-vex-compress.mir (diff)llvm.src/test/CodeGen/X86/evex-to-vex-compress.mir
The file was modified/llvm/trunk/utils/TableGen/X86EVEX2VEXTablesEmitter.cpp (diff)llvm.src/utils/TableGen/X86EVEX2VEXTablesEmitter.cpp
Revision 373302 by aheejin:
[WebAssembly] Make sure EH pads are preferred in sorting

Summary:
In CFGSort, we try to make EH pads have higher priorities as soon as
they are ready to be sorted, to prevent creation of unwind destination
mismatches in CFGStackify. We did that by making priority queues'
comparison function  prefer EH pads, but it was possible for an EH pad
to be popped from `Preferred` queue and then not sorted immediately and
enter `Ready` queue instead in a certain condition. This patch makes
sure that special condition does not consider EH pads as its candidates.

Reviewers: dschuff

Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68229
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyCFGSort.cpp (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyCFGSort.cpp
The file was modified/llvm/trunk/test/CodeGen/WebAssembly/cfg-stackify-eh.ll (diff)llvm.src/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
Revision 373301 by aheejin:
[WebAssembly] Unstackify regs after fixing unwinding mismatches

Summary:
Fixing unwind mismatches for exception handling can result in splicing
existing BBs and moving some of instructions to new BBs. In this case
some of stackified def registers in the original BB can be used in the
split BB. For example, we have this BB and suppose %r0 is a stackified
register.
```
bb.1:
  %r0 = call @foo
  ... use %r0 ...
```

After fixing unwind mismatches in CFGStackify, `bb.1` can be split and
some instructions can be moved to a newly created BB:
```
bb.1:
  %r0 = call @foo

bb.split (new):
  ... use %r0 ...
```

In this case we should make %r0 un-stackified, because its use is now in
another BB.

When spliting a BB, this CL unstackifies all def registers that have
uses in the new split BB.

Reviewers: dschuff

Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68218
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h
The file was modified/llvm/trunk/test/CodeGen/WebAssembly/cfg-stackify-eh.ll (diff)llvm.src/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
Revision 373299 by hiraditya:
[OCaml] Handle nullptr in Llvm.global_initializer

LLVMGetInitializer returns nullptr in case there is no
initializer. There is not much that can be done with nullptr in OCaml,
not even test if it is null. Also, there does not seem to be a C or
OCaml API to test if there is an initializer. So this diff changes
Llvm.global_initializer to return an option.

Differential Revision: https://reviews.llvm.org/D65195
Reviewed by: whitequark
Authored by: kren1
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/bindings/ocaml/llvm/llvm.ml (diff)llvm.src/bindings/ocaml/llvm/llvm.ml
The file was modified/llvm/trunk/bindings/ocaml/llvm/llvm.mli (diff)llvm.src/bindings/ocaml/llvm/llvm.mli
The file was modified/llvm/trunk/bindings/ocaml/llvm/llvm_ocaml.c (diff)llvm.src/bindings/ocaml/llvm/llvm_ocaml.c
Revision 373298 by arsenm:
AMDGPU/GlobalISel: Select s1 src G_SITOFP/G_UITOFP
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUInstructionSelector.h (diff)llvm.src/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstructions.td (diff)llvm.src/lib/Target/AMDGPU/SIInstructions.td
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-sitofp.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-sitofp.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-uitofp.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-uitofp.mir
Revision 373297 by yuanfang:
Remove a undefined constructor introduced by r373244.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/MachineModuleInfo.h (diff)llvm.src/include/llvm/CodeGen/MachineModuleInfo.h
Revision 373296 by arsenm:
AMDGPU/GlobalISel: Add support for init.exec intrinsics

TThe existing wave32 behavior seems broken and incomplete, but this
reproduces it.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUGISel.td (diff)llvm.src/lib/Target/AMDGPU/AMDGPUGISel.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUInstructionSelector.h (diff)llvm.src/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.td (diff)llvm.src/lib/Target/AMDGPU/SIInstrInfo.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstructions.td (diff)llvm.src/lib/Target/AMDGPU/SIInstructions.td
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.init.exec.llllvm.src/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.init.exec.ll
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.init.exec.wave32.llllvm.src/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.init.exec.wave32.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.init.exec.ll (diff)llvm.src/test/CodeGen/AMDGPU/llvm.amdgcn.init.exec.ll
The file was added/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.init.exec.wave32.llllvm.src/test/CodeGen/AMDGPU/llvm.amdgcn.init.exec.wave32.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/wave32.ll (diff)llvm.src/test/CodeGen/AMDGPU/wave32.ll
Revision 373295 by arsenm:
AMDGPU/GlobalISel: Allow scc/vcc alternative mappings for s1 constants
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
Revision 373294 by arsenm:
GlobalISel: Handle llvm.read_register

SelectionDAG has a bunch of machinery to defer this to selection time
for some reason. Just directly emit a copy during IRTranslator. The
x86 usage does somewhat questionably check hasFP, which could depend
on the whole function being at minimum translated.

This does lose the convergent bit if the callsite had it, which may be
a problem. We also lose that in general for intrinsics, which may also
be a problem.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/IRTranslator.cpp (diff)llvm.src/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/read_register.llllvm.src/test/CodeGen/AMDGPU/GlobalISel/read_register.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/read_register.ll (diff)llvm.src/test/CodeGen/AMDGPU/read_register.ll
Revision 373293 by arsenm:
AMDGPU/GlobalISel: Avoid creating shift of 0 in arg lowering

This is sort of papering over the fact that we don't run a combiner
anywhere, but avoiding creating 2 instructions in the first place is
easy.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workitem.id.ll (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workitem.id.ll
Revision 373292 by arsenm:
TLI: Remove DAG argument from getRegisterByName

Replace with the MachineFunction. X86 is the only user, and only uses
it for the function. This removes one obstacle from using this in
GlobalISel. The other is the more tolerable EVT argument.

The X86 use of the function seems questionable to me. It checks hasFP,
before frame lowering.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetLowering.h (diff)llvm.src/include/llvm/CodeGen/TargetLowering.h
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64ISelLowering.cpp (diff)llvm.src/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64ISelLowering.h (diff)llvm.src/lib/Target/AArch64/AArch64ISelLowering.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cpp (diff)llvm.src/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIISelLowering.h (diff)llvm.src/lib/Target/AMDGPU/SIISelLowering.h
The file was modified/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp (diff)llvm.src/lib/Target/ARM/ARMISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMISelLowering.h (diff)llvm.src/lib/Target/ARM/ARMISelLowering.h
The file was modified/llvm/trunk/lib/Target/AVR/AVRISelLowering.cpp (diff)llvm.src/lib/Target/AVR/AVRISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/AVR/AVRISelLowering.h (diff)llvm.src/lib/Target/AVR/AVRISelLowering.h
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonISelLowering.cpp (diff)llvm.src/lib/Target/Hexagon/HexagonISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonISelLowering.h (diff)llvm.src/lib/Target/Hexagon/HexagonISelLowering.h
The file was modified/llvm/trunk/lib/Target/Lanai/LanaiISelLowering.cpp (diff)llvm.src/lib/Target/Lanai/LanaiISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/Lanai/LanaiISelLowering.h (diff)llvm.src/lib/Target/Lanai/LanaiISelLowering.h
The file was modified/llvm/trunk/lib/Target/Mips/MipsISelLowering.cpp (diff)llvm.src/lib/Target/Mips/MipsISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsISelLowering.h (diff)llvm.src/lib/Target/Mips/MipsISelLowering.h
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp (diff)llvm.src/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCISelLowering.h (diff)llvm.src/lib/Target/PowerPC/PPCISelLowering.h
The file was modified/llvm/trunk/lib/Target/Sparc/SparcISelLowering.cpp (diff)llvm.src/lib/Target/Sparc/SparcISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/Sparc/SparcISelLowering.h (diff)llvm.src/lib/Target/Sparc/SparcISelLowering.h
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.h (diff)llvm.src/lib/Target/X86/X86ISelLowering.h
Revision 373291 by maskray:
[llvm-readobj/llvm-readelf] Delete --arm-attributes (alias for --arch-specific)

D68110 added --arch-specific (supported by GNU readelf) and made
--arm-attributes an alias for it. The tests were later migrated to use
--arch-specific.

Note, llvm-readelf --arch-specific currently just uses llvm-readobj
style output for ARM attributes. The readelf-style output is not
implemented.

Reviewed By: compnerd, kongyi, rupprecht

Differential Revision: https://reviews.llvm.org/D68196
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-readelf.rst (diff)llvm.src/docs/CommandGuide/llvm-readelf.rst
The file was modified/llvm/trunk/docs/CommandGuide/llvm-readobj.rst (diff)llvm.src/docs/CommandGuide/llvm-readobj.rst
The file was modified/llvm/trunk/test/tools/llvm-readobj/ARM/attribute-conformance-1.s (diff)llvm.src/test/tools/llvm-readobj/ARM/attribute-conformance-1.s
The file was modified/llvm/trunk/test/tools/llvm-readobj/ARM/attribute-conformance-2.s (diff)llvm.src/test/tools/llvm-readobj/ARM/attribute-conformance-2.s
The file was modified/llvm/trunk/tools/llvm-readobj/llvm-readobj.cpp (diff)llvm.src/tools/llvm-readobj/llvm-readobj.cpp
Revision 373290 by ctopper:
[X86] Add test case to show missed opportunity to shrink a constant index to a gather in order to avoid splitting.

Also add a test case for an index that could be shrunk, but
would create a narrow type. We can go ahead and do it we just
need to be before type legalization.

Similar test cases for scatter as well.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/masked_gather_scatter.ll (diff)llvm.src/test/CodeGen/X86/masked_gather_scatter.ll
Revision 373289 by rsmith:
Don't elide the use of the thread wrapper for a thread_local constinit
variable with non-trivial destruction.

We still need to invoke the thread wrapper to trigger registration of
the destructor call on thread shutdown.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/ItaniumCXXABI.cpp (diff)clang.src/lib/CodeGen/ItaniumCXXABI.cpp
The file was modified/cfe/trunk/test/CodeGenCXX/cxx2a-thread-local-constinit.cpp (diff)clang.src/test/CodeGenCXX/cxx2a-thread-local-constinit.cpp
Revision 373288 by arsenm:
AMDGPU/GlobalISel: Select G_UADDO/G_USUBO
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUInstructionSelector.h (diff)llvm.src/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-uaddo.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-uaddo.mir
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-usubo.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-usubo.mir
Revision 373287 by arsenm:
GlobalISel: Implement widenScalar for G_SITOFP/G_UITOFP sources

Legalize 16-bit G_SITOFP/G_UITOFP for AMDGPU.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (diff)llvm.src/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/gisel-fail-intermediate-legalizer.ll (diff)llvm.src/test/CodeGen/AArch64/GlobalISel/gisel-fail-intermediate-legalizer.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fptosi.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fptosi.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fptoui.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fptoui.mir
Revision 373286 by arsenm:
AMDGPU/GlobalISel: Legalize G_GLOBAL_VALUE

Handle other cases besides LDS. Mostly a straight port of the existing
handling, without the intermediate custom nodes.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.h (diff)llvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIISelLowering.h (diff)llvm.src/lib/Target/AMDGPU/SIISelLowering.h
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/global-value.llllvm.src/test/CodeGen/AMDGPU/GlobalISel/global-value.ll