FailedChanges

Summary

  1. Expose ProvidePositionalOption as a public API The motivation is to reuse the key value parsing logic here to parse instance specific pass options within the context of MLIR. The primary functionality exposed is the "," splitting for arrays and the logic for properly handling duplicate definitions of a single flag. Patch by: Parker Schuh <parkers@google.com> Differential Revision: https://reviews.llvm.org/D68294
  2. Fix a *nasty* miscompile in experimental unordered atomic lowering This is an omission in rL371441. Loads which happened to be unordered weren't being added to the PendingLoad set, and thus weren't be ordered w/respect to side effects which followed before the end of the block. Included test case is how I spotted this. We had an atomic load being folded into a using instruction after a fence that load was supposed to be ordered with. I'm sure it showed up a bunch of other ways as well. Spotted via manual inspecting of assembly differences in a corpus w/and w/o the new experimental mode. Finding this with testing would have been "unpleasant".
  3. [Test] Add a test case fo a missed oppurtunity in implicit null checking
  4. [RISCV] Added missing ImmLeaf predicates simm9_lsb0 and simm12_lsb0 operand types were missing predicates.
  5. Add a unittest to verify for assumption cache Reviewers: vsk, tejohnson Reviewed By: vsk Differential Revision: https://reviews.llvm.org/D68095
  6. [libc++] Guard cxx_experimental settings behind LIBCXX_ENABLE_EXPERIMENTAL_LIBRARY If you explicitly set LIBCXX_ENABLE_EXPERIMENTAL_LIBRARY to OFF, your project will fail to configure because the cxx_experimental target doesn't exist.
  7. [libc++] Localize common build flags into a single CMake function Also, set those flags for the cxx_experimental target. Otherwise, cxx_experimental doesn't build properly when neither the static nor the shared library is compiled (yes, that is a weird setup).
  8. Invalidate assumption cache before outlining. Subscribers: llvm-commits Tags: #llvm Reviewers: compnerd, vsk, sebpop, fhahn, tejohnson Reviewed by: vsk Differential Revision: https://reviews.llvm.org/D68478
  9. Revert [CodeGen] Do the Simple Early Return in block-placement pass to optimize the blocks This reverts r371177 (git commit f879c6875563c0a8cd838f1e13b14dd33558f1f8) It caused PR43566 by removing empty, address-taken MachineBasicBlocks. Such blocks may have references from blockaddress or other operands, and need more consideration to be removed. See the PR for a test case to use when relanding.
  10. [InstCombine] Fold 'icmp eq/ne (?trunc (lshr/ashr %x, bitwidth(x)-1)), 0' -> 'icmp sge/slt %x, 0' We do indeed already get it right in some cases, but only transitively, with one-use restrictions. Since we only need to produce a single comparison, it makes sense to match the pattern directly: https://rise4fun.com/Alive/kPg
  11. [InstCombine] Right-shift shift amount reassociation with truncation (PR43564, PR42391) Initially (D65380) i believed that if we have rightshift-trunc-rightshift, we can't do any folding. But as it usually happens, i was wrong. https://rise4fun.com/Alive/GEw https://rise4fun.com/Alive/gN2O In https://bugs.llvm.org/show_bug.cgi?id=43564 we happen to have this very sequence, of two right shifts separated by trunc. And "just" so that happens, we apparently can fold the pattern if the total shift amount is either 0, or it's equal to the bitwidth of the innermost widest shift - i.e. if we are left with only the original sign bit. Which is exactly what is wanted there.
  12. [NFC][InstCombine] Autogenerate shift.ll test
  13. [NFC][InstCombine] Autogenerate icmp-shr-lt-gt.ll test
  14. [NFC][InstCombine] Tests for bit test via highest sign-bit extract (w/ trunc) (PR43564) https://rise4fun.com/Alive/x5IS
  15. [NFC][InstCombine] Tests for right-shift shift amount reassociation (w/ trunc) (PR43564, PR42391) https://rise4fun.com/Alive/GEw
  16. Add an off-by-default option to enable testing for gdb pretty printers. Summary: The current version of the pretty printers are not python3 compatible, so turn them off by default until sufficiently improved. Reviewers: MaskRay, tamur Subscribers: mgorny, christof, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68477
  17. [lit] Use better name for "test in parallel" concept In the past, lit used threads to run tests in parallel. Today we use `multiprocessing.Pool`, which uses processes. Let's stay more abstract and use "worker" everywhere. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D68475
  18. [clang] fix a typo from r372531 Reviewers: xbolva00 Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68482
  19. [MachineOutliner] Disable outlining from noreturn functions Outlining from noreturn functions doesn't do the correct thing right now. The outliner should respect that the caller is marked noreturn. In the event that we have a noreturn function, and the outlined code is in tail position, the outliner will not see that the outlined function should be tail called. As a result, you end up with a regular call containing a return. Fixing this requires that we check that all candidates live inside noreturn functions. So, for the sake of correctness, don't outline from noreturn functions right now. Add machine-outliner-noreturn.mir to test this.
  20. [InstCombine] add tests for fneg disguised as fmul; NFC
  21. [clang-tools-extra] [cmake] Link against libclang-cpp whenever possible Use clang_target_link_libraries() in order to support linking against libclang-cpp instead of static libraries. Differential Revision: https://reviews.llvm.org/D68448
  22. [clang] [cmake] Use add_clang_tool() to install all tools Switch clang-check, clang-extdef-mapping and clang-offload-bundler to use add_clang_tool() rather than add_clang_executable() with a custom install rule. This makes them LLVM_DISTRIBUTION_COMPONENTS-friendly. Differential Revision: https://reviews.llvm.org/D68429
  23. [NFC] Add { } to silence compiler warning [-Wmissing-braces]. ../llvm-project/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp:355:48: warning: suggest braces around initialization of subobject [-Wmissing-braces] return addMappingFromTable<1>(MI, MRI, { 0 }, Table); ^ {}
  24. [ScheduleDAG] When a node is cloned, add an edge between the nodes. InstrEmitter's virtual register handling assumes that clones are emitted after the cloned node. Make sure this assumption actually holds. Fixes a "Node emitted out of order - early" assertion on the testcase. This is probably a very rare case to actually hit in practice; even without the explicit edge, the scheduler will usually end up scheduling the nodes in the expected order due to other constraints. Differential Revision: https://reviews.llvm.org/D68068
  25. [test] Remove another two unnecessary uses of REQUIRES: target-windows. NFC. Differential Revision: https://reviews.llvm.org/D68449
  26. [JITLink] Silence GCC warnings. NFC. Use parentheses in an expression with mixed && and ||. Differential Revision: https://reviews.llvm.org/D68447
  27. [Sema] Split out -Wformat-type-confusion from -Wformat-pedantic The warnings now in -Wformat-type-confusion don't align with how we interpret 'pedantic' in clang, and don't belong in -pedantic. Differential revision: https://reviews.llvm.org/D67775
  28. [libc++] Make the modules-related flags PUBLIC instead of PRIVATE It appears that those need to be propagated to targets that use libc++ as well, otherwise they don't build properly.
  29. Add missing null pointer check in -ftime-trace code createOutputFile diagnoses the error for the caller already, so recover by not writing the output. Fixes PR43555 No test, since I couldn't think of a good, portable, simple way to make the regular -o output file writable, but outputfile.json not writable.
  30. [CMake] Clang: Don't use object libraries with Xcode Undoes some of the effects of r360946 when using the Xcode CMake generator---it doesn't handle object libraries correctly at all. Attempts to still honor BUILD_SHARED_LIBS for Xcode, but I didn't actually test it. Should have no effect on non-Xcode generators. https://reviews.llvm.org/D68430
  31. [libc++] Move more CMake flags to per-target definitions This daily refactoring tackles flags related to modules, exceptions and RTTI.
  32. [X86] Remove isel patterns for mask vpcmpgt/vpcmpeq. Switch vpcmp to these based on the immediate in MCInstLower The immediate form of VPCMP can represent these completely. The vpcmpgt/eq are just shorter encodings. This patch removes the isel patterns and just swaps the opcodes and removes the immediate in MCInstLower. This matches where we do some other encodings tricks. Removes over 10K bytes from the isel table. Differential Revision: https://reviews.llvm.org/D68446
  33. [X86] Add DAG combine to form saturating VTRUNCUS/VTRUNCS from VTRUNC We already do this for ISD::TRUNCATE, but we can do the same for X86ISD::VTRUNC Differential Revision: https://reviews.llvm.org/D68432
  34. Add few docs and implementation of strcpy and strcat. Summary: This patch illustrates some of the features like modularity we want in the new libc. Few other ideas like different kinds of testing, redirectors etc are not yet present. Reviewers: dlj, hfinkel, theraven, jfb, alexshap, jdoerfert Subscribers: mgorny, dexonsmith, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67867
  35. [Automaton] Fix invalid iterator reference Found by the expensive checks bot.
  36. [ModuloSchedule] Do not remap terminators This is a trivial point fix. Terminator instructions aren't scheduled, so we shouldn't expect to be able to remap them. This doesn't affect Hexagon and PPC because their terminators are always hardware loop backbranches that have no register operands.
  37. [FPEnv] Strict FP tests should use the requisite function attributes. A set of function attributes is required in any function that uses constrained floating point intrinsics. None of our tests use these attributes. This patch fixes this. These tests have been tested against the IR verifier changes in D68233. Reviewed by: andrew.w.kaylor, cameron.mcinally, uweigand Approved by: andrew.w.kaylor Differential Revision: https://reviews.llvm.org/D67925
  38. [utils] Fix incompatibility of bisect[-skip-count] with Python 3 Summary: This change replaces the print statements with print function calls and also replaces the '/' operator (which is integer division in Py2, but becomes floating point division in Py3) with the '//' operator which has the same semantics in Py2 and Py3. Reviewers: greened, michaelplatings, gottesmm Reviewed By: greened Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68138
  39. [OPENMP50]Suppport for multiple vendors in the same vendor context selector. According to OpenMP 5.0, multiple vendors could be specified in the vendor context selector via ',' as a separator.
  40. [NFC] [FileCheck] Reapply fix init of objects in unit tests Summary: Fix initialization style of objects allocated on the stack and member objects in unit test to use the "Type Var(init list)" and "Type Member{init list}" convention. The latter fixes the buildbot breakage. Reviewers: jhenderson, probinson, arichardson, grimar, jdenny Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68425
  41. [scudo][standalone] Make malloc_info return a minimal XML Summary: Initially, our malloc_info was returning ENOTSUP, but Android would rather have it return successfully and write a barebone XML to the stream, so we will oblige. Add an associated test. Reviewers: cferris, morehouse, hctim, eugenis, vitalybuka Reviewed By: morehouse Subscribers: delcypher, #sanitizers, llvm-commits Tags: #llvm, #sanitizers Differential Revision: https://reviews.llvm.org/D68427
  42. SemaDeclAttr - silence static analyzer getAs<> null dereference warnings. NFCI. The static analyzer is warning about potential null dereferences, but in these cases we should be able to use castAs<> directly and if not assert will fire for us.
  43. CGBlocks - silence static analyzer getAs<> null dereference warnings. NFCI. The static analyzer is warning about potential null dereferences, but in these cases we should be able to use castAs<> directly and if not assert will fire for us.
  44. [clang-format] C++11 braced lists should respect the SpacesInParentheses setting Summary: According to the clang-format documentation, "Fundamentally, C++11 braced lists are formatted exactly like function calls would be formatted in their place. If the braced list follows a name (e.g. a type or variable name), clang-format formats as if the `{}` were the parentheses of a function call with that name." This patch furthers the treatment of C++11 braced list braces as parentheses by respecting the `SpacesInParentheses` setting. Reviewers: MyDeveloperDay, reuk, owenpan Reviewed By: MyDeveloperDay Subscribers: cfe-commits Tags: #clang-format, #clang Patch By: mitchell-stellar Differential Revision: https://reviews.llvm.org/D68415
  45. [clang-format] [PR43531] clang-format damages "alternative representations" for operators Summary: https://bugs.llvm.org/show_bug.cgi?id=43531 Fix for clang-format incorrectly handles "alternative operators" as described by https://en.cppreference.com/w/cpp/language/operator_alternative compl = ~ not = ! these are unary operators, and clang-format will remove the space between them and a numeric constant this incorrectly formats the following code ``` int a compl 5; int a not 5; ``` into: ``` int a compl5; int a not5; ``` The code adds FIXME unit tests for "alternative token" representations for {} [] and # as defined by the same link, which would require a more detailed change to the FormatTokenLexer Reviewers: klimek, reuk, owenpan, mitchell-stellar, STL_MSFT Reviewed By: mitchell-stellar Subscribers: cfe-commits Tags: #clang-format, #clang-tools-extra, #clang Differential Revision: https://reviews.llvm.org/D68332
  46. Further improve -Wbool-operation bitwise negation message
  47. [clang-rename] Fix a crash when renaming a class without definition. Reviewers: sammccall Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68459
  48. [clang-format] [PR42417] clang-format inserts a space after '->' for operator->() overloading Summary: https://bugs.llvm.org/show_bug.cgi?id=42417 This revision removes the extra space between the opertor-> and the parens () ``` class Bug { auto operator-> () -> int*; auto operator++(int) -> int; }; ``` Reviewers: klimek, owenpan, byoungyoung, mitchell-stellar Reviewed By: mitchell-stellar Subscribers: cfe-commits Tags: #clang-format, #clang Differential Revision: https://reviews.llvm.org/D68242
  49. [AMDGPU][MC][GFX10][WS32] Corrected decoding of dst operand for v_cmp_*_sdwa opcodes See bug 43484: https://bugs.llvm.org/show_bug.cgi?id=43484 Reviewers: arsenm, rampitec Differential Revision: https://reviews.llvm.org/D68349
  50. [clang] Prevent false positives in arm-mfpu-none codegen test. A user pointed out to me in private email that this test will fail if it sees the letter 's' followed by a digit in any part of clang's assembly output after the function label. That includes the .ident at the end, which can include a full pathname or hostname or both from the system clang was built on. So if that path or hostname includes any text like 's5' then it will cause the test to fail. Fixed by adding a check for `.fnend`, to limit the scope of the `CHECK-NOT` to only the actual generated code for the test function. (Committed without prior review on the basis that it's a simple and obvious pure test-suite fix and also in a test I contributed myself.)
  51. [NFCI] Improve the -Wbool-operation's warning message Based on the request from the post commit review. Also added one new test.
  52. Fix uninitialized variable warnings in directory_entry default constructor. NFCI
  53. Fix MSVC "not all control paths return a value" warning. NFCI.
  54. [AMDGPU][MC][GFX10] Enabled decoding of 'null' operand See bug 43485: https://bugs.llvm.org/show_bug.cgi?id=43485 Reviewers: arsenm, rampitec Differential Revision: https://reviews.llvm.org/D68348
  55. [clangd] update the package-lock.json.
  56. ARM-Darwin: keep the frame register reserved even if not updated. Darwin platforms need the frame register to always point at a valid record even if it's not updated in a leaf function. Backtraces are more important than one extra GPR.
  57. [llvm-ar][test] Clarified comment The test is dependant on the installation of the en_US.UTF-8 locale. The reasoning for this is clarified in the amended comment.
  58. [AMDGPU][MC][GFX10] Corrected definition of FLAT GLOBAL/SCRATCH instructions See bug 43483: https://bugs.llvm.org/show_bug.cgi?id=43483 Reviewers: arsenm, rampitec Differential Revision: https://reviews.llvm.org/D68347
  59. [llvm-readobj] Remove redundant semicolon. NFC
  60. [llvm-readobj][mips] Inline `printMipsPLTGOT` method
  61. [llvm-readobj][mips] Implement GNU-style printing of .MIPS.abiflags section In this patch `llvm-readobj` prints ASEs flags on a single line separated by a comma. GNU `readelf` prints each ASEs flag on a separate line. It will be fixed later.
  62. [llvm-readobj] Replace arch-specific ObjDumper methods by the single `printArchSpecificInfo` Initially llvm-readobj supports multiple command line options like `--arm-attributes` and `--mips-plt-got` for display ELF arch-specific information. Now all these options are superseded by the `--arch-specific` one. It makes sense to have a single `printArchSpecificInfo` method in the base `ObjDumper`, and hide all ELF/target specific details in the `ELFDumper::printArchSpecificInfo` override. Differential Revision: https://reviews.llvm.org/D68385
  63. Fix MSVC "not all control paths return a value" warning. NFCI.
  64. Fix MSVC "result of 32-bit shift implicitly converted to 64 bits" warning. NFCI.
  65. Revert [test] Remove locale dependency for mri-utf8.test This reverts r373700 (git commit b455ebf921c5c940c2366bec226959e3a4127fee)
  66. [DebugInfo] LiveDebugValues: move DBG_VALUE creation into VarLoc class Rather than having a mixture of location-state shared between DBG_VALUEs and VarLoc objects in LiveDebugValues, this patch makes VarLoc the master record of variable locations. The refactoring means that the transfer of locations from one place to another is always a performed by an operation on an existing VarLoc, that produces another transferred VarLoc. DBG_VALUEs are only created at the end of LiveDebugValues, once all locations are known. As a plus, there is now only one method where DBG_VALUEs can be created. The test case added covers a circumstance that is now impossible to express in LiveDebugValues: if an already-indirect DBG_VALUE is spilt, previously it would have been restored-from-spill as a direct DBG_VALUE. We now don't lose this information along the way, as VarLocs always refer back to the "original" non-transfer DBG_VALUE, and we can always work out whether a location was "originally" indirect. Differential Revision: https://reviews.llvm.org/D67398
  67. gn build: (manually) merge r373718
  68. [Format] Fix docs after r373439
  69. Revert "[NFC] [FileCheck] Fix init of stack objects in unit tests" This reverts commit r373717. It broke the build: http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/18721.
  70. [DebugInfo] LiveDebugValues: defer DBG_VALUE creation during analysis When transfering variable locations from one place to another, LiveDebugValues immediately creates a DBG_VALUE representing that transfer. This causes trouble if the variable location should subsequently be invalidated by a loop back-edge, such as in the added test case: the transfer DBG_VALUE from a now-invalid location is used as proof that the variable location is correct. This is effectively a self-fulfilling prophesy. To avoid this, defer the insertion of transfer DBG_VALUEs until after analysis has completed. Some of those transfers are still sketchy, but we don't propagate them into other blocks now. Differential Revision: https://reviews.llvm.org/D67393
  71. [TableGen] Introduce a generic automaton (DFA) backend Summary: This patch introduces -gen-automata, a backend for generating deterministic finite-state automata. DFAs are already generated by the -gen-dfa-packetizer backend. This backend is more generic and will hopefully be used to implement the DFA generation (and determinization) for the packetizer in the future. This backend allows not only generation of a DFA from an NFA (nondeterministic finite-state automaton), it also emits sidetables that allow a path through the DFA under a sequence of inputs to be analyzed, and the equivalent set of all possible NFA transitions extracted. This allows a user to not just answer "can my problem be solved?" but also "what is the solution?". Clearly this analysis is more expensive than just playing a DFA forwards so is opt-in. The DFAPacketizer has this behaviour already but this is a more compact and generic representation. Examples are bundled in unittests/TableGen/Automata.td. Some are trivial, but the BinPacking example is a stripped-down version of the original target problem I set out to solve, where we pack values (actually immediates) into bins (an immediate pool in a VLIW bundle) subject to a set of esoteric constraints. Reviewers: t.p.northover Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67968
  72. [NFC] [FileCheck] Fix init of stack objects in unit tests Summary: Fix initialization style of objects allocated on the stack in unit test to use the "Type Var(init list)" convention. Reviewers: jhenderson, probinson, arichardson, grimar, jdenny Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68425
  73. AMDGPU/GlobalISel: Fix using wrong addrspace for aperture This was always passing the destination flat address space, when it should be picking between the two valid source options.
  74. AMDGPU/GlobalISel: Select G_PTRTOINT
  75. AMDGPU/GlobalISel: Support wave32 waterfall loops
  76. [Driver] NFC: Remove duplicate call to getLibGccType Reviewed By: saugustine Differential Revision: https://reviews.llvm.org/D68380
  77. [lldb][modern-type-lookup] No longer import temporary declarations into the persistent AST Summary: As we figured out in D67803, importing declarations from a temporary ASTContext that were originally from a persistent ASTContext causes a bunch of duplicated declarations where we end up having declarations in the target AST that have no associated ASTImporter that can complete them. I haven't figured out how/if we can solve this in the current way we do things in LLDB, but in the modern-type-lookup this is solvable as we have a saner architecture with the ExternalASTMerger. As we can (hopefully) make modern-type-lookup the default mode in the future, I would say we try fixing this issue here. As we don't use the hack that was reinstated in D67803 during modern-type-lookup, the test case for this is essentially just printing any kind of container in `std::` as we would otherwise run into the issue that required a hack like D67803. What this patch is doing in essence is that instead of importing a declaration from a temporary ASTContext, we instead check if the declaration originally came from a persistent ASTContext (e.g. the debug information) and we directly import from there. The ExternalASTMerger is already connected with ASTImporters to these different sources, so this patch is essentially just two parts: 1. Mark our temporary ASTContext/ImporterSource as temporary when we import from the expression AST. 2. If the ExternalASTMerger sees we import from the expression AST, instead of trying to import these temporary declarations, check if we can instead import from the persistent ASTContext that is already connected. This ensures that all records from the persistent source actually come from the persistent source and are minimally imported in a way that allows them to be completed later on in the target AST. The next step is to run the ASTImporter for these temporary expressions with the MinimalImport mode disabled, but that's a follow up patch. This patch fixes most test failures with modern-type-lookup enabled by default (down to 73 failing tests, which includes the 22 import-std-module tests which need special treatment). Reviewers: shafik, martong Reviewed By: martong Subscribers: aprantl, rnkovacs, christof, abidh, JDevlieghere, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D68326
  78. [CodeComplete] Ensure object is the same in compareOverloads() Summary: This fixes a regression that led to size() not being available in clangd when completing 'deque().^' and using libc++. Reviewers: sammccall Reviewed By: sammccall Subscribers: jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68335
  79. [clang-format] [PR43338] C# clang format has space issues betweern C# only keywords Summary: When formatting C# there can be issues with a lack of spaces between `using (` , `foreach (` and generic types The C# code ``` public class Foo { Dictionary<string,string> foo; } ``` will be formatted as ``` public class Foo { Dictionary<string, string>foo; ^^^^^ missing a space } ``` This revision also reverts some of {D66662} in order to make this cleaner and resolve an issues seen by @owenpan that the formatting didn't add a space when not in a code block This also transforms C# foreach commands to be seen as tok::kw_for commands (to ensure foreach gets the same Brace Wrapping behavior as for without littering the code with `if(Style.isCSharp())` Reviewers: owenpan, klimek, russellmcc, mitchell-stellar Reviewed By: mitchell-stellar Subscribers: cfe-commits Tags: #clang, #clang-format Differential Revision: https://reviews.llvm.org/D67660
  80. [clang-format] [PR43333] Fix C# breaking before function name when using Attributes Summary: This is a fix for https://bugs.llvm.org/show_bug.cgi?id=43333 This comes with 3 main parts - C# attributes cause function names on a new line even when AlwaysBreakAfterReturnType is set to None - Add AlwaysBreakAfterReturnType to None by default in the Microsoft style, - C# unit tests are not using Microsoft style (which we created to define the default C# style to match a vanilla C# project). Reviewers: owenpan, klimek, russellmcc, mitchell-stellar Reviewed By: mitchell-stellar Subscribers: cfe-commits Tags: #clang-tools-extra, #clang, #clang-format Differential Revision: https://reviews.llvm.org/D67629
  81. [X86] Enable inline memcmp() to use AVX512
  82. [compiler-rt] Remove O1 tests from signal_line.cpp It does not work on arm
  83. Revert "[Symbolize] Use the local MSVC C++ demangler instead of relying on dbghelp. NFC." This reverts SVN r373698, as it broke sanitizer tests, e.g. in http://lab.llvm.org:8011/builders/sanitizer-windows/builds/52441.
  84. [test] Remove locale dependency for mri-utf8.test Summary: llvm-ar's mri-utf8.test test relies on the en_US.UTF-8 locale to be installed for its last RUN line to work. If not installed, the unicode string gets encoded (interpreted) as ascii which fails since the most significant byte is non zero. This commit changes the call to open to use a binary literal of the UTF-8 encoding for the pound sign instead, thus bypassing the encoding step. Note that the echo to create the <pound sign>.txt file will work regardless of the locale because both the shell and the echo (in case it's not a builtin of the shell concerned) only care about ascii character to operate. Indeed, the mri-utf8.test file (and in particular the pound sign) is encoded in UTF-8 and UTF-8 guarantees only ascii characters can create bytes that can be interpreted as ascii characters (i.e. bytes with the most significant bit null). So the process to break down the filename in the line goes something along: - find an ascii chevron '>' - find beginning of the filename by removing ascii space-like characters - find ascii newline character indicating the end of the redirection (no semicolon ';', closing curly bracket '}' or parenthesis ')' or the like - create a file whose name is made of all the bytes in between beginning and end of filename *without interpretting them* Reviewers: gbreynoo, MaskRay, rupprecht, JamesNagurne, jfb Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68418
  85. [AMDGPU][SILoadStoreOptimizer] NFC: Refactor code Summary: This patch fixes a potential aliasing problem in InstClassEnum, where local values were mixed with machine opcodes. Introducing InstSubclass will keep them separate and help extending InstClassEnum with other instruction types (e.g. MIMG) in the future. This patch also makes getSubRegIdxs() more concise. Reviewers: nhaehnle, arsenm, tstellar Reviewed By: arsenm Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68384
  86. [Symbolize] Use the local MSVC C++ demangler instead of relying on dbghelp. NFC. This allows making a couple llvm-symbolizer tests run in all environments. Differential Revision: https://reviews.llvm.org/D68133
  87. [test] Remove a needless declaration of REQUIRES: target-windows This test only relies on running on a case insensitive file system, the exact target triple of the toolchain shouldn't matter. Differential Revision: https://reviews.llvm.org/D68136
  88. [JITLink] Remove a redundant semicolon, silencing -Wpedantic warnings with GCC. NFC.
  89. [clang] [cmake] Add distribution install targets for remaining components Add install targets as necessary to install bash-autocomplete, scan-build and scan-view via LLVM_DISTRIBUTION_TARGETS. Differential Revision: https://reviews.llvm.org/D68413
  90. [clang-tools-extra] [cmake] Use add_clang_tool() to install tools Replace add_clang_executable() calls with add_clang_tool() that takes care of creating correct, distribution-friendly install target. While at it, remove redundant install calls. This change also causes clang-move and pp-trace to be installed. Differential Revision: https://reviews.llvm.org/D68423
  91. [JITLink] Explicitly destroy bumpptr-allocated blocks to avoid a memory leak.
  92. [JITLink] Fix an unused variable warning.
  93. Make libc++ gdb pretty printer Python 3 compatible
  94. gn build: Merge r373689
  95. [JITLink] Switch from an atom-based model to a "blocks and symbols" model. In the Atom model the symbols, content and relocations of a relocatable object file are represented as a graph of atoms, where each Atom represents a contiguous block of content with a single name (or no name at all if the content is anonymous), and where edges between Atoms represent relocations. If more than one symbol is associated with a contiguous block of content then the content is broken into multiple atoms and layout constraints (represented by edges) are introduced to ensure that the content remains effectively contiguous. These layout constraints must be kept in mind when examining the content associated with a symbol (it may be spread over multiple atoms) or when applying certain relocation types (e.g. MachO subtractors). This patch replaces the Atom model in JITLink with a blocks-and-symbols model. The blocks-and-symbols model represents relocatable object files as bipartite graphs, with one set of nodes representing contiguous content (Blocks) and another representing named or anonymous locations (Symbols) within a Block. Relocations are represented as edges from Blocks to Symbols. This scheme removes layout constraints (simplifying handling of MachO alt-entry symbols, and hopefully ELF sections at some point in the future) and simplifies some relocation logic.
  96. [RISCV] Split SP adjustment to reduce the offset of callee saved register spill and restore We would like to split the SP adjustment to reduce the instructions in prologue and epilogue as the following case. In this way, the offset of the callee saved register could fit in a single store. add sp,sp,-2032 sw ra,2028(sp) sw s0,2024(sp) sw s1,2020(sp) sw s3,2012(sp) sw s4,2008(sp) add sp,sp,-64 Differential Revision: https://reviews.llvm.org/D68011
  97. Properly handle instantiation-dependent array bounds. We previously failed to treat an array with an instantiation-dependent but not value-dependent bound as being an instantiation-dependent type. We now track the array bound expression as part of a constant array type if it's an instantiation-dependent expression.
  98. [compiler-rt] Fix signal_line.cpp test r373682 committed wrong experimental version
  99. [dsymutil] Fix stack-use-after-scope The lambda is taking the stack-allocated Verify boolean by reference and it would go out of scope on the next iteration. Moving it out of the loop should fix the issue. Fixes https://bugs.llvm.org/show_bug.cgi?id=43549
  100. [compiler-rt] Remove O2, O3 from signal_line test for fix android tests
  101. compiler-rt: use __GLIBC_PREREQ for SANITIZER_INTERCEPT_GETRANDOM Summary: Fixes https://github.com/google/oss-fuzz/issues/2836 Reviewers: eugenis Subscribers: dberris, #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D68178
  102. LowerTypeTests: Rename local functions to avoid collisions with identically named functions in ThinLTO modules. Without this we can encounter link errors or incorrect behaviour at runtime as a result of the wrong function being referenced. Differential Revision: https://reviews.llvm.org/D67945
  103. [llvm-objdump][test] Move test to X86 dir to avoid errors disassembling on non-x86
  104. [MemorySSA] Don't hoist stores if interfering uses (as calls) exist.
  105. [OPENMP]Fix the test on Windows, NFC.
  106. [llvm-objdump] Further rearrange llvm-objdump sections for compatability Summary: rL371826 rearranged some output from llvm-objdump for GNU objdump compatability, but there still seem to be some more. I think this rearrangement is a little closer. Overview of the ordering which matches GNU objdump: * Archive headers * File headers * Section headers * Symbol table * Dwarf debugging * Relocations (if `--disassemble` is not used) * Section contents * Disassembly Reviewers: jhenderson, justice_adams, grimar, ychen, espindola Reviewed By: jhenderson Subscribers: aprantl, emaste, arichardson, jrtc27, atanasyan, seiya, llvm-commits, MaskRay Tags: #llvm Differential Revision: https://reviews.llvm.org/D68066
  107. ASTContext - silence static analyzer getAs<> null dereference warnings. NFCI. The static analyzer is warning about potential null dereferences, but we should be able to use castAs<> directly and if not assert will fire for us. We can also remove a number of explicit asserts and reply on the internal asserts in castAs<>
  108. [DAGCombiner] add operation legality checks before creating shift ops (PR43542) As discussed on llvm-dev and: https://bugs.llvm.org/show_bug.cgi?id=43542 ...we have transforms that assume shift operations are legal and transforms to use them are profitable, but that may not hold for simple targets. In this case, the MSP430 target custom lowers shifts by repeating (many) simpler/fixed ops. That can be avoided by keeping this code as setcc/select. Differential Revision: https://reviews.llvm.org/D68397
  109. OverloadCandidate::getNumParams - silence static analyzer getAs<FunctionProtoType> null dereference warning. NFCI. The static analyzer is warning about a potential null dereference, but we should be able to use castAs<FunctionProtoType> directly and if not assert will fire for us. Also replaces an auto to make the type more obvious.
  110. Reland r349624: Let TableGen write output only if it changed, instead of doing so in cmake Move the write-if-changed logic behind a flag and don't pass it with the MSVC generator. msbuild doesn't have a restat optimization, so not doing write-if-change there doesn't have a cost, and it should fix whatever causes PR43385.
  111. DebugInfo: Generalize rnglist emission as a precursor to reusing it for loclist emission
  112. [OPENMP50]Codegen support for scores in context selectors. If the context selector has associated score and several contexts selectors matches current context, the function with the highest score must be selected.
  113. gn build: (manually) merge 373651 better The reland uses a static library, not an object library. Doesn't really matter for the gn build, but it's probalby nice to have the same semantics for the target type.
  114. [Tests] Add a unordered atomic load combine test
  115. [Test] Fix inconsistency in alignment in test case The IR was using a fixed 8 byte alignment, but the MIR portion was using native alignment. Since the test doesn't appear to be deliberately testing overalignment, just make the IR match the MIR.
  116. [AArch64][SVE] Move the testcase into CodeGen dir https://reviews.llvm.org/rL373600 added an AArch64 testcase in top dir which should be moved to Codegen dir.
  117. [AArch64InstPrinter] prefer bfi to bfc for < armv8.2-a Summary: Fixes pr/42576. Link: https://github.com/ClangBuiltLinux/linux/issues/697 Reviewers: t.p.northover Reviewed By: t.p.northover Subscribers: kristof.beyls, hiraditya, llvm-commits, srhines Tags: #llvm Differential Revision: https://reviews.llvm.org/D68356
  118. Reland "gn build: (manually) merge r373551" 373551 relanded in 373651.
  119. Attempt to remove linker workaround on the buildbots: Attempt 2 The first commit removed the workaround in a old script. This patch removes it in the file actually used by the bots. I have no idea if this is still needed, but removing the workaround seems like the easiest way to test. I'll revert this change if the bots go red.
  120. [PowerPC] Adjust the naming and operand order of fnmsub patterns Summary: This is follow up patch of https://reviews.llvm.org/D67595. Adjust naming and the Commutable operands for additional patterns to make it easier to read. The testcase update also show that we can save some unecessary fmr as well. Reviewers: #powerpc, steven.zhang, hfinkel, nemanjai Reviewed By: #powerpc, nemanjai Subscribers: wuzish, hiraditya, kbarton, MaskRay, shchenz, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68112
  121. [gicombiner] Add a CodeExpander to handle C++ fragments with variable expansion Summary: This will handle expansion of C++ fragments in the declarative combiner including custom predicates, and escapes into C++ to aid the migration effort. Fixed the -DLLVM_LINK_LLVM_DYLIB=ON using DISABLE_LLVM_LINK_LLVM_DYLIB when creating the library. Apparently it automatically links to libLLVM.dylib and we don't want that from tablegen. Reviewers: bogner, volkan Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68288 llvm-svn: 373551
  122. Attempt to remove linker workaround on the buildbots. I have no idea if this is still needed, but removing the workaround seems like the easiest way to test. I'll revert this change if the bots go red.
  123. [HIP] Use option -nogpulib to disable linking device lib Differential Revision: https://reviews.llvm.org/D68300
  124. Check for qualified function types after substituting into the operand of 'typeid'. This is a rare place where it's valid for a function type to be substituted but not valid for a qualified function type to be substituted, so needs a special check.
  125. [clang-format] Add ability to wrap braces after multi-line control statements Summary: Change the BraceWrappingFlags' AfterControlStatement from a bool to an enum with three values: * "Never": This is the default, and does not do any brace wrapping after control statements. * "MultiLine": This only wraps braces after multi-line control statements (this really only happens when a ColumnLimit is specified). * "Always": This always wraps braces after control statements. The first and last options are backwards-compatible with "false" and "true", respectively. The new "MultiLine" option is useful for when a wrapped control statement's indentation matches the subsequent block's indentation. It makes it easier to see at a glance where the control statement ends and where the block's code begins. For example: ``` if ( foo && bar ) { baz(); } ``` vs. ``` if ( foo && bar ) { baz(); } ``` Short control statements (1 line) do not wrap the brace to the next line, e.g. ``` if (foo) { bar(); } else { baz(); } ``` Reviewers: sammccall, owenpan, reuk, MyDeveloperDay, klimek Reviewed By: MyDeveloperDay Subscribers: MyDeveloperDay, cfe-commits Patch By: mitchell-stellar Tags: #clang-format, #clang, #clang-tools-extra Differential Revision: https://reviews.llvm.org/D68296
  126. [NFC] Fix unused variable in release builds
  127. [X86] Add v32i8 shuffle lowering strategy to recognize two v4i64 vectors truncated to v4i8 and concatenated into the lower 8 bytes with undef/zero upper bytes. This patch recognizes the shuffle pattern we get from a v8i64->v8i8 truncate when v8i64 isn't a legal type. With VLX we can use two VTRUNCs, unpckldq, and a insert_subvector. Diffrential Revision: https://reviews.llvm.org/D68374
  128. PR43547: substitute into the type of a non-type template parameter if it's instantiation-dependent, even if it's not dependent. There might be a SFINAE check in the parameter type.
  129. [compiler-rt] More optimization levels in signal_line.cpp test
  130. [X86] matchShuffleWithSHUFPD - use Zeroable element mask directly. NFCI. We can make use of the Zeroable mask to indicate which elements we can safely set to zero instead of creating a target shuffle mask on the fly. This only leaves one user of createTargetShuffleMask which we can hopefully get rid of in a similar manner. This is part of the work to fix PR43024 and allow us to use SimplifyDemandedElts to simplify shuffle chains - we need to get to a point where the target shuffle masks isn't adjusted by its source inputs in setTargetShuffleZeroElements but instead we cache them in a parallel Zeroable mask.
  131. [dsymutil] Don't overload LinkOptions. This should fix the build bots: error: declaration of ‘llvm::dsymutil::LinkOptions DsymutilOptions::LinkOptions’ [-fpermissive]
  132. AMDGPU/GlobalISel: Handle RegBankSelect of G_INSERT_VECTOR_ELT
  133. AMDGPU/GlobalISel: Split 64-bit vector extracts during RegBankSelect Register indexing 64-bit elements is possible on the SALU, but not the VALU. Handle splitting this into two 32-bit indexes. Extend waterfall loop handling to allow moving a range of instructions.
  134. AMDGPU/GlobalISel: Allow VGPR to index SGPR register We can still do a waterfall loop over the index if using a VGPR to index an SGPR. The result will still be a VGPR, but we can avoid the wide copy of the source register to a VGPR.
  135. AMDGPU/GlobalISel: Add some more tests for G_INSERT legalization
  136. AMDGPU/GlobalISel: Fix mutationIsSane assert v8s8 and This would try to do FewerElements to v9s8
  137. [HIP] Enable specifying different default gpu arch for HIP/CUDA. Reviewers: tra, yaxunl Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68394
  138. Fix build failure with GCC on identifier reusing. - GCC is different from clang and other compilers on that. https://godbolt.org/z/CeQE1V
  139. compiler-rt: move all __GLIBC_PREREQ into own header file Reviewers: eugenis Subscribers: dberris, #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D68177
  140. [libc++] Add a per-target flag to include the generated config_site This allows propagating the include automatically to targets that depend on one of the libc++ targets such as the benchmarks. Note that the GoogleBenchmark build itself still needs to manually specify the -include, since I don't know of any way to have an external project link against one of the libc++ targets (which would propagate the -include automatically).
  141. AMDGPU/SILoadStoreOptimizer: Optimize scanning for mergeable instructions Summary: This adds a pre-pass to this optimization that scans through the basic block and generates lists of mergeable instructions with one list per unique address. In the optimization phase instead of scanning through the basic block for mergeable instructions, we now iterate over the lists generated by the pre-pass. The decision to re-optimize a block is now made per list, so if we fail to merge any instructions with the same address, then we do not attempt to optimize them in future passes over the block. This will help to reduce the time this pass spends re-optimizing instructions. In one pathological test case, this change reduces the time spent in the SILoadStoreOptimizer from 0.2s to 0.03s. This restructuring will also make it possible to implement further solutions in this pass, because we can now add less expensive checks to the pre-pass and filter instructions out early which will avoid the need to do the expensive scanning during the optimization pass. For example, checking for adjacent offsets is an inexpensive test we can move to the pre-pass. Reviewers: arsenm, pendingchaos, rampitec, nhaehnle, vpykhtin Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65961
  142. [ModuloSchedule] removeBranch() *before* creating the trip count condition The Hexagon code assumes there's no existing terminator when inserting its trip count condition check. This causes swp-stages5.ll to break. The generated code looks good to me, it is likely a permutation. I have disabled the new codegen path to keep everything green and will investigate along with the other 3-4 tests that have different codegen. Fixes expensive-checks build.
  143. gn build: (manually) merge r373622
  144. DeclBase/DeclCXX/DeclTemplate - silence static analyzer getAs<> null dereference warnings. NFCI. The static analyzer is warning about potential null dereferences, but in these cases we should be able to use castAs<> directly and if not assert will fire for us.
  145. [libc++] Add missing revision number in ABI changelog
  146. [OPENMP]Fix emission of the declare target variables in device mode. Declare target variables must be emitted in device mode, target triples can be empty in this case.
  147. [dsymutil] Improve consistency by removing redundant namespaces (NFC) The dsymutil implementation file has a using-directive for the llvm namespace. This patch just removes redundant namespace qualifiers.
  148. [dsymutil] Tablegenify option parsing This patch reimplements command line option parsing in dsymutil with Tablegen and libOption. The main motivation for this change is to prevent clashes with other cl::opt options defined in llvm. Although it's a bit more heavyweight, it has some nice advantages such as no global static initializers and better separation between the code and the option definitions. I also used this opportunity to improve how dsymutil deals with incompatible options. Instead of having checks spread across the code, everything is now grouped together in verifyOptions. The fact that the options are no longer global means that we need to pass them around a bit more, but I think it's worth the trade-off. Differential revision: https://reviews.llvm.org/D68361
  149. [BPF] Handle offset reloc endpoint ending in the middle of chain properly During studying support for bitfield, I found an issue for an example like the one in test offset-reloc-middle-chain.ll. struct t1 { int c; }; struct s1 { struct t1 b; }; struct r1 { struct s1 a; }; #define _(x) __builtin_preserve_access_index(x) void test1(void *p1, void *p2, void *p3); void test(struct r1 *arg) { struct s1 *ps = _(&arg->a); struct t1 *pt = _(&arg->a.b); int *pi = _(&arg->a.b.c); test1(ps, pt, pi); } The IR looks like: %0 = llvm.preserve.struct.access(base, ...) %1 = llvm.preserve.struct.access(%0, ...) %2 = llvm.preserve.struct.access(%1, ...) using %0, %1 and %2 In this case, we need to generate three relocatiions corresponding to chains: (%0), (%0, %1) and (%0, %1, %2). After collecting all the chains, the current implementation process each chain (in a map) with code generation sequentially. For example, after (%0) is processed, the code may look like: %0 = base + special_global_variable // llvm.preserve.struct.access(base, ...) is delisted // from the instruction stream. %1 = llvm.preserve.struct.access(%0, ...) %2 = llvm.preserve.struct.access(%1, ...) using %0, %1 and %2 When processing chain (%0, %1), the current implementation tries to visit intrinsic llvm.preserve.struct.access(base, ...) to get some of its properties and this caused segfault. This patch fixed the issue by remembering all necessary information (kind, metadata, access_index, base) during analysis phase, so in code generation phase there is no need to examine the intrinsic call instructions. This also simplifies the code. Differential Revision: https://reviews.llvm.org/D68389
  150. [OPENMP]Improve diagnostics for not found declare target entries. We can point to the target region + emit parent functions names/real var names if they were not found in host module during device codegen.
  151. Revert "[Alignment][NFC] Allow constexpr Align" This reverts commit b3af236fb5fc6e50fcc1b54d868f0bff557f3fb1.
  152. [RISCV] Add obsolete aliases of fscsr, frcsr (fssr, frsr) These old aliases were renamed, but are still used by some projects (eg newlib). Differential Revision: https://reviews.llvm.org/D68392
  153. [NFC] Added missing changes for rL373614
  154. [Diagnostics] Bitwise negation of a boolean expr always evaluates to true; warn with -Wbool-operation Requested here: http://lists.llvm.org/pipermail/cfe-dev/2019-October/063452.html
  155. Fix MSVC "result of 32-bit shift implicitly converted to 64 bits" warning. NFCI.
  156. ExprConstant - silence static analyzer getAs<> null dereference warnings. NFCI. The static analyzer is warning about potential null dereferences, but in these cases we should be able to use castAs<> directly and if not assert will fire for us.
  157. Remove duplicate P->getAs<PointerType>() call. NFCI.
  158. [yaml2obj] - Add a Size tag support for SHT_LLVM_ADDRSIG sections. It allows using "Size" with or without "Content" in YAML descriptions of SHT_LLVM_ADDRSIG sections. Differential revision: https://reviews.llvm.org/D68334
  159. Test commit.
  160. [MSP430] add tests for unwanted shift codegen; NFC (PR43542)
  161. Recommit r373598 "[yaml2obj/obj2yaml] - Add support for SHT_LLVM_ADDRSIG sections." Fix: call `consumeError()` for a case missed. Original commit message: SHT_LLVM_ADDRSIG is described here: https://llvm.org/docs/Extensions.html#sht-llvm-addrsig-section-address-significance-table This patch teaches tools to dump them and to parse the YAML declarations of such sections. Differential revision: https://reviews.llvm.org/D68333
  162. [UpdateTestChecks] add basic support for parsing msp430 asm
  163. gn build: Merge r373601
  164. [PGO] Refactor Value Profiling into a plugin based oracle and create a well defined API for the plugins. Summary: This PR creates a utility class called ValueProfileCollector that tells PGOInstrumentationGen and PGOInstrumentationUse what to value-profile and where to attach the profile metadata. It then refactors logic scattered in PGOInstrumentation.cpp into two plugins that plug into the ValueProfileCollector. Authored By: Wael Yehia <wyehia@ca.ibm.com> Reviewer: davidxl, tejohnson, xur Reviewed By: davidxl, tejohnson, xur Subscribers: llvm-commits Tag: #llvm Differential Revision: https://reviews.llvm.org/D67920 Patch By Wael Yehia <wyehia@ca.ibm.com>
  165. [AArch64][SVE] Adding patterns for floating point SVE add instructions.
  166. Revert r373598 "[yaml2obj/obj2yaml] - Add support for SHT_LLVM_ADDRSIG sections." It broke BB: http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/18655/steps/test/logs/stdio
  167. [yaml2obj/obj2yaml] - Add support for SHT_LLVM_ADDRSIG sections. SHT_LLVM_ADDRSIG is described here: https://llvm.org/docs/Extensions.html#sht-llvm-addrsig-section-address-significance-table This patch teaches tools to dump them and to parse the YAML declarations of such sections. Differential revision: https://reviews.llvm.org/D68333
  168. [NFC][InstCombine] Some tests for sub-of-negatible pattern As we have previously estabilished, `sub` is an outcast, and should be considered non-canonical iff it can be converted to `add`. It can be converted to `add` if it's second operand can be negated. So far we mostly only do that for constants and negation itself, but we should be more through.
  169. [llvm-locstats] Copy the script only when needed; NFC
  170. [Alignment][NFC] Remove StoreInst::setAlignment(unsigned) Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet, bollu, jdoerfert Subscribers: hiraditya, asbirlea, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D68268
  171. [llvm-readobj] - Stop using a precompiled binary in all.test Having a precompiled binary here is excessive. I also added a few missing tags. Differential revision: https://reviews.llvm.org/D68386
  172. [libTooling] Add various Stencil combinators for expressions. Summary: This revision adds three new Stencil combinators: * `expression`, which idiomatically constructs the source for an expression, including wrapping the expression's source in parentheses if needed. * `deref`, which constructs an idiomatic dereferencing expression. * `addressOf`, which constructs an idiomatic address-taking expression. Reviewers: gribozavr Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68315
  173. [Alignment][Clang][NFC] Add CharUnits::getAsAlign Summary: This is a prerequisite to removing `llvm::GlobalObject::setAlignment(unsigned)`. This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: jholewinski, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68274
  174. [mips] Push `fixup_Mips_LO16` fixup for `jialc` and `jic` instructions
  175. [llvm-readobj][mips] Remove non-standard --misp-xxx flags llvm-readobj "non-standard" flags `--mips-plt-got`, `--mips-abi-flags`, `--mips-reginfo`, and `--mips-options` are superseded by the `--arch-specific` flag and can be removed now.
  176. [mips] Use llvm-readobj `-A` flag in test cases. NFC
  177. [llvm-readobj][mips] Display MIPS specific info under --arch-specific flag Old options `--mips-plt-got`, `--mips-abi-flags`, '--mips-reginfo`, and `--mips-options` wiil be deleted in a separate patch.
  178. [llvm-readobj][mips] Do not show an error if GOT is missed It is not an error if a file does not contain GOT.
  179. gn build: Revert 373554 "gn build: (manually) merge r373551" r373551 was reverted in r373581.
  180. [AArch64] Static (de)allocation of SVE stack objects. Adds support to AArch64FrameLowering to allocate fixed-stack SVE objects. The focus of this patch is purely to allow the stack frame to allocate/deallocate space for scalable SVE objects. More dynamic allocation (at compile-time, i.e. determining placement of SVE objects on the stack), or resolving frame-index references that include scalable-sized offsets, are left for subsequent patches. SVE objects are allocated in the stack frame as a separate region below the callee-save area, and above the alignment gap. This is done so that the SVE objects can be accessed directly from the FP at (runtime) VL-based offsets to benefit from using the VL-scaled addressing modes. The layout looks as follows: +-------------+ | stack arg | +-------------+ | Callee Saves| | X29, X30 | (if available) |-------------| <- FP (if available) | : | | SVE area | | : | +-------------+ |/////////////| alignment gap. | : | | Stack objs | | : | +-------------+ <- SP after call and frame-setup SVE and non-SVE stack objects are distinguished using different StackIDs. The offsets for objects with TargetStackID::SVEVector should be interpreted as purely scalable offsets within their respective SVE region. Reviewers: thegameg, rovka, t.p.northover, efriedma, rengolin, greened Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D61437
  181. Silence static analyzer getAs<RecordType> null dereference warnings. NFCI. The static analyzer is warning about potential null dereferences, but in these cases we should be able to use castAs<RecordType> directly and if not assert will fire for us.
  182. Fix uninitialized variable warning. NFCI
  183. Fix uninitialized variable warning. NFCI
  184. Revert 373551 (CodeExpander.cpp CMake issue) Fix buildbots and revert the CodeExpander commit. (See http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20190930/699857.html )
  185. [Alignment][NFC] Allow constexpr Align Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68329
  186. Revert 373555: libLLVM+modules failure with CMake 3.10.2 This reverts rL373555. I've sent an email out regarding the issue. Commit on GitHub: https://github.com/llvm/llvm-project/commit/45f682f47129c05414d4c5ae7be851772273978f
  187. [clang][NFC] Fix misspellings in ExternalASTMerger.h
  188. Update the FAQ: remove stuff related to the previous license + update info about the portability of LLVM.
  189. [llvm-exegesis][NFC] Rename ExegesisTarget::decrementLoopCounterAndLoop() Summary: To decrementLoopCounterAndJump, and explicitely take the jump target. Reviewers: gchatelet Subscribers: tschuett, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68375
  190. Fix libc++ pretty printer test for Python 3 after D67238 (take 2) In both Python 2 and Python 3, gdb.Value.string returns a 'str'. We just need to delete a `encode("utf-8")` which would return a 'bytes' in Python 3.
  191. [X86] Add test case for v8i64->v8i8 truncate with avx512 and prefer-vector-width/min-legal-vector-width=256. NFC With vpmovqb, we should be able to do better here until we get AVX512VBMI on Cannonlake/Icelake.
  192. AMDGPU/GlobalISel: Don't re-get subtarget It's already available in the class.
  193. AMDGPU/GlobalISel: Expand G_BITCAST legality
  194. [X86] Add DAG combine to turn (bitcast (vbroadcast_load)) into just a vbroadcast_load if the scalar size is the same. This improves broadcast load folding of i64 elements on 32-bit targets where i64 isn't legal. Previously we had to represent these as vXf64 vbroadcast_loads and a bitcast to vXi64. But we didn't have any isel patterns looking for that. This also allows us to remove or simplify some isel patterns that were looking for bitcasted vbroadcast_loads.
  195. Fix driver tests when `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR` is `ON` Some Driver tests relied on the default resource direcory having per-os per-arch subdirectory layout, and when clang is built with `-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON`, those test fail, because clang by default assumes per-target subdirectories. Explicitly set `-resource-dir` flag to point to a tree with per-os per-arch layout. See also: D45604, D62469 Differential Revision: https://reviews.llvm.org/D66981 Patch by Sergej Jaskiewicz <jaskiewiczs@icloud.com>.
  196. [HIP] Support -emit-llvm for device compilation Sometimes it is useful to compile HIP device code to LLVM BC. It is not convenient to use clang -cc1 since there are lots of options needed. This patch allows clang driver to compile HIP device code to LLVM BC with -emit-llvm -c. Differential Revision: https://reviews.llvm.org/D68284
  197. [X86] Add broadcast load folding patterns to NoVLX VPMULLQ/VPMAXSQ/VPMAXUQ/VPMINSQ/VPMINUQ patterns. More fixes for PR36191.
  198. [X86] Remove a couple redundant isel patterns that look to have been copy/pasted from right above them. NFC
Revision 373815 by Mehdi Amini:
Expose ProvidePositionalOption as a public API

The motivation is to reuse the key value parsing logic here to
parse instance specific pass options within the context of MLIR.
The primary functionality exposed is the "," splitting for
arrays and the logic for properly handling duplicate definitions
of a single flag.

Patch by: Parker Schuh <parkers@google.com>

Differential Revision: https://reviews.llvm.org/D68294
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Support/CommandLine.h (diff)llvm.src/include/llvm/Support/CommandLine.h
The file was modified/llvm/trunk/lib/Support/CommandLine.cpp (diff)llvm.src/lib/Support/CommandLine.cpp
Revision 373814 by reames:
Fix a *nasty* miscompile in experimental unordered atomic lowering

This is an omission in rL371441.  Loads which happened to be unordered weren't being added to the PendingLoad set, and thus weren't be ordered w/respect to side effects which followed before the end of the block.

Included test case is how I spotted this.  We had an atomic load being folded into a using instruction after a fence that load was supposed to be ordered with.  I'm sure it showed up a bunch of other ways as well.

Spotted via manual inspecting of assembly differences in a corpus w/and w/o the new experimental mode.  Finding this with testing would have been "unpleasant".
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/atomic-unordered.ll (diff)llvm.src/test/CodeGen/X86/atomic-unordered.ll
Revision 373813 by reames:
[Test] Add a test case fo a missed oppurtunity in implicit null checking
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/implicit-null-check.ll (diff)llvm.src/test/CodeGen/X86/implicit-null-check.ll
Revision 373812 by apazos:
[RISCV] Added missing ImmLeaf predicates

simm9_lsb0 and simm12_lsb0 operand types were missing predicates.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVInstrInfoC.td (diff)llvm.src/lib/Target/RISCV/RISCVInstrInfoC.td
Revision 373811 by hiraditya:
Add a unittest to verify for assumption cache

Reviewers: vsk, tejohnson

Reviewed By: vsk

Differential Revision: https://reviews.llvm.org/D68095
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/unittests/Transforms/Utils/CodeExtractorTest.cpp (diff)llvm.src/unittests/Transforms/Utils/CodeExtractorTest.cpp
Revision 373809 by xiaobai:
[libc++] Guard cxx_experimental settings behind LIBCXX_ENABLE_EXPERIMENTAL_LIBRARY

If you explicitly set LIBCXX_ENABLE_EXPERIMENTAL_LIBRARY to OFF, your
project will fail to configure because the cxx_experimental target
doesn't exist.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/src/CMakeLists.txt (diff)libcxx.src/src/CMakeLists.txt
Revision 373808 by Louis Dionne:
[libc++] Localize common build flags into a single CMake function

Also, set those flags for the cxx_experimental target. Otherwise,
cxx_experimental doesn't build properly when neither the static nor
the shared library is compiled (yes, that is a weird setup).
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/CMakeLists.txt (diff)libcxx.src/CMakeLists.txt
The file was modified/libcxx/trunk/src/CMakeLists.txt (diff)libcxx.src/src/CMakeLists.txt
Revision 373807 by hiraditya:
Invalidate assumption cache before outlining.

Subscribers: llvm-commits

Tags: #llvm

Reviewers: compnerd, vsk, sebpop, fhahn, tejohnson

Reviewed by: vsk

Differential Revision: https://reviews.llvm.org/D68478
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/Utils/CodeExtractor.h (diff)llvm.src/include/llvm/Transforms/Utils/CodeExtractor.h
The file was modified/llvm/trunk/lib/Transforms/IPO/HotColdSplitting.cpp (diff)llvm.src/lib/Transforms/IPO/HotColdSplitting.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/CodeExtractor.cpp (diff)llvm.src/lib/Transforms/Utils/CodeExtractor.cpp
The file was modified/llvm/trunk/test/Transforms/HotColdSplit/assumption-cache-invalidation.ll (diff)llvm.src/test/Transforms/HotColdSplit/assumption-cache-invalidation.ll
Revision 373805 by rnk:
Revert [CodeGen] Do the Simple Early Return in block-placement pass to optimize the blocks

This reverts r371177 (git commit f879c6875563c0a8cd838f1e13b14dd33558f1f8)

It caused PR43566 by removing empty, address-taken MachineBasicBlocks.
Such blocks may have references from blockaddress or other operands, and
need more consideration to be removed.

See the PR for a test case to use when relanding.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/MachineBlockPlacement.cpp (diff)llvm.src/lib/CodeGen/MachineBlockPlacement.cpp
The file was modified/llvm/trunk/test/CodeGen/PowerPC/block-placement.mir (diff)llvm.src/test/CodeGen/PowerPC/block-placement.mir
Revision 373802 by lebedevri:
[InstCombine] Fold 'icmp eq/ne (?trunc (lshr/ashr %x, bitwidth(x)-1)), 0' -> 'icmp sge/slt %x, 0'

We do indeed already get it right in some cases, but only transitively,
with one-use restrictions. Since we only need to produce a single
comparison, it makes sense to match the pattern directly:
  https://rise4fun.com/Alive/kPg
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineCompares.cpp (diff)llvm.src/lib/Transforms/InstCombine/InstCombineCompares.cpp
The file was modified/llvm/trunk/test/Transforms/InstCombine/shift.ll (diff)llvm.src/test/Transforms/InstCombine/shift.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/sign-bit-test-via-right-shifting-all-other-bits.ll (diff)llvm.src/test/Transforms/InstCombine/sign-bit-test-via-right-shifting-all-other-bits.ll
Revision 373801 by lebedevri:
[InstCombine] Right-shift shift amount reassociation with truncation (PR43564, PR42391)

Initially (D65380) i believed that if we have rightshift-trunc-rightshift,
we can't do any folding. But as it usually happens, i was wrong.

https://rise4fun.com/Alive/GEw
https://rise4fun.com/Alive/gN2O

In https://bugs.llvm.org/show_bug.cgi?id=43564 we happen to have
this very sequence, of two right shifts separated by trunc.
And "just" so that happens, we apparently can fold the pattern
if the total shift amount is either 0, or it's equal to the bitwidth
of the innermost widest shift - i.e. if we are left with only the
original sign bit. Which is exactly what is wanted there.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineShifts.cpp (diff)llvm.src/lib/Transforms/InstCombine/InstCombineShifts.cpp
The file was modified/llvm/trunk/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-ashr.ll (diff)llvm.src/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-ashr.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-lshr.ll (diff)llvm.src/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-lshr.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/sign-bit-test-via-right-shifting-all-other-bits.ll (diff)llvm.src/test/Transforms/InstCombine/sign-bit-test-via-right-shifting-all-other-bits.ll
Revision 373800 by lebedevri:
[NFC][InstCombine] Autogenerate shift.ll test
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstCombine/shift.ll (diff)llvm.src/test/Transforms/InstCombine/shift.ll
Revision 373799 by lebedevri:
[NFC][InstCombine] Autogenerate icmp-shr-lt-gt.ll test
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstCombine/icmp-shr-lt-gt.ll (diff)llvm.src/test/Transforms/InstCombine/icmp-shr-lt-gt.ll
Revision 373798 by lebedevri:
[NFC][InstCombine] Tests for bit test via highest sign-bit extract (w/ trunc) (PR43564)

https://rise4fun.com/Alive/x5IS
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Transforms/InstCombine/sign-bit-test-via-right-shifting-all-other-bits.llllvm.src/test/Transforms/InstCombine/sign-bit-test-via-right-shifting-all-other-bits.ll
Revision 373797 by lebedevri:
[NFC][InstCombine] Tests for right-shift shift amount reassociation (w/ trunc) (PR43564, PR42391)

https://rise4fun.com/Alive/GEw
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-ashr.llllvm.src/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-ashr.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-lshr.llllvm.src/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-lshr.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-shl.ll (diff)llvm.src/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-shl.ll
Revision 373796 by saugustine:
Add an off-by-default option to enable testing for gdb pretty printers.

Summary:
The current version of the pretty printers are not python3 compatible,
so turn them off by default until sufficiently improved.

Reviewers: MaskRay, tamur

Subscribers: mgorny, christof, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68477
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/CMakeLists.txt (diff)libcxx.src/CMakeLists.txt
The file was modified/libcxx/trunk/test/CMakeLists.txt (diff)libcxx.src/test/CMakeLists.txt
Revision 373794 by yln:
[lit] Use better name for "test in parallel" concept

In the past, lit used threads to run tests in parallel. Today we use
`multiprocessing.Pool`, which uses processes. Let's stay more abstract
and use "worker" everywhere.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D68475
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/lit/main.py (diff)llvm.src/utils/lit/lit/main.py
The file was modified/llvm/trunk/utils/lit/lit/run.py (diff)llvm.src/utils/lit/lit/run.py
The file was modified/llvm/trunk/utils/lit/tests/discovery.py (diff)llvm.src/utils/lit/tests/discovery.py
The file was modified/llvm/trunk/utils/lit/tests/parallelism-groups.py (diff)llvm.src/utils/lit/tests/parallelism-groups.py
Revision 373792 by yuanfang:
[clang] fix a typo from r372531

Reviewers: xbolva00

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68482
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Sema/SemaChecking.cpp (diff)clang.src/lib/Sema/SemaChecking.cpp
The file was modified/cfe/trunk/test/Sema/warn-integer-constants-in-ternary.c (diff)clang.src/test/Sema/warn-integer-constants-in-ternary.c
Revision 373791 by paquette:
[MachineOutliner] Disable outlining from noreturn functions

Outlining from noreturn functions doesn't do the correct thing right now. The
outliner should respect that the caller is marked noreturn. In the event that
we have a noreturn function, and the outlined code is in tail position, the
outliner will not see that the outlined function should be tail called. As a
result, you end up with a regular call containing a return.

Fixing this requires that we check that all candidates live inside noreturn
functions. So, for the sake of correctness, don't outline from noreturn
functions right now.

Add machine-outliner-noreturn.mir to test this.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/MachineOutliner.cpp (diff)llvm.src/lib/CodeGen/MachineOutliner.cpp
The file was added/llvm/trunk/test/CodeGen/AArch64/machine-outliner-noreturn.mirllvm.src/test/CodeGen/AArch64/machine-outliner-noreturn.mir
Revision 373788 by spatel:
[InstCombine] add tests for fneg disguised as fmul; NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstCombine/fmul.ll (diff)llvm.src/test/Transforms/InstCombine/fmul.ll
Revision 373786 by mgorny:
[clang-tools-extra] [cmake] Link against libclang-cpp whenever possible

Use clang_target_link_libraries() in order to support linking against
libclang-cpp instead of static libraries.

Differential Revision: https://reviews.llvm.org/D68448
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clang-apply-replacements/tool/CMakeLists.txt (diff)clang-tools-extra.src/clang-apply-replacements/tool/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clang-change-namespace/tool/CMakeLists.txt (diff)clang-tools-extra.src/clang-change-namespace/tool/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clang-doc/tool/CMakeLists.txt (diff)clang-tools-extra.src/clang-doc/tool/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clang-include-fixer/find-all-symbols/tool/CMakeLists.txt (diff)clang-tools-extra.src/clang-include-fixer/find-all-symbols/tool/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clang-include-fixer/tool/CMakeLists.txt (diff)clang-tools-extra.src/clang-include-fixer/tool/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clang-move/tool/CMakeLists.txt (diff)clang-tools-extra.src/clang-move/tool/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clang-query/tool/CMakeLists.txt (diff)clang-tools-extra.src/clang-query/tool/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clang-reorder-fields/tool/CMakeLists.txt (diff)clang-tools-extra.src/clang-reorder-fields/tool/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clang-tidy/CMakeLists.txt (diff)clang-tools-extra.src/clang-tidy/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clang-tidy/tool/CMakeLists.txt (diff)clang-tools-extra.src/clang-tidy/tool/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clangd/fuzzer/CMakeLists.txt (diff)clang-tools-extra.src/clangd/fuzzer/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clangd/index/dex/dexp/CMakeLists.txt (diff)clang-tools-extra.src/clangd/index/dex/dexp/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clangd/indexer/CMakeLists.txt (diff)clang-tools-extra.src/clangd/indexer/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clangd/tool/CMakeLists.txt (diff)clang-tools-extra.src/clangd/tool/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clangd/unittests/CMakeLists.txt (diff)clang-tools-extra.src/clangd/unittests/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clangd/xpc/test-client/CMakeLists.txt (diff)clang-tools-extra.src/clangd/xpc/test-client/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/modularize/CMakeLists.txt (diff)clang-tools-extra.src/modularize/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/pp-trace/CMakeLists.txt (diff)clang-tools-extra.src/pp-trace/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/tool-template/CMakeLists.txt (diff)clang-tools-extra.src/tool-template/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/unittests/clang-apply-replacements/CMakeLists.txt (diff)clang-tools-extra.src/unittests/clang-apply-replacements/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/unittests/clang-change-namespace/CMakeLists.txt (diff)clang-tools-extra.src/unittests/clang-change-namespace/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/unittests/clang-doc/CMakeLists.txt (diff)clang-tools-extra.src/unittests/clang-doc/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/unittests/clang-include-fixer/CMakeLists.txt (diff)clang-tools-extra.src/unittests/clang-include-fixer/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/unittests/clang-include-fixer/find-all-symbols/CMakeLists.txt (diff)clang-tools-extra.src/unittests/clang-include-fixer/find-all-symbols/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/unittests/clang-move/CMakeLists.txt (diff)clang-tools-extra.src/unittests/clang-move/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/unittests/clang-query/CMakeLists.txt (diff)clang-tools-extra.src/unittests/clang-query/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/unittests/clang-tidy/CMakeLists.txt (diff)clang-tools-extra.src/unittests/clang-tidy/CMakeLists.txt
Revision 373785 by mgorny:
[clang] [cmake] Use add_clang_tool() to install all tools

Switch clang-check, clang-extdef-mapping and clang-offload-bundler
to use add_clang_tool() rather than add_clang_executable() with a custom
install rule.  This makes them LLVM_DISTRIBUTION_COMPONENTS-friendly.

Differential Revision: https://reviews.llvm.org/D68429
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/tools/clang-check/CMakeLists.txt (diff)clang.src/tools/clang-check/CMakeLists.txt
The file was modified/cfe/trunk/tools/clang-extdef-mapping/CMakeLists.txt (diff)clang.src/tools/clang-extdef-mapping/CMakeLists.txt
The file was modified/cfe/trunk/tools/clang-offload-bundler/CMakeLists.txt (diff)clang.src/tools/clang-offload-bundler/CMakeLists.txt
Revision 373784 by huihuiz:
[NFC] Add { } to silence compiler warning [-Wmissing-braces].

../llvm-project/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp:355:48: warning: suggest braces around initialization of subobject [-Wmissing-braces]
      return addMappingFromTable<1>(MI, MRI, { 0 }, Table);
                                               ^
                                               {}
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 373782 by efriedma:
[ScheduleDAG] When a node is cloned, add an edge between the nodes.

InstrEmitter's virtual register handling assumes that clones are emitted
after the cloned node.  Make sure this assumption actually holds.

Fixes a "Node emitted out of order - early" assertion on the testcase.

This is probably a very rare case to actually hit in practice; even
without the explicit edge, the scheduler will usually end up scheduling
the nodes in the expected order due to other constraints.

Differential Revision: https://reviews.llvm.org/D68068
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
The file was added/llvm/trunk/test/CodeGen/Thumb/scheduler-clone-cpsr-def.llllvm.src/test/CodeGen/Thumb/scheduler-clone-cpsr-def.ll
Revision 373780 by mstorsjo:
[test] Remove another two unnecessary uses of REQUIRES: target-windows. NFC.

Differential Revision: https://reviews.llvm.org/D68449
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-symbolizer/coff-dwarf.test (diff)llvm.src/test/tools/llvm-symbolizer/coff-dwarf.test
The file was modified/llvm/trunk/test/tools/llvm-symbolizer/coff-exports.test (diff)llvm.src/test/tools/llvm-symbolizer/coff-exports.test
Revision 373779 by mstorsjo:
[JITLink] Silence GCC warnings. NFC.

Use parentheses in an expression with mixed && and ||.

Differential Revision: https://reviews.llvm.org/D68447
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h (diff)llvm.src/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h
Revision 373774 by epilk:
[Sema] Split out -Wformat-type-confusion from -Wformat-pedantic

The warnings now in -Wformat-type-confusion don't align with how we interpret
'pedantic' in clang, and don't belong in -pedantic.

Differential revision: https://reviews.llvm.org/D67775
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/FormatString.h (diff)clang.src/include/clang/AST/FormatString.h
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/lib/AST/FormatString.cpp (diff)clang.src/lib/AST/FormatString.cpp
The file was modified/cfe/trunk/lib/Sema/SemaChecking.cpp (diff)clang.src/lib/Sema/SemaChecking.cpp
The file was modified/cfe/trunk/test/Sema/format-bool.c (diff)clang.src/test/Sema/format-bool.c
The file was modified/cfe/trunk/test/Sema/format-strings-pedantic.c (diff)clang.src/test/Sema/format-strings-pedantic.c
The file was added/cfe/trunk/test/Sema/format-type-confusion.cclang.src/test/Sema/format-type-confusion.c
Revision 373773 by Louis Dionne:
[libc++] Make the modules-related flags PUBLIC instead of PRIVATE

It appears that those need to be propagated to targets that use libc++
as well, otherwise they don't build properly.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/CMakeLists.txt (diff)libcxx.src/CMakeLists.txt
Revision 373771 by rnk:
Add missing null pointer check in -ftime-trace code

createOutputFile diagnoses the error for the caller already, so recover
by not writing the output.

Fixes PR43555

No test, since I couldn't think of a good, portable, simple way to make
the regular -o output file writable, but outputfile.json not writable.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/tools/driver/cc1_main.cpp (diff)clang.src/tools/driver/cc1_main.cpp
Revision 373769 by jrose:
[CMake] Clang: Don't use object libraries with Xcode

Undoes some of the effects of r360946 when using the Xcode CMake
generator---it doesn't handle object libraries correctly at all.
Attempts to still honor BUILD_SHARED_LIBS for Xcode, but I didn't
actually test it. Should have no effect on non-Xcode generators.

https://reviews.llvm.org/D68430
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/cmake/modules/AddClang.cmake (diff)clang.src/cmake/modules/AddClang.cmake
The file was modified/cfe/trunk/tools/clang-shlib/CMakeLists.txt (diff)clang.src/tools/clang-shlib/CMakeLists.txt
Revision 373767 by Louis Dionne:
[libc++] Move more CMake flags to per-target definitions

This daily refactoring tackles flags related to modules,
exceptions and RTTI.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/CMakeLists.txt (diff)libcxx.src/CMakeLists.txt
The file was modified/libcxx/trunk/src/CMakeLists.txt (diff)libcxx.src/src/CMakeLists.txt
Revision 373766 by ctopper:
[X86] Remove isel patterns for mask vpcmpgt/vpcmpeq. Switch vpcmp to these based on the immediate in MCInstLower

The immediate form of VPCMP can represent these completely. The
vpcmpgt/eq are just shorter encodings.

This patch removes the isel patterns and just swaps the opcodes
and removes the immediate in MCInstLower. This matches where we do
some other encodings tricks.

Removes over 10K bytes from the isel table.

Differential Revision: https://reviews.llvm.org/D68446
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/lib/Target/X86/X86MCInstLower.cpp (diff)llvm.src/lib/Target/X86/X86MCInstLower.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-mask-op.ll (diff)llvm.src/test/CodeGen/X86/avx512-mask-op.ll
Revision 373765 by ctopper:
[X86] Add DAG combine to form saturating VTRUNCUS/VTRUNCS from VTRUNC

We already do this for ISD::TRUNCATE, but we can do the same for X86ISD::VTRUNC

Differential Revision: https://reviews.llvm.org/D68432
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/avx512-trunc.ll (diff)llvm.src/test/CodeGen/X86/avx512-trunc.ll
The file was modified/llvm/trunk/test/CodeGen/X86/masked_store_trunc_ssat.ll (diff)llvm.src/test/CodeGen/X86/masked_store_trunc_ssat.ll
The file was modified/llvm/trunk/test/CodeGen/X86/masked_store_trunc_usat.ll (diff)llvm.src/test/CodeGen/X86/masked_store_trunc_usat.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-trunc-packus.ll (diff)llvm.src/test/CodeGen/X86/vector-trunc-packus.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-trunc-ssat.ll (diff)llvm.src/test/CodeGen/X86/vector-trunc-ssat.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-trunc-usat.ll (diff)llvm.src/test/CodeGen/X86/vector-trunc-usat.ll
Revision 373764 by sivachandra:
Add few docs and implementation of strcpy and strcat.

Summary:
This patch illustrates some of the features like modularity we want
in the new libc. Few other ideas like different kinds of testing, redirectors
etc are not yet present.

Reviewers: dlj, hfinkel, theraven, jfb, alexshap, jdoerfert

Subscribers: mgorny, dexonsmith, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67867
Change TypePath in RepositoryPath in Workspace
The file was added/libc/trunk/CMakeLists.txtN/A
The file was added/libc/trunk/cmakeN/A
The file was added/libc/trunk/cmake/modulesN/A
The file was added/libc/trunk/cmake/modules/LLVMLibCRules.cmakeN/A
The file was added/libc/trunk/docsN/A
The file was added/libc/trunk/docs/build_system.rstN/A
The file was added/libc/trunk/docs/entrypoints.rstN/A
The file was added/libc/trunk/docs/header_generation.rstN/A
The file was added/libc/trunk/docs/implementation_standard.rstN/A
The file was added/libc/trunk/docs/source_layout.rstN/A
The file was added/libc/trunk/includeN/A
The file was added/libc/trunk/include/CMakeLists.txtN/A
The file was added/libc/trunk/include/__llvm-libc-common.hN/A
The file was added/libc/trunk/include/ctype.hN/A
The file was added/libc/trunk/include/math.hN/A
The file was added/libc/trunk/include/string.hN/A
The file was added/libc/trunk/libN/A
The file was added/libc/trunk/lib/CMakeLists.txtN/A
The file was added/libc/trunk/srcN/A
The file was added/libc/trunk/src/CMakeLists.txtN/A
The file was added/libc/trunk/src/__supportN/A
The file was added/libc/trunk/src/__support/CMakeLists.txtN/A
The file was added/libc/trunk/src/__support/common.h.defN/A
The file was added/libc/trunk/src/__support/linuxN/A
The file was added/libc/trunk/src/__support/linux/entrypoint_macro.h.incN/A
The file was added/libc/trunk/src/stringN/A
The file was added/libc/trunk/src/string/CMakeLists.txtN/A
The file was added/libc/trunk/src/string/strcatN/A
The file was added/libc/trunk/src/string/strcat/CMakeLists.txtN/A
The file was added/libc/trunk/src/string/strcat/strcat.cppN/A
The file was added/libc/trunk/src/string/strcat/strcat.hN/A
The file was added/libc/trunk/src/string/strcat/strcat_test.cppN/A
The file was added/libc/trunk/src/string/strcpyN/A
The file was added/libc/trunk/src/string/strcpy/CMakeLists.txtN/A
The file was added/libc/trunk/src/string/strcpy/strcpy.cppN/A
The file was added/libc/trunk/src/string/strcpy/strcpy.hN/A
The file was added/libc/trunk/src/string/strcpy/strcpy_test.cppN/A
The file was added/libc/trunk/utilsN/A
The file was added/libc/trunk/utils/build_scriptsN/A
The file was added/libc/trunk/utils/build_scripts/gen_hdr.pyN/A
The file was modified/llvm/trunk/CMakeLists.txt (diff)llvm.src/CMakeLists.txt
The file was modified/llvm/trunk/projects/CMakeLists.txt (diff)llvm.src/projects/CMakeLists.txt
Revision 373763 by jamesm:
[Automaton] Fix invalid iterator reference

Found by the expensive checks bot.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Support/Automaton.h (diff)llvm.src/include/llvm/Support/Automaton.h
Revision 373762 by jamesm:
[ModuloSchedule] Do not remap terminators

This is a trivial point fix. Terminator instructions aren't scheduled, so
we shouldn't expect to be able to remap them.

This doesn't affect Hexagon and PPC because their terminators are always
hardware loop backbranches that have no register operands.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/ModuloSchedule.cpp (diff)llvm.src/lib/CodeGen/ModuloSchedule.cpp
Revision 373761 by kpn:
[FPEnv] Strict FP tests should use the requisite function attributes.

A set of function attributes is required in any function that uses constrained
floating point intrinsics. None of our tests use these attributes.

This patch fixes this.

These tests have been tested against the IR verifier changes in D68233.

Reviewed by: andrew.w.kaylor, cameron.mcinally, uweigand
Approved by: andrew.w.kaylor
Differential Revision: https://reviews.llvm.org/D67925
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/PowerPC/fp-intrinsics-fptosi-legal.ll (diff)llvm.src/test/CodeGen/PowerPC/fp-intrinsics-fptosi-legal.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll (diff)llvm.src/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-add-01.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-add-01.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-add-02.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-add-02.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-add-03.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-add-03.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-add-04.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-add-04.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-alias.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-alias.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-conv-01.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-conv-01.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-conv-02.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-conv-02.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-conv-03.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-conv-03.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-conv-04.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-conv-04.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-conv-09.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-conv-09.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-conv-10.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-conv-10.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-conv-11.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-conv-11.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-conv-12.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-conv-12.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-conv-14.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-conv-14.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-conv-15.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-conv-15.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-conv-16.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-conv-16.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-div-01.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-div-01.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-div-02.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-div-02.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-div-03.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-div-03.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-div-04.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-div-04.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-mul-01.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-mul-01.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-mul-02.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-mul-02.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-mul-03.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-mul-03.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-mul-04.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-mul-04.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-mul-05.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-mul-05.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-mul-06.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-mul-06.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-mul-07.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-mul-07.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-mul-08.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-mul-08.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-mul-09.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-mul-09.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-mul-10.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-mul-10.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-mul-11.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-mul-11.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-round-01.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-round-01.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-round-02.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-round-02.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-round-03.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-round-03.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-sqrt-01.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-sqrt-01.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-sqrt-02.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-sqrt-02.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-sqrt-03.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-sqrt-03.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-sqrt-04.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-sqrt-04.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-sub-01.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-sub-01.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-sub-02.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-sub-02.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-sub-03.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-sub-03.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/fp-strict-sub-04.ll (diff)llvm.src/test/CodeGen/SystemZ/fp-strict-sub-04.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/vec-strict-add-01.ll (diff)llvm.src/test/CodeGen/SystemZ/vec-strict-add-01.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/vec-strict-add-02.ll (diff)llvm.src/test/CodeGen/SystemZ/vec-strict-add-02.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/vec-strict-conv-01.ll (diff)llvm.src/test/CodeGen/SystemZ/vec-strict-conv-01.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/vec-strict-conv-03.ll (diff)llvm.src/test/CodeGen/SystemZ/vec-strict-conv-03.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/vec-strict-div-01.ll (diff)llvm.src/test/CodeGen/SystemZ/vec-strict-div-01.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/vec-strict-div-02.ll (diff)llvm.src/test/CodeGen/SystemZ/vec-strict-div-02.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/vec-strict-max-01.ll (diff)llvm.src/test/CodeGen/SystemZ/vec-strict-max-01.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/vec-strict-min-01.ll (diff)llvm.src/test/CodeGen/SystemZ/vec-strict-min-01.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/vec-strict-mul-01.ll (diff)llvm.src/test/CodeGen/SystemZ/vec-strict-mul-01.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/vec-strict-mul-02.ll (diff)llvm.src/test/CodeGen/SystemZ/vec-strict-mul-02.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/vec-strict-mul-03.ll (diff)llvm.src/test/CodeGen/SystemZ/vec-strict-mul-03.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/vec-strict-mul-04.ll (diff)llvm.src/test/CodeGen/SystemZ/vec-strict-mul-04.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/vec-strict-mul-05.ll (diff)llvm.src/test/CodeGen/SystemZ/vec-strict-mul-05.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/vec-strict-round-01.ll (diff)llvm.src/test/CodeGen/SystemZ/vec-strict-round-01.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/vec-strict-round-02.ll (diff)llvm.src/test/CodeGen/SystemZ/vec-strict-round-02.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/vec-strict-sqrt-01.ll (diff)llvm.src/test/CodeGen/SystemZ/vec-strict-sqrt-01.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/vec-strict-sqrt-02.ll (diff)llvm.src/test/CodeGen/SystemZ/vec-strict-sqrt-02.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/vec-strict-sub-01.ll (diff)llvm.src/test/CodeGen/SystemZ/vec-strict-sub-01.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/vec-strict-sub-02.ll (diff)llvm.src/test/CodeGen/SystemZ/vec-strict-sub-02.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll (diff)llvm.src/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
The file was modified/llvm/trunk/test/CodeGen/X86/constrained-fp80-trunc-ext.ll (diff)llvm.src/test/CodeGen/X86/constrained-fp80-trunc-ext.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fp-intrinsics.ll (diff)llvm.src/test/CodeGen/X86/fp-intrinsics.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-constrained-fp-intrinsics-fma.ll (diff)llvm.src/test/CodeGen/X86/vector-constrained-fp-intrinsics-fma.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll (diff)llvm.src/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
The file was modified/llvm/trunk/test/Feature/fp-intrinsics.ll (diff)llvm.src/test/Feature/fp-intrinsics.ll
The file was modified/llvm/trunk/test/Transforms/DCE/calls-errno.ll (diff)llvm.src/test/Transforms/DCE/calls-errno.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/constant-fold-libfunc.ll (diff)llvm.src/test/Transforms/InstCombine/constant-fold-libfunc.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/memcpy-1.ll (diff)llvm.src/test/Transforms/InstCombine/memcpy-1.ll
The file was modified/llvm/trunk/test/Verifier/fp-intrinsics.ll (diff)llvm.src/test/Verifier/fp-intrinsics.ll
Revision 373759 by miyuki:
[utils] Fix incompatibility of bisect[-skip-count] with Python 3

Summary:
This change replaces the print statements with print function calls
and also replaces the '/' operator (which is integer division in Py2,
but becomes floating point division in Py3) with the '//' operator
which has the same semantics in Py2 and Py3.

Reviewers: greened, michaelplatings, gottesmm

Reviewed By: greened

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68138
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/bisect (diff)llvm.src/utils/bisect
The file was modified/llvm/trunk/utils/bisect-skip-count (diff)llvm.src/utils/bisect-skip-count
Revision 373756 by abataev:
[OPENMP50]Suppport for multiple vendors in the same vendor context
selector.

According to OpenMP 5.0, multiple vendors could be specified in the
vendor context selector via ',' as a separator.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Parse/ParseOpenMP.cpp (diff)clang.src/lib/Parse/ParseOpenMP.cpp
The file was modified/cfe/trunk/test/OpenMP/declare_variant_ast_print.c (diff)clang.src/test/OpenMP/declare_variant_ast_print.c
The file was modified/cfe/trunk/test/OpenMP/declare_variant_ast_print.cpp (diff)clang.src/test/OpenMP/declare_variant_ast_print.cpp
The file was modified/cfe/trunk/test/OpenMP/declare_variant_messages.c (diff)clang.src/test/OpenMP/declare_variant_messages.c
The file was modified/cfe/trunk/test/OpenMP/declare_variant_messages.cpp (diff)clang.src/test/OpenMP/declare_variant_messages.cpp
Revision 373755 by thopre:
[NFC] [FileCheck] Reapply fix init of objects in unit tests

Summary:
Fix initialization style of objects allocated on the stack and member
objects in unit test to use the "Type Var(init list)" and
"Type Member{init list}" convention. The latter fixes the buildbot
breakage.

Reviewers: jhenderson, probinson, arichardson, grimar, jdenny

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68425
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/unittests/Support/FileCheckTest.cpp (diff)llvm.src/unittests/Support/FileCheckTest.cpp
Revision 373754 by cryptoad:
[scudo][standalone] Make malloc_info return a minimal XML

Summary:
Initially, our malloc_info was returning ENOTSUP, but Android would
rather have it return successfully and write a barebone XML to the
stream, so we will oblige.

Add an associated test.

Reviewers: cferris, morehouse, hctim, eugenis, vitalybuka

Reviewed By: morehouse

Subscribers: delcypher, #sanitizers, llvm-commits

Tags: #llvm, #sanitizers

Differential Revision: https://reviews.llvm.org/D68427
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/scudo/standalone/tests/combined_test.cpp (diff)compiler-rt.src/lib/scudo/standalone/tests/combined_test.cpp
The file was modified/compiler-rt/trunk/lib/scudo/standalone/tests/wrappers_c_test.cpp (diff)compiler-rt.src/lib/scudo/standalone/tests/wrappers_c_test.cpp
The file was modified/compiler-rt/trunk/lib/scudo/standalone/wrappers_c.inc (diff)compiler-rt.src/lib/scudo/standalone/wrappers_c.inc
Revision 373753 by rksimon:
SemaDeclAttr - silence static analyzer getAs<> null dereference warnings. NFCI.

The static analyzer is warning about potential null dereferences, but in these cases we should be able to use castAs<> directly and if not assert will fire for us.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Sema/SemaDeclAttr.cpp (diff)clang.src/lib/Sema/SemaDeclAttr.cpp
Revision 373752 by rksimon:
CGBlocks - silence static analyzer getAs<> null dereference warnings. NFCI.

The static analyzer is warning about potential null dereferences, but in these cases we should be able to use castAs<> directly and if not assert will fire for us.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGBlocks.cpp (diff)clang.src/lib/CodeGen/CGBlocks.cpp
Revision 373751 by paulhoad:
[clang-format] C++11 braced lists should respect the SpacesInParentheses setting

Summary:
According to the clang-format documentation, "Fundamentally, C++11 braced lists are formatted exactly like function calls would be formatted in their place. If the braced list follows a name (e.g. a type or variable name), clang-format formats as if the `{}` were the parentheses of a function call with that name."

This patch furthers the treatment of C++11 braced list braces as parentheses by respecting the `SpacesInParentheses` setting.

Reviewers: MyDeveloperDay, reuk, owenpan

Reviewed By: MyDeveloperDay

Subscribers: cfe-commits

Tags: #clang-format, #clang

Patch By: mitchell-stellar

Differential Revision: https://reviews.llvm.org/D68415
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Format/TokenAnnotator.cpp (diff)clang.src/lib/Format/TokenAnnotator.cpp
The file was modified/cfe/trunk/unittests/Format/FormatTest.cpp (diff)clang.src/unittests/Format/FormatTest.cpp
Revision 373750 by paulhoad:
[clang-format] [PR43531] clang-format damages "alternative representations" for operators

Summary:
https://bugs.llvm.org/show_bug.cgi?id=43531

Fix for clang-format incorrectly handles "alternative operators" as described by https://en.cppreference.com/w/cpp/language/operator_alternative

compl = ~
not = !

these are unary operators, and clang-format will remove the space between them and a numeric constant

this incorrectly formats the following code

```
int a compl 5;
int a not 5;
```

into:

```
int a compl5;
int a not5;
```

The code adds FIXME unit tests for "alternative token" representations for {} [] and # as defined by the same link, which would require a more detailed change to the FormatTokenLexer

Reviewers: klimek, reuk, owenpan, mitchell-stellar, STL_MSFT

Reviewed By: mitchell-stellar

Subscribers: cfe-commits

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

Differential Revision: https://reviews.llvm.org/D68332
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Format/TokenAnnotator.cpp (diff)clang.src/lib/Format/TokenAnnotator.cpp
The file was modified/cfe/trunk/unittests/Format/FormatTest.cpp (diff)clang.src/unittests/Format/FormatTest.cpp
Revision 373749 by sammccall:
Further improve -Wbool-operation bitwise negation message
Change TypePath in RepositoryPath in Workspace
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-bitwise-negation-bool.c (diff)clang.src/test/Sema/warn-bitwise-negation-bool.c
Revision 373748 by hokein:
[clang-rename] Fix a crash when renaming a class without definition.

Reviewers: sammccall

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68459
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp (diff)clang.src/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp
The file was added/cfe/trunk/test/clang-rename/ForwardClassDecl.cppclang.src/test/clang-rename/ForwardClassDecl.cpp
Revision 373746 by paulhoad:
[clang-format] [PR42417] clang-format inserts a space after '->' for operator->() overloading

Summary:
https://bugs.llvm.org/show_bug.cgi?id=42417

This revision removes the extra space between the opertor-> and the parens ()

```
class Bug {
    auto operator-> () -> int*;
    auto operator++(int) -> int;
};
```

Reviewers: klimek, owenpan, byoungyoung, mitchell-stellar

Reviewed By: mitchell-stellar

Subscribers: cfe-commits

Tags: #clang-format, #clang

Differential Revision: https://reviews.llvm.org/D68242
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Format/TokenAnnotator.cpp (diff)clang.src/lib/Format/TokenAnnotator.cpp
The file was modified/cfe/trunk/unittests/Format/FormatTest.cpp (diff)clang.src/unittests/Format/FormatTest.cpp
Revision 373745 by dpreobra:
[AMDGPU][MC][GFX10][WS32] Corrected decoding of dst operand for v_cmp_*_sdwa opcodes

See bug 43484: https://bugs.llvm.org/show_bug.cgi?id=43484

Reviewers: arsenm, rampitec

Differential Revision: https://reviews.llvm.org/D68349
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp (diff)llvm.src/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
The file was added/llvm/trunk/test/MC/Disassembler/AMDGPU/vcmp-gfx10.txtllvm.src/test/MC/Disassembler/AMDGPU/vcmp-gfx10.txt
Revision 373744 by statham:
[clang] Prevent false positives in arm-mfpu-none codegen test.

A user pointed out to me in private email that this test will fail if
it sees the letter 's' followed by a digit in any part of clang's
assembly output after the function label. That includes the .ident at
the end, which can include a full pathname or hostname or both from
the system clang was built on. So if that path or hostname includes
any text like 's5' then it will cause the test to fail.

Fixed by adding a check for `.fnend`, to limit the scope of the
`CHECK-NOT` to only the actual generated code for the test function.

(Committed without prior review on the basis that it's a simple and
obvious pure test-suite fix and also in a test I contributed myself.)
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/CodeGen/arm-mfpu-none.c (diff)clang.src/test/CodeGen/arm-mfpu-none.c
Revision 373743 by xbolva00:
[NFCI] Improve the -Wbool-operation's warning message

Based on the request from the post commit review. Also added one new test.
Change TypePath in RepositoryPath in Workspace
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-bitwise-negation-bool.c (diff)clang.src/test/Sema/warn-bitwise-negation-bool.c
Revision 373742 by rksimon:
Fix uninitialized variable warnings in directory_entry default constructor. NFCI
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Support/FileSystem.h (diff)llvm.src/include/llvm/Support/FileSystem.h
Revision 373741 by rksimon:
Fix MSVC "not all control paths return a value" warning. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/LiveDebugValues.cpp (diff)llvm.src/lib/CodeGen/LiveDebugValues.cpp
Revision 373740 by dpreobra:
[AMDGPU][MC][GFX10] Enabled decoding of 'null' operand

See bug 43485: https://bugs.llvm.org/show_bug.cgi?id=43485

Reviewers: arsenm, rampitec

Differential Revision: https://reviews.llvm.org/D68348
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp (diff)llvm.src/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
The file was added/llvm/trunk/test/MC/Disassembler/AMDGPU/sop2_gfx10.txtllvm.src/test/MC/Disassembler/AMDGPU/sop2_gfx10.txt
Revision 373739 by hokein:
[clangd] update the package-lock.json.
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/clients/clangd-vscode/package-lock.json (diff)clang-tools-extra.src/clangd/clients/clangd-vscode/package-lock.json
Revision 373738 by Tim Northover:
ARM-Darwin: keep the frame register reserved even if not updated.

Darwin platforms need the frame register to always point at a valid record even
if it's not updated in a leaf function. Backtraces are more important than one
extra GPR.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMBaseRegisterInfo.cpp (diff)llvm.src/lib/Target/ARM/ARMBaseRegisterInfo.cpp
The file was added/llvm/trunk/test/CodeGen/ARM/r7-fixed-darwin.llllvm.src/test/CodeGen/ARM/r7-fixed-darwin.ll
The file was modified/llvm/trunk/test/CodeGen/Thumb/long.ll (diff)llvm.src/test/CodeGen/Thumb/long.ll
The file was modified/llvm/trunk/test/CodeGen/Thumb2/2010-03-15-AsmCCClobber.ll (diff)llvm.src/test/CodeGen/Thumb2/2010-03-15-AsmCCClobber.ll
Revision 373737 by gbreynoo:
[llvm-ar][test] Clarified comment

The test is dependant on the installation of the en_US.UTF-8
locale. The reasoning for this is clarified in the amended comment.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-ar/mri-utf8.test (diff)llvm.src/test/tools/llvm-ar/mri-utf8.test
Revision 373736 by dpreobra:
[AMDGPU][MC][GFX10] Corrected definition of FLAT GLOBAL/SCRATCH instructions

See bug 43483: https://bugs.llvm.org/show_bug.cgi?id=43483

Reviewers: arsenm, rampitec

Differential Revision: https://reviews.llvm.org/D68347
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/FLATInstructions.td (diff)llvm.src/lib/Target/AMDGPU/FLATInstructions.td
The file was modified/llvm/trunk/test/MC/AMDGPU/flat-scratch-instructions.s (diff)llvm.src/test/MC/AMDGPU/flat-scratch-instructions.s
The file was added/llvm/trunk/test/MC/Disassembler/AMDGPU/flat_gfx10.txtllvm.src/test/MC/Disassembler/AMDGPU/flat_gfx10.txt
Revision 373735 by atanasyan:
[llvm-readobj] Remove redundant semicolon. NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-readobj/ELFDumper.cpp (diff)llvm.src/tools/llvm-readobj/ELFDumper.cpp
Revision 373733 by atanasyan:
[llvm-readobj][mips] Inline `printMipsPLTGOT` method
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-readobj/ELFDumper.cpp (diff)llvm.src/tools/llvm-readobj/ELFDumper.cpp
Revision 373732 by atanasyan:
[llvm-readobj][mips] Implement GNU-style printing of .MIPS.abiflags section

In this patch `llvm-readobj` prints ASEs flags on a single line
separated by a comma. GNU `readelf` prints each ASEs flag on
a separate line. It will be fixed later.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-readobj/mips-abiflags.test (diff)llvm.src/test/tools/llvm-readobj/mips-abiflags.test
The file was modified/llvm/trunk/tools/llvm-readobj/ELFDumper.cpp (diff)llvm.src/tools/llvm-readobj/ELFDumper.cpp
Revision 373731 by atanasyan:
[llvm-readobj] Replace arch-specific ObjDumper methods by the single `printArchSpecificInfo`

Initially llvm-readobj supports multiple command line options like
`--arm-attributes` and `--mips-plt-got` for display ELF arch-specific
information. Now all these options are superseded by the
`--arch-specific` one. It makes sense to have a single `printArchSpecificInfo`
method in the base `ObjDumper`, and hide all ELF/target specific details
in the `ELFDumper::printArchSpecificInfo` override.

Differential Revision: https://reviews.llvm.org/D68385
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-readobj/ELFDumper.cpp (diff)llvm.src/tools/llvm-readobj/ELFDumper.cpp
The file was modified/llvm/trunk/tools/llvm-readobj/ObjDumper.h (diff)llvm.src/tools/llvm-readobj/ObjDumper.h
The file was modified/llvm/trunk/tools/llvm-readobj/llvm-readobj.cpp (diff)llvm.src/tools/llvm-readobj/llvm-readobj.cpp
Revision 373730 by rksimon:
Fix MSVC "not all control paths return a value" warning. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/ExecutionEngine/JITLink/JITLink.cpp (diff)llvm.src/lib/ExecutionEngine/JITLink/JITLink.cpp
Revision 373729 by rksimon:
Fix MSVC "result of 32-bit shift implicitly converted to 64 bits" warning. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/JITLink/JITLink.h (diff)llvm.src/include/llvm/ExecutionEngine/JITLink/JITLink.h
The file was modified/llvm/trunk/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp (diff)llvm.src/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
Revision 373728 by gbreynoo:
Revert [test] Remove locale dependency for mri-utf8.test

This reverts r373700 (git commit b455ebf921c5c940c2366bec226959e3a4127fee)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-ar/mri-utf8.test (diff)llvm.src/test/tools/llvm-ar/mri-utf8.test
Revision 373727 by jmorse:
[DebugInfo] LiveDebugValues: move DBG_VALUE creation into VarLoc class

Rather than having a mixture of location-state shared between DBG_VALUEs
and VarLoc objects in LiveDebugValues, this patch makes VarLoc the
master record of variable locations. The refactoring means that the
transfer of locations from one place to another is always a performed by
an operation on an existing VarLoc, that produces another transferred
VarLoc. DBG_VALUEs are only created at the end of LiveDebugValues, once
all locations are known. As a plus, there is now only one method where
DBG_VALUEs can be created.

The test case added covers a circumstance that is now impossible to
express in LiveDebugValues: if an already-indirect DBG_VALUE is spilt,
previously it would have been restored-from-spill as a direct DBG_VALUE.
We now don't lose this information along the way, as VarLocs always
refer back to the "original" non-transfer DBG_VALUE, and we can always
work out whether a location was "originally" indirect.

Differential Revision: https://reviews.llvm.org/D67398
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/LiveDebugValues.cpp (diff)llvm.src/lib/CodeGen/LiveDebugValues.cpp
The file was modified/llvm/trunk/test/DebugInfo/MIR/X86/live-debug-values-restore.mir (diff)llvm.src/test/DebugInfo/MIR/X86/live-debug-values-restore.mir
Revision 373726 by nico:
gn build: (manually) merge r373718
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/unittests/TableGen/BUILD.gn (diff)llvm.src/utils/gn/secondary/llvm/unittests/TableGen/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn (diff)llvm.src/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
Revision 373724 by sammccall:
[Format] Fix docs after r373439
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/ClangFormatStyleOptions.rst (diff)clang.src/docs/ClangFormatStyleOptions.rst
Revision 373722 by gribozavr:
Revert "[NFC] [FileCheck] Fix init of stack objects in unit tests"

This reverts commit r373717. It broke the build:
http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/18721.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/unittests/Support/FileCheckTest.cpp (diff)llvm.src/unittests/Support/FileCheckTest.cpp
Revision 373720 by jmorse:
[DebugInfo] LiveDebugValues: defer DBG_VALUE creation during analysis

When transfering variable locations from one place to another,
LiveDebugValues immediately creates a DBG_VALUE representing that
transfer. This causes trouble if the variable location should
subsequently be invalidated by a loop back-edge, such as in the added
test case: the transfer DBG_VALUE from a now-invalid location is used
as proof that the variable location is correct. This is effectively a
self-fulfilling prophesy.

To avoid this, defer the insertion of transfer DBG_VALUEs until after
analysis has completed. Some of those transfers are still sketchy, but
we don't propagate them into other blocks now.

Differential Revision: https://reviews.llvm.org/D67393
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/LiveDebugValues.cpp (diff)llvm.src/lib/CodeGen/LiveDebugValues.cpp
The file was added/llvm/trunk/test/DebugInfo/MIR/X86/live-debug-values-bad-transfer.mirllvm.src/test/DebugInfo/MIR/X86/live-debug-values-bad-transfer.mir
Revision 373718 by jamesm:
[TableGen] Introduce a generic automaton (DFA) backend

Summary:
This patch introduces -gen-automata, a backend for generating deterministic finite-state automata.

DFAs are already generated by the -gen-dfa-packetizer backend. This backend is more generic and will
hopefully be used to implement the DFA generation (and determinization) for the packetizer in the
future.

This backend allows not only generation of a DFA from an NFA (nondeterministic finite-state
automaton), it also emits sidetables that allow a path through the DFA under a sequence of inputs to
be analyzed, and the equivalent set of all possible NFA transitions extracted.

This allows a user to not just answer "can my problem be solved?" but also "what is the
solution?". Clearly this analysis is more expensive than just playing a DFA forwards so is
opt-in. The DFAPacketizer has this behaviour already but this is a more compact and generic
representation.

Examples are bundled in unittests/TableGen/Automata.td. Some are trivial, but the BinPacking example
is a stripped-down version of the original target problem I set out to solve, where we pack values
(actually immediates) into bins (an immediate pool in a VLIW bundle) subject to a set of esoteric
constraints.

Reviewers: t.p.northover

Subscribers: mgorny, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67968
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/include/llvm/Support/Automaton.hllvm.src/include/llvm/Support/Automaton.h
The file was added/llvm/trunk/include/llvm/TableGen/Automaton.tdllvm.src/include/llvm/TableGen/Automaton.td
The file was added/llvm/trunk/unittests/TableGen/Automata.tdllvm.src/unittests/TableGen/Automata.td
The file was added/llvm/trunk/unittests/TableGen/AutomataTest.cppllvm.src/unittests/TableGen/AutomataTest.cpp
The file was modified/llvm/trunk/unittests/TableGen/CMakeLists.txt (diff)llvm.src/unittests/TableGen/CMakeLists.txt
The file was modified/llvm/trunk/utils/TableGen/CMakeLists.txt (diff)llvm.src/utils/TableGen/CMakeLists.txt
The file was added/llvm/trunk/utils/TableGen/DFAEmitter.cppllvm.src/utils/TableGen/DFAEmitter.cpp
The file was added/llvm/trunk/utils/TableGen/DFAEmitter.hllvm.src/utils/TableGen/DFAEmitter.h
The file was modified/llvm/trunk/utils/TableGen/TableGen.cpp (diff)llvm.src/utils/TableGen/TableGen.cpp
The file was modified/llvm/trunk/utils/TableGen/TableGenBackends.h (diff)llvm.src/utils/TableGen/TableGenBackends.h
Revision 373717 by thopre:
[NFC] [FileCheck] Fix init of stack objects in unit tests

Summary:
Fix initialization style of objects allocated on the stack in unit test
to use the "Type Var(init list)" convention.

Reviewers: jhenderson, probinson, arichardson, grimar, jdenny

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68425
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/unittests/Support/FileCheckTest.cpp (diff)llvm.src/unittests/Support/FileCheckTest.cpp
Revision 373716 by arsenm:
AMDGPU/GlobalISel: Fix using wrong addrspace for aperture

This was always passing the destination flat address space, when it
should be picking between the two valid source options.
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/legalize-addrspacecast.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-addrspacecast.mir
Revision 373715 by arsenm:
AMDGPU/GlobalISel: Select G_PTRTOINT
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 added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-ptrtoint.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-ptrtoint.mir
Revision 373714 by arsenm:
AMDGPU/GlobalISel: Support wave32 waterfall loops
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
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.format.f16.ll (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.format.f16.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.format.f32.ll (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.format.f32.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.ll (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn-buffer-load.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn-buffer-load.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn-s-buffer-load.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn-s-buffer-load.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.image.load.1d.ll (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.image.load.1d.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.image.sample.1d.ll (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.image.sample.1d.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.raw.buffer.load.ll (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.raw.buffer.load.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.struct.buffer.load.ll (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.struct.buffer.load.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.struct.buffer.store.ll (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.struct.buffer.store.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-extract-vector-elt.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-extract-vector-elt.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-insert-vector-elt.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-insert-vector-elt.mir
Revision 373712 by c-rhodes:
[Driver] NFC: Remove duplicate call to getLibGccType

Reviewed By: saugustine

Differential Revision: https://reviews.llvm.org/D68380
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Driver/ToolChains/CommonArgs.cpp (diff)clang.src/lib/Driver/ToolChains/CommonArgs.cpp
Revision 373711 by Raphael Isemann:
[lldb][modern-type-lookup] No longer import temporary declarations into the persistent AST

Summary:
As we figured out in D67803, importing declarations from a temporary ASTContext that were originally from a persistent ASTContext
causes a bunch of duplicated declarations where we end up having declarations in the target AST that have no associated ASTImporter that
can complete them.

I haven't figured out how/if we can solve this in the current way we do things in LLDB, but in the modern-type-lookup this is solvable
as we have a saner architecture with the ExternalASTMerger. As we can (hopefully) make modern-type-lookup the default mode in the future,
I would say we try fixing this issue here. As we don't use the hack that was reinstated in D67803 during modern-type-lookup, the test case for this
is essentially just printing any kind of container in `std::` as we would otherwise run into the issue that required a hack like D67803.

What this patch is doing in essence is that instead of importing a declaration from a temporary ASTContext, we instead check if the
declaration originally came from a persistent ASTContext (e.g. the debug information) and we directly import from there. The ExternalASTMerger
is already connected with ASTImporters to these different sources, so this patch is essentially just two parts:
1. Mark our temporary ASTContext/ImporterSource as temporary when we import from the expression AST.
2. If the ExternalASTMerger sees we import from the expression AST, instead of trying to import these temporary declarations, check if we
can instead import from the persistent ASTContext that is already connected. This ensures that all records from the persistent source actually
come from the persistent source and are minimally imported in a way that allows them to be completed later on in the target AST.

The next step is to run the ASTImporter for these temporary expressions with the MinimalImport mode disabled, but that's a follow up patch.

This patch fixes most test failures with modern-type-lookup enabled by default (down to 73 failing tests, which includes the 22 import-std-module tests
which need special treatment).

Reviewers: shafik, martong

Reviewed By: martong

Subscribers: aprantl, rnkovacs, christof, abidh, JDevlieghere, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D68326
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/lldb/trunk/packages/Python/lldbsuite/test/functionalities/modern-type-lookup/libcxx/TestLibCxxModernTypeLookup.py (diff)N/A
The file was modified/lldb/trunk/packages/Python/lldbsuite/test/functionalities/modern-type-lookup/libcxx/main.cpp (diff)N/A
The file was modified/lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp (diff)N/A
Revision 373710 by ibiryukov:
[CodeComplete] Ensure object is the same in compareOverloads()

Summary:
This fixes a regression that led to size() not being available in clangd
when completing 'deque().^' and using libc++.

Reviewers: sammccall

Reviewed By: sammccall

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68335
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Sema/SemaCodeComplete.cpp (diff)clang.src/lib/Sema/SemaCodeComplete.cpp
The file was added/cfe/trunk/test/CodeCompletion/member-access-qualifiers.cppclang.src/test/CodeCompletion/member-access-qualifiers.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/CodeCompleteTests.cpp (diff)clang-tools-extra.src/clangd/unittests/CodeCompleteTests.cpp
Revision 373709 by paulhoad:
[clang-format] [PR43338] C# clang format has space issues betweern C# only keywords

Summary:
When formatting C# there can be issues with a lack of spaces between `using (` , `foreach (` and generic types

The C# code

```
public class Foo
{
    Dictionary<string,string> foo;
}

```
will be formatted as

```
public class Foo
{
    Dictionary<string, string>foo;
                           ^^^^^   missing a space
}
```

This revision also reverts some of {D66662} in order to make this cleaner and resolve an issues seen by @owenpan that the formatting didn't add a space when not in a code block

This also transforms C# foreach commands to be seen as tok::kw_for commands (to ensure foreach gets the same Brace Wrapping behavior as for without littering the code with `if(Style.isCSharp())`

Reviewers: owenpan, klimek, russellmcc, mitchell-stellar

Reviewed By: mitchell-stellar

Subscribers: cfe-commits

Tags: #clang, #clang-format

Differential Revision: https://reviews.llvm.org/D67660
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Format/FormatTokenLexer.cpp (diff)clang.src/lib/Format/FormatTokenLexer.cpp
The file was modified/cfe/trunk/lib/Format/FormatTokenLexer.h (diff)clang.src/lib/Format/FormatTokenLexer.h
The file was modified/cfe/trunk/lib/Format/TokenAnnotator.cpp (diff)clang.src/lib/Format/TokenAnnotator.cpp
The file was modified/cfe/trunk/unittests/Format/FormatTestCSharp.cpp (diff)clang.src/unittests/Format/FormatTestCSharp.cpp
Revision 373707 by paulhoad:
[clang-format] [PR43333] Fix C# breaking before function name when using Attributes

Summary:
This is  a fix for https://bugs.llvm.org/show_bug.cgi?id=43333

This comes with 3 main parts

  - C# attributes cause function names on a new line even when AlwaysBreakAfterReturnType is set to None
  - Add AlwaysBreakAfterReturnType  to None by default in the Microsoft style,
  - C# unit tests are not using Microsoft style (which we created to define the default C# style to match a vanilla C# project).

Reviewers: owenpan, klimek, russellmcc, mitchell-stellar

Reviewed By: mitchell-stellar

Subscribers: cfe-commits

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

Differential Revision: https://reviews.llvm.org/D67629
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Format/Format.h (diff)clang.src/include/clang/Format/Format.h
The file was modified/cfe/trunk/lib/Format/ContinuationIndenter.cpp (diff)clang.src/lib/Format/ContinuationIndenter.cpp
The file was modified/cfe/trunk/lib/Format/Format.cpp (diff)clang.src/lib/Format/Format.cpp
The file was modified/cfe/trunk/lib/Format/TokenAnnotator.cpp (diff)clang.src/lib/Format/TokenAnnotator.cpp
The file was modified/cfe/trunk/unittests/Format/FormatTestCSharp.cpp (diff)clang.src/unittests/Format/FormatTestCSharp.cpp
Revision 373706 by davezarzycki:
[X86] Enable inline memcmp() to use AVX512
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86TargetTransformInfo.cpp (diff)llvm.src/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/memcmp.ll (diff)llvm.src/test/CodeGen/X86/memcmp.ll
Revision 373702 by Vitaly Buka:
[compiler-rt] Remove O1 tests from signal_line.cpp

It does not work on arm
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/test/sanitizer_common/TestCases/Linux/signal_line.cpp (diff)compiler-rt.src/test/sanitizer_common/TestCases/Linux/signal_line.cpp
Revision 373701 by mstorsjo:
Revert "[Symbolize] Use the local MSVC C++ demangler instead of relying on dbghelp. NFC."

This reverts SVN r373698, as it broke sanitizer tests, e.g. in
http://lab.llvm.org:8011/builders/sanitizer-windows/builds/52441.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/DebugInfo/Symbolize/Symbolize.cpp (diff)llvm.src/lib/DebugInfo/Symbolize/Symbolize.cpp
The file was modified/llvm/trunk/test/tools/llvm-symbolizer/coff-dwarf.test (diff)llvm.src/test/tools/llvm-symbolizer/coff-dwarf.test
The file was modified/llvm/trunk/test/tools/llvm-symbolizer/coff-exports.test (diff)llvm.src/test/tools/llvm-symbolizer/coff-exports.test
Revision 373700 by thopre:
[test] Remove locale dependency for mri-utf8.test

Summary:
llvm-ar's mri-utf8.test test relies on the en_US.UTF-8 locale to be
installed for its last RUN line to work. If not installed, the unicode
string gets encoded (interpreted) as ascii which fails since the most
significant byte is non zero. This commit changes the call to open to
use a binary literal of the UTF-8 encoding for the pound sign instead,
thus bypassing the encoding step.

Note that the echo to create the <pound sign>.txt file will work
regardless of the locale because both the shell and the echo (in case
it's not a builtin of the shell concerned) only care about ascii
character to operate. Indeed, the mri-utf8.test file (and in particular
the pound sign) is encoded in UTF-8 and UTF-8 guarantees only ascii
characters can create bytes that can be interpreted as ascii characters
(i.e. bytes with the most significant bit null).

So the process to break down the filename in the line goes something
along:
- find an ascii chevron '>'
- find beginning of the filename by removing ascii space-like characters
- find ascii newline character indicating the end of the redirection (no
  semicolon ';', closing curly bracket '}' or parenthesis ')' or the
  like
- create a file whose name is made of all the bytes in between beginning
  and end of filename *without interpretting them*

Reviewers: gbreynoo, MaskRay, rupprecht, JamesNagurne, jfb

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68418
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-ar/mri-utf8.test (diff)llvm.src/test/tools/llvm-ar/mri-utf8.test
Revision 373699 by Piotr Sobczak:
[AMDGPU][SILoadStoreOptimizer] NFC: Refactor code

Summary:
This patch fixes a potential aliasing problem in InstClassEnum,
where local values were mixed with machine opcodes.

Introducing InstSubclass will keep them separate and help extending
InstClassEnum with other instruction types (e.g. MIMG) in the future.

This patch also makes getSubRegIdxs() more concise.

Reviewers: nhaehnle, arsenm, tstellar

Reviewed By: arsenm

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

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68384
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 373698 by mstorsjo:
[Symbolize] Use the local MSVC C++ demangler instead of relying on dbghelp. NFC.

This allows making a couple llvm-symbolizer tests run in all
environments.

Differential Revision: https://reviews.llvm.org/D68133
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/DebugInfo/Symbolize/Symbolize.cpp (diff)llvm.src/lib/DebugInfo/Symbolize/Symbolize.cpp
The file was modified/llvm/trunk/test/tools/llvm-symbolizer/coff-dwarf.test (diff)llvm.src/test/tools/llvm-symbolizer/coff-dwarf.test
The file was modified/llvm/trunk/test/tools/llvm-symbolizer/coff-exports.test (diff)llvm.src/test/tools/llvm-symbolizer/coff-exports.test
Revision 373697 by mstorsjo:
[test] Remove a needless declaration of REQUIRES: target-windows

This test only relies on running on a case insensitive file system,
the exact target triple of the toolchain shouldn't matter.

Differential Revision: https://reviews.llvm.org/D68136
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-ar/case-detection.test (diff)llvm.src/test/tools/llvm-ar/case-detection.test
Revision 373696 by mstorsjo:
[JITLink] Remove a redundant semicolon, silencing -Wpedantic warnings with GCC. NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/JITLink/JITLink.h (diff)llvm.src/include/llvm/ExecutionEngine/JITLink/JITLink.h
Revision 373695 by mgorny:
[clang] [cmake] Add distribution install targets for remaining components

Add install targets as necessary to install bash-autocomplete,
scan-build and scan-view via LLVM_DISTRIBUTION_TARGETS.

Differential Revision: https://reviews.llvm.org/D68413
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/CMakeLists.txt (diff)clang.src/CMakeLists.txt
The file was modified/cfe/trunk/tools/scan-build/CMakeLists.txt (diff)clang.src/tools/scan-build/CMakeLists.txt
The file was modified/cfe/trunk/tools/scan-view/CMakeLists.txt (diff)clang.src/tools/scan-view/CMakeLists.txt
The file was modified/cfe/trunk/utils/hmaptool/CMakeLists.txt (diff)clang.src/utils/hmaptool/CMakeLists.txt
Revision 373694 by mgorny:
[clang-tools-extra] [cmake] Use add_clang_tool() to install tools

Replace add_clang_executable() calls with add_clang_tool() that takes
care of creating correct, distribution-friendly install target.  While
at it, remove redundant install calls.

This change also causes clang-move and pp-trace to be installed.

Differential Revision: https://reviews.llvm.org/D68423
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clang-apply-replacements/tool/CMakeLists.txt (diff)clang-tools-extra.src/clang-apply-replacements/tool/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clang-change-namespace/tool/CMakeLists.txt (diff)clang-tools-extra.src/clang-change-namespace/tool/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clang-include-fixer/find-all-symbols/tool/CMakeLists.txt (diff)clang-tools-extra.src/clang-include-fixer/find-all-symbols/tool/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clang-include-fixer/tool/CMakeLists.txt (diff)clang-tools-extra.src/clang-include-fixer/tool/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clang-move/tool/CMakeLists.txt (diff)clang-tools-extra.src/clang-move/tool/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clang-query/tool/CMakeLists.txt (diff)clang-tools-extra.src/clang-query/tool/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/pp-trace/CMakeLists.txt (diff)clang-tools-extra.src/pp-trace/CMakeLists.txt
Revision 373693 by Lang Hames:
[JITLink] Explicitly destroy bumpptr-allocated blocks to avoid a memory leak.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/JITLink/JITLink.h (diff)llvm.src/include/llvm/ExecutionEngine/JITLink/JITLink.h
The file was modified/llvm/trunk/lib/ExecutionEngine/JITLink/JITLink.cpp (diff)llvm.src/lib/ExecutionEngine/JITLink/JITLink.cpp
Revision 373692 by Lang Hames:
[JITLink] Fix an unused variable warning.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp (diff)llvm.src/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
Revision 373691 by maskray:
Make libc++ gdb pretty printer Python 3 compatible
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/pretty_printers/gdb_pretty_printer_test.py (diff)libcxx.src/test/pretty_printers/gdb_pretty_printer_test.py
The file was modified/libcxx/trunk/utils/gdb/libcxx/printers.py (diff)libcxx.src/utils/gdb/libcxx/printers.py
Revision 373690 by gnsyncbot:
gn build: Merge r373689
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/ExecutionEngine/JITLink/BUILD.gn (diff)llvm.src/utils/gn/secondary/llvm/lib/ExecutionEngine/JITLink/BUILD.gn
Revision 373689 by Lang Hames:
[JITLink] Switch from an atom-based model to a "blocks and symbols" model.

In the Atom model the symbols, content and relocations of a relocatable object
file are represented as a graph of atoms, where each Atom represents a
contiguous block of content with a single name (or no name at all if the
content is anonymous), and where edges between Atoms represent relocations.
If more than one symbol is associated with a contiguous block of content then
the content is broken into multiple atoms and layout constraints (represented by
edges) are introduced to ensure that the content remains effectively contiguous.
These layout constraints must be kept in mind when examining the content
associated with a symbol (it may be spread over multiple atoms) or when applying
certain relocation types (e.g. MachO subtractors).

This patch replaces the Atom model in JITLink with a blocks-and-symbols model.
The blocks-and-symbols model represents relocatable object files as bipartite
graphs, with one set of nodes representing contiguous content (Blocks) and
another representing named or anonymous locations (Symbols) within a Block.
Relocations are represented as edges from Blocks to Symbols. This scheme
removes layout constraints (simplifying handling of MachO alt-entry symbols,
and hopefully ELF sections at some point in the future) and simplifies some
relocation logic.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/JITLink/EHFrameSupport.h (diff)llvm.src/include/llvm/ExecutionEngine/JITLink/EHFrameSupport.h
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/JITLink/JITLink.h (diff)llvm.src/include/llvm/ExecutionEngine/JITLink/JITLink.h
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h (diff)llvm.src/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h
The file was modified/llvm/trunk/lib/ExecutionEngine/JITLink/BasicGOTAndStubsBuilder.h (diff)llvm.src/lib/ExecutionEngine/JITLink/BasicGOTAndStubsBuilder.h
The file was modified/llvm/trunk/lib/ExecutionEngine/JITLink/CMakeLists.txt (diff)llvm.src/lib/ExecutionEngine/JITLink/CMakeLists.txt
The file was modified/llvm/trunk/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp (diff)llvm.src/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
The file was modified/llvm/trunk/lib/ExecutionEngine/JITLink/EHFrameSupportImpl.h (diff)llvm.src/lib/ExecutionEngine/JITLink/EHFrameSupportImpl.h
The file was modified/llvm/trunk/lib/ExecutionEngine/JITLink/JITLink.cpp (diff)llvm.src/lib/ExecutionEngine/JITLink/JITLink.cpp
The file was modified/llvm/trunk/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp (diff)llvm.src/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp
The file was modified/llvm/trunk/lib/ExecutionEngine/JITLink/JITLinkGeneric.h (diff)llvm.src/lib/ExecutionEngine/JITLink/JITLinkGeneric.h
The file was modified/llvm/trunk/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp (diff)llvm.src/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp
The file was removed/llvm/trunk/lib/ExecutionEngine/JITLink/MachOAtomGraphBuilder.cppllvm.src/lib/ExecutionEngine/JITLink/MachOAtomGraphBuilder.cpp
The file was removed/llvm/trunk/lib/ExecutionEngine/JITLink/MachOAtomGraphBuilder.hllvm.src/lib/ExecutionEngine/JITLink/MachOAtomGraphBuilder.h
The file was added/llvm/trunk/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cppllvm.src/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
The file was added/llvm/trunk/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.hllvm.src/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h
The file was modified/llvm/trunk/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp (diff)llvm.src/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
The file was modified/llvm/trunk/lib/ExecutionEngine/Orc/Core.cpp (diff)llvm.src/lib/ExecutionEngine/Orc/Core.cpp
The file was modified/llvm/trunk/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp (diff)llvm.src/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
The file was modified/llvm/trunk/test/ExecutionEngine/JITLink/X86/MachO_zero_fill_alignment.s (diff)llvm.src/test/ExecutionEngine/JITLink/X86/MachO_zero_fill_alignment.s
The file was modified/llvm/trunk/tools/llvm-jitlink/llvm-jitlink-macho.cpp (diff)llvm.src/tools/llvm-jitlink/llvm-jitlink-macho.cpp
The file was modified/llvm/trunk/tools/llvm-jitlink/llvm-jitlink.cpp (diff)llvm.src/tools/llvm-jitlink/llvm-jitlink.cpp
The file was modified/llvm/trunk/tools/llvm-jitlink/llvm-jitlink.h (diff)llvm.src/tools/llvm-jitlink/llvm-jitlink.h
The file was modified/llvm/trunk/unittests/ExecutionEngine/JITLink/JITLinkTestCommon.cpp (diff)llvm.src/unittests/ExecutionEngine/JITLink/JITLinkTestCommon.cpp
The file was modified/llvm/trunk/unittests/ExecutionEngine/JITLink/JITLinkTestCommon.h (diff)llvm.src/unittests/ExecutionEngine/JITLink/JITLinkTestCommon.h
The file was modified/llvm/trunk/unittests/ExecutionEngine/JITLink/MachO_x86_64_Tests.cpp (diff)llvm.src/unittests/ExecutionEngine/JITLink/MachO_x86_64_Tests.cpp
Revision 373688 by shiva:
[RISCV] Split SP adjustment to reduce the offset of callee saved register spill and restore

We would like to split the SP adjustment to reduce the instructions in
prologue and epilogue as the following case. In this way, the offset of
the callee saved register could fit in a single store.

    add     sp,sp,-2032
    sw      ra,2028(sp)
    sw      s0,2024(sp)
    sw      s1,2020(sp)
    sw      s3,2012(sp)
    sw      s4,2008(sp)
    add     sp,sp,-64

Differential Revision: https://reviews.llvm.org/D68011
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVFrameLowering.cpp (diff)llvm.src/lib/Target/RISCV/RISCVFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVFrameLowering.h (diff)llvm.src/lib/Target/RISCV/RISCVFrameLowering.h
The file was modified/llvm/trunk/test/CodeGen/RISCV/large-stack.ll (diff)llvm.src/test/CodeGen/RISCV/large-stack.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/rv64-large-stack.ll (diff)llvm.src/test/CodeGen/RISCV/rv64-large-stack.ll
The file was added/llvm/trunk/test/CodeGen/RISCV/split-sp-adjust.llllvm.src/test/CodeGen/RISCV/split-sp-adjust.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/stack-realignment.ll (diff)llvm.src/test/CodeGen/RISCV/stack-realignment.ll
Revision 373685 by rsmith:
Properly handle instantiation-dependent array bounds.

We previously failed to treat an array with an instantiation-dependent
but not value-dependent bound as being an instantiation-dependent type.
We now track the array bound expression as part of a constant array type
if it's an instantiation-dependent expression.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/ASTContext.h (diff)clang.src/include/clang/AST/ASTContext.h
The file was modified/cfe/trunk/include/clang/AST/RecursiveASTVisitor.h (diff)clang.src/include/clang/AST/RecursiveASTVisitor.h
The file was modified/cfe/trunk/include/clang/AST/Type.h (diff)clang.src/include/clang/AST/Type.h
The file was modified/cfe/trunk/lib/AST/ASTContext.cpp (diff)clang.src/lib/AST/ASTContext.cpp
The file was modified/cfe/trunk/lib/AST/ASTImporter.cpp (diff)clang.src/lib/AST/ASTImporter.cpp
The file was modified/cfe/trunk/lib/AST/ExprConstant.cpp (diff)clang.src/lib/AST/ExprConstant.cpp
The file was modified/cfe/trunk/lib/AST/Type.cpp (diff)clang.src/lib/AST/Type.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGAtomic.cpp (diff)clang.src/lib/CodeGen/CGAtomic.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGBuiltin.cpp (diff)clang.src/lib/CodeGen/CGBuiltin.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGDebugInfo.cpp (diff)clang.src/lib/CodeGen/CGDebugInfo.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGObjC.cpp (diff)clang.src/lib/CodeGen/CGObjC.cpp
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/CGOpenMPRuntimeNVPTX.cpp (diff)clang.src/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGStmtOpenMP.cpp (diff)clang.src/lib/CodeGen/CGStmtOpenMP.cpp
The file was modified/cfe/trunk/lib/CodeGen/CodeGenModule.cpp (diff)clang.src/lib/CodeGen/CodeGenModule.cpp
The file was modified/cfe/trunk/lib/Frontend/Rewrite/RewriteModernObjC.cpp (diff)clang.src/lib/Frontend/Rewrite/RewriteModernObjC.cpp
The file was modified/cfe/trunk/lib/Frontend/Rewrite/RewriteObjC.cpp (diff)clang.src/lib/Frontend/Rewrite/RewriteObjC.cpp
The file was modified/cfe/trunk/lib/Sema/Sema.cpp (diff)clang.src/lib/Sema/Sema.cpp
The file was modified/cfe/trunk/lib/Sema/SemaDecl.cpp (diff)clang.src/lib/Sema/SemaDecl.cpp
The file was modified/cfe/trunk/lib/Sema/SemaExpr.cpp (diff)clang.src/lib/Sema/SemaExpr.cpp
The file was modified/cfe/trunk/lib/Sema/SemaExprCXX.cpp (diff)clang.src/lib/Sema/SemaExprCXX.cpp
The file was modified/cfe/trunk/lib/Sema/SemaExprObjC.cpp (diff)clang.src/lib/Sema/SemaExprObjC.cpp
The file was modified/cfe/trunk/lib/Sema/SemaInit.cpp (diff)clang.src/lib/Sema/SemaInit.cpp
The file was modified/cfe/trunk/lib/Sema/SemaOpenMP.cpp (diff)clang.src/lib/Sema/SemaOpenMP.cpp
The file was modified/cfe/trunk/lib/Sema/SemaType.cpp (diff)clang.src/lib/Sema/SemaType.cpp
The file was modified/cfe/trunk/lib/Sema/TreeTransform.h (diff)clang.src/lib/Sema/TreeTransform.h
The file was modified/cfe/trunk/lib/Serialization/ASTReader.cpp (diff)clang.src/lib/Serialization/ASTReader.cpp
The file was modified/cfe/trunk/lib/Serialization/ASTWriter.cpp (diff)clang.src/lib/Serialization/ASTWriter.cpp
The file was modified/cfe/trunk/test/CodeGenCXX/microsoft-uuidof-mangling.cpp (diff)clang.src/test/CodeGenCXX/microsoft-uuidof-mangling.cpp
The file was modified/cfe/trunk/test/SemaTemplate/temp_arg_nontype.cpp (diff)clang.src/test/SemaTemplate/temp_arg_nontype.cpp
The file was modified/lldb/trunk/source/Symbol/ClangASTContext.cpp (diff)N/A
Revision 373684 by Vitaly Buka:
[compiler-rt] Fix signal_line.cpp test

r373682 committed wrong experimental version
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/test/sanitizer_common/TestCases/Linux/signal_line.cpp (diff)compiler-rt.src/test/sanitizer_common/TestCases/Linux/signal_line.cpp
Revision 373683 by Jonas Devlieghere:
[dsymutil] Fix stack-use-after-scope

The lambda is taking the stack-allocated Verify boolean by reference and
it would go out of scope on the next iteration. Moving it out of the
loop should fix the issue.

Fixes https://bugs.llvm.org/show_bug.cgi?id=43549
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/dsymutil/dsymutil.cpp (diff)llvm.src/tools/dsymutil/dsymutil.cpp
Revision 373682 by Vitaly Buka:
[compiler-rt] Remove O2, O3 from signal_line test for fix android tests
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/test/sanitizer_common/TestCases/Linux/signal_line.cpp (diff)compiler-rt.src/test/sanitizer_common/TestCases/Linux/signal_line.cpp
Revision 373681 by Vitaly Buka:
compiler-rt: use __GLIBC_PREREQ for SANITIZER_INTERCEPT_GETRANDOM

Summary: Fixes https://github.com/google/oss-fuzz/issues/2836

Reviewers: eugenis

Subscribers: dberris, #sanitizers, llvm-commits

Tags: #sanitizers, #llvm

Differential Revision: https://reviews.llvm.org/D68178
Change TypePath in RepositoryPath in Workspace
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
Revision 373678 by pcc:
LowerTypeTests: Rename local functions to avoid collisions with identically named functions in ThinLTO modules.

Without this we can encounter link errors or incorrect behaviour
at runtime as a result of the wrong function being referenced.

Differential Revision: https://reviews.llvm.org/D67945
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/IPO/LowerTypeTests.cpp (diff)llvm.src/lib/Transforms/IPO/LowerTypeTests.cpp
The file was added/llvm/trunk/test/Transforms/LowerTypeTests/export-rename-local.llllvm.src/test/Transforms/LowerTypeTests/export-rename-local.ll
Revision 373676 by rupprecht:
[llvm-objdump][test] Move test to X86 dir to avoid errors disassembling on non-x86
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/tools/llvm-objdump/X86/output-ordering.testllvm.src/test/tools/llvm-objdump/X86/output-ordering.test
The file was removed/llvm/trunk/test/tools/llvm-objdump/output-ordering.testllvm.src/test/tools/llvm-objdump/output-ordering.test
Revision 373674 by asbirlea:
[MemorySSA] Don't hoist stores if interfering uses (as calls) exist.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/LICM.cpp (diff)llvm.src/lib/Transforms/Scalar/LICM.cpp
The file was added/llvm/trunk/test/Analysis/MemorySSA/pr43540.llllvm.src/test/Analysis/MemorySSA/pr43540.ll
The file was modified/llvm/trunk/test/Transforms/LICM/guards.ll (diff)llvm.src/test/Transforms/LICM/guards.ll
Revision 373672 by abataev:
[OPENMP]Fix the test on Windows, NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/OpenMP/declare_variant_implementation_vendor_codegen.cpp (diff)clang.src/test/OpenMP/declare_variant_implementation_vendor_codegen.cpp
Revision 373671 by rupprecht:
[llvm-objdump] Further rearrange llvm-objdump sections for compatability

Summary:
rL371826 rearranged some output from llvm-objdump for GNU objdump compatability, but there still seem to be some more.

I think this rearrangement is a little closer. Overview of the ordering which matches GNU objdump:
* Archive headers
* File headers
* Section headers
* Symbol table
* Dwarf debugging
* Relocations (if `--disassemble` is not used)
* Section contents
* Disassembly

Reviewers: jhenderson, justice_adams, grimar, ychen, espindola

Reviewed By: jhenderson

Subscribers: aprantl, emaste, arichardson, jrtc27, atanasyan, seiya, llvm-commits, MaskRay

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68066
Change TypePath in RepositoryPath in Workspace
The file was modified/lld/trunk/test/ELF/arm-icf-exidx.s (diff)N/A
The file was modified/lld/trunk/test/ELF/arm-target1.s (diff)N/A
The file was modified/lld/trunk/test/ELF/eh-frame-hdr-abs-fde.s (diff)N/A
The file was modified/lld/trunk/test/ELF/got32-i386.s (diff)N/A
The file was modified/lld/trunk/test/ELF/got32x-i386.s (diff)N/A
The file was modified/lld/trunk/test/ELF/i386-pc8-pc16-addend.s (diff)N/A
The file was modified/lld/trunk/test/ELF/i386-reloc8-reloc16-addend.s (diff)N/A
The file was modified/lld/trunk/test/ELF/i386-retpoline-nopic.s (diff)N/A
The file was modified/lld/trunk/test/ELF/i386-retpoline-pic.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-32.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-64-got.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-64-rels.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-64.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-got16-relocatable.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-got16.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-gp-disp.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-gp-ext.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-gp-local.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-gprel32-relocs-gp0.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-gprel32-relocs.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-hilo-gp-disp.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-hilo-hi-only.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-hilo.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-mgot.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-micro-cross-calls.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-micro-relocs.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-micror6-relocs.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-n32-rels.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-nonalloc.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-pc-relocs.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-tls-64.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-tls-hilo.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-tls-static-64.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-tls-static.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-tls.s (diff)N/A
The file was modified/lld/trunk/test/ELF/msp430.s (diff)N/A
The file was modified/lld/trunk/test/ELF/non-alloc-link-order-gc.s (diff)N/A
The file was modified/lld/trunk/test/ELF/relocation-common.s (diff)N/A
The file was modified/lld/trunk/test/ELF/relocation.s (diff)N/A
The file was modified/lld/trunk/test/ELF/x86-64-retpoline-znow.s (diff)N/A
The file was modified/lld/trunk/test/ELF/x86-64-retpoline.s (diff)N/A
The file was modified/llvm/trunk/test/MC/COFF/symidx.s (diff)llvm.src/test/MC/COFF/symidx.s
The file was modified/llvm/trunk/test/tools/llvm-objdump/X86/adjust-vma.test (diff)llvm.src/test/tools/llvm-objdump/X86/adjust-vma.test
The file was modified/llvm/trunk/test/tools/llvm-objdump/X86/demangle.s (diff)llvm.src/test/tools/llvm-objdump/X86/demangle.s
The file was modified/llvm/trunk/test/tools/llvm-objdump/X86/out-of-section-sym.test (diff)llvm.src/test/tools/llvm-objdump/X86/out-of-section-sym.test
The file was modified/llvm/trunk/test/tools/llvm-objdump/all-headers.test (diff)llvm.src/test/tools/llvm-objdump/all-headers.test
The file was added/llvm/trunk/test/tools/llvm-objdump/output-ordering.testllvm.src/test/tools/llvm-objdump/output-ordering.test
The file was modified/llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp (diff)llvm.src/tools/llvm-objdump/llvm-objdump.cpp
Revision 373667 by rksimon:
ASTContext - silence static analyzer getAs<> null dereference warnings. NFCI.

The static analyzer is warning about potential null dereferences, but we should be able to use castAs<> directly and if not assert will fire for us.

We can also remove a number of explicit asserts and reply on the internal asserts in castAs<>
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/AST/ASTContext.cpp (diff)clang.src/lib/AST/ASTContext.cpp
Revision 373666 by spatel:
[DAGCombiner] add operation legality checks before creating shift ops (PR43542)

As discussed on llvm-dev and:
https://bugs.llvm.org/show_bug.cgi?id=43542
...we have transforms that assume shift operations are legal and transforms to
use them are profitable, but that may not hold for simple targets.

In this case, the MSP430 target custom lowers shifts by repeating (many)
simpler/fixed ops. That can be avoided by keeping this code as setcc/select.

Differential Revision: https://reviews.llvm.org/D68397
Change TypePath in RepositoryPath in Workspace
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/test/CodeGen/MSP430/selectcc.ll (diff)llvm.src/test/CodeGen/MSP430/selectcc.ll
Revision 373665 by rksimon:
OverloadCandidate::getNumParams - silence static analyzer getAs<FunctionProtoType> null dereference warning. NFCI.

The static analyzer is warning about a potential null dereference, but we should be able to use castAs<FunctionProtoType> directly and if not assert will fire for us.

Also replaces an auto to make the type more obvious.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Sema/Overload.h (diff)clang.src/include/clang/Sema/Overload.h
Revision 373664 by nico:
Reland r349624: Let TableGen write output only if it changed, instead of doing so in cmake

Move the write-if-changed logic behind a flag and don't pass it
with the MSVC generator. msbuild doesn't have a restat optimization,
so not doing write-if-change there doesn't have a cost, and it
should fix whatever causes PR43385.
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 373663 by dblaikie:
DebugInfo: Generalize rnglist emission as a precursor to reusing it for loclist emission
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (diff)llvm.src/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Revision 373661 by abataev:
[OPENMP50]Codegen support for scores in context selectors.

If the context selector has associated score and several contexts
selectors matches current context, the function with the highest score
must be selected.
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/declare_variant_implementation_vendor_codegen.cpp (diff)clang.src/test/OpenMP/declare_variant_implementation_vendor_codegen.cpp
Revision 373660 by nico:
gn build: (manually) merge 373651 better

The reland uses a static library, not an object library.
Doesn't really matter for the gn build, but it's probalby
nice to have the same semantics for the target type.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/utils/TableGen/GlobalISel/BUILD.gn (diff)llvm.src/utils/gn/secondary/llvm/utils/TableGen/GlobalISel/BUILD.gn
Revision 373659 by reames:
[Tests] Add a unordered atomic load combine test
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/atomic-unordered.ll (diff)llvm.src/test/CodeGen/X86/atomic-unordered.ll
Revision 373658 by reames:
[Test] Fix inconsistency in alignment in test case

The IR was using a fixed 8 byte alignment, but the MIR portion was using native alignment.  Since the test doesn't appear to be deliberately testing overalignment, just make the IR match the MIR.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/GlobalISel/select-memop-scalar-unordered.mir (diff)llvm.src/test/CodeGen/X86/GlobalISel/select-memop-scalar-unordered.mir
Revision 373657 by jsji:
[AArch64][SVE] Move the testcase into CodeGen dir

https://reviews.llvm.org/rL373600 added an AArch64 testcase in top dir
which should be moved to Codegen dir.
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/CodeGen/AArch64/sve-fp.llllvm.src/test/CodeGen/AArch64/sve-fp.ll
The file was removed/monorepo-root/trunk/sve-fp.llN/A
Revision 373655 by nickdesaulniers:
[AArch64InstPrinter] prefer bfi to bfc for < armv8.2-a

Summary:
Fixes pr/42576.

Link: https://github.com/ClangBuiltLinux/linux/issues/697

Reviewers: t.p.northover

Reviewed By: t.p.northover

Subscribers: kristof.beyls, hiraditya, llvm-commits, srhines

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68356
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp (diff)llvm.src/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
The file was added/llvm/trunk/test/MC/AArch64/armv8.2a-bfc.sllvm.src/test/MC/AArch64/armv8.2a-bfc.s
The file was modified/llvm/trunk/test/MC/AArch64/basic-a64-instructions.s (diff)llvm.src/test/MC/AArch64/basic-a64-instructions.s
The file was modified/llvm/trunk/test/MC/Disassembler/AArch64/basic-a64-instructions.txt (diff)llvm.src/test/MC/Disassembler/AArch64/basic-a64-instructions.txt
Revision 373654 by nico:
Reland "gn build: (manually) merge r373551"

373551 relanded in 373651.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/unittests/BUILD.gn (diff)llvm.src/utils/gn/secondary/llvm/unittests/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/llvm/unittests/TableGenllvm.src/utils/gn/secondary/llvm/unittests/TableGen
The file was added/llvm/trunk/utils/gn/secondary/llvm/unittests/TableGen/BUILD.gnllvm.src/utils/gn/secondary/llvm/unittests/TableGen/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn (diff)llvm.src/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/llvm/utils/TableGen/GlobalISelllvm.src/utils/gn/secondary/llvm/utils/TableGen/GlobalISel
The file was added/llvm/trunk/utils/gn/secondary/llvm/utils/TableGen/GlobalISel/BUILD.gnllvm.src/utils/gn/secondary/llvm/utils/TableGen/GlobalISel/BUILD.gn
Revision 373653 by ericwf:
Attempt to remove linker workaround on the buildbots: Attempt 2

The first commit removed the workaround in a old script.
This patch removes it in the file actually used by the bots.

I have no idea if this is still needed, but removing the
workaround seems like the easiest way to test.

I'll revert this change if the bots go red.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/utils/docker/scripts/run_buildbot.sh (diff)libcxx.src/utils/docker/scripts/run_buildbot.sh
Revision 373652 by jsji:
[PowerPC] Adjust the naming and operand order of fnmsub patterns

Summary:
This is follow up patch of https://reviews.llvm.org/D67595.
Adjust naming and the Commutable operands for additional patterns
to make it easier to read.

The testcase update also show that we can save some unecessary fmr as
well.

Reviewers: #powerpc, steven.zhang, hfinkel, nemanjai

Reviewed By: #powerpc, nemanjai

Subscribers: wuzish, hiraditya, kbarton, MaskRay, shchenz, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68112
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCInstrVSX.td (diff)llvm.src/lib/Target/PowerPC/PPCInstrVSX.td
The file was modified/llvm/trunk/test/CodeGen/PowerPC/combine-fneg.ll (diff)llvm.src/test/CodeGen/PowerPC/combine-fneg.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/f128-fma.ll (diff)llvm.src/test/CodeGen/PowerPC/f128-fma.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/fma-assoc.ll (diff)llvm.src/test/CodeGen/PowerPC/fma-assoc.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/fma-ext.ll (diff)llvm.src/test/CodeGen/PowerPC/fma-ext.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/repeated-fp-divisors.ll (diff)llvm.src/test/CodeGen/PowerPC/repeated-fp-divisors.ll
Revision 373651 by dsanders:
[gicombiner] Add a CodeExpander to handle C++ fragments with variable expansion

Summary:
This will handle expansion of C++ fragments in the declarative combiner
including custom predicates, and escapes into C++ to aid the migration
effort.

Fixed the -DLLVM_LINK_LLVM_DYLIB=ON using DISABLE_LLVM_LINK_LLVM_DYLIB when
creating the library. Apparently it automatically links to libLLVM.dylib
and we don't want that from tablegen.

Reviewers: bogner, volkan

Subscribers: mgorny, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68288

llvm-svn: 373551
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/unittests/CMakeLists.txt (diff)llvm.src/unittests/CMakeLists.txt
The file was added/llvm/trunk/unittests/TableGenllvm.src/unittests/TableGen
The file was added/llvm/trunk/unittests/TableGen/CMakeLists.txtllvm.src/unittests/TableGen/CMakeLists.txt
The file was added/llvm/trunk/unittests/TableGen/CodeExpanderTest.cppllvm.src/unittests/TableGen/CodeExpanderTest.cpp
The file was modified/llvm/trunk/utils/TableGen/CMakeLists.txt (diff)llvm.src/utils/TableGen/CMakeLists.txt
The file was modified/llvm/trunk/utils/TableGen/GICombinerEmitter.cpp (diff)llvm.src/utils/TableGen/GICombinerEmitter.cpp
The file was added/llvm/trunk/utils/TableGen/GlobalISelllvm.src/utils/TableGen/GlobalISel
The file was added/llvm/trunk/utils/TableGen/GlobalISel/CMakeLists.txtllvm.src/utils/TableGen/GlobalISel/CMakeLists.txt
The file was added/llvm/trunk/utils/TableGen/GlobalISel/CodeExpander.cppllvm.src/utils/TableGen/GlobalISel/CodeExpander.cpp
The file was added/llvm/trunk/utils/TableGen/GlobalISel/CodeExpander.hllvm.src/utils/TableGen/GlobalISel/CodeExpander.h
The file was added/llvm/trunk/utils/TableGen/GlobalISel/CodeExpansions.hllvm.src/utils/TableGen/GlobalISel/CodeExpansions.h
Revision 373650 by ericwf:
Attempt to remove linker workaround on the buildbots.

I have no idea if this is still needed, but removing the
workaround seems like the easiest way to test.

I'll revert this change if the bots go red.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/utils/docker/scripts/docker_update_bot.sh (diff)libcxx.src/utils/docker/scripts/docker_update_bot.sh
Revision 373649 by yaxunl:
[HIP] Use option -nogpulib to disable linking device lib

Differential Revision: https://reviews.llvm.org/D68300
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Driver/Options.td (diff)clang.src/include/clang/Driver/Options.td
The file was modified/cfe/trunk/lib/Driver/ToolChains/Cuda.cpp (diff)clang.src/lib/Driver/ToolChains/Cuda.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/HIP.cpp (diff)clang.src/lib/Driver/ToolChains/HIP.cpp
The file was added/cfe/trunk/test/Driver/hip-no-device-libs.hipclang.src/test/Driver/hip-no-device-libs.hip
Revision 373648 by rsmith:
Check for qualified function types after substituting into the operand
of 'typeid'.

This is a rare place where it's valid for a function type to be
substituted but not valid for a qualified function type to be
substituted, so needs a special check.
Change TypePath in RepositoryPath in Workspace
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/include/clang/Sema/Sema.h (diff)clang.src/include/clang/Sema/Sema.h
The file was modified/cfe/trunk/lib/Sema/SemaExprCXX.cpp (diff)clang.src/lib/Sema/SemaExprCXX.cpp
The file was modified/cfe/trunk/lib/Sema/SemaType.cpp (diff)clang.src/lib/Sema/SemaType.cpp
The file was modified/cfe/trunk/test/SemaTemplate/instantiate-expr-4.cpp (diff)clang.src/test/SemaTemplate/instantiate-expr-4.cpp
Revision 373647 by paulhoad:
[clang-format] Add ability to wrap braces after multi-line control statements

Summary:
Change the BraceWrappingFlags' AfterControlStatement from a bool to an enum with three values:

* "Never": This is the default, and does not do any brace wrapping after control statements.
* "MultiLine": This only wraps braces after multi-line control statements (this really only happens when a ColumnLimit is specified).
* "Always": This always wraps braces after control statements.

The first and last options are backwards-compatible with "false" and "true", respectively.

The new "MultiLine" option is useful for when a wrapped control statement's indentation matches the subsequent block's indentation. It makes it easier to see at a glance where the control statement ends and where the block's code begins. For example:

```
if (
  foo
  && bar )
{
  baz();
}
```

vs.

```
if (
  foo
  && bar ) {
  baz();
}
```

Short control statements (1 line) do not wrap the brace to the next line, e.g.

```
if (foo) {
  bar();
} else {
  baz();
}
```

Reviewers: sammccall, owenpan, reuk, MyDeveloperDay, klimek

Reviewed By: MyDeveloperDay

Subscribers: MyDeveloperDay, cfe-commits

Patch By: mitchell-stellar

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

Differential Revision: https://reviews.llvm.org/D68296
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/ClangFormatStyleOptions.rst (diff)clang.src/docs/ClangFormatStyleOptions.rst
The file was modified/cfe/trunk/include/clang/Format/Format.h (diff)clang.src/include/clang/Format/Format.h
The file was modified/cfe/trunk/lib/Format/Format.cpp (diff)clang.src/lib/Format/Format.cpp
The file was modified/cfe/trunk/lib/Format/UnwrappedLineFormatter.cpp (diff)clang.src/lib/Format/UnwrappedLineFormatter.cpp
The file was modified/cfe/trunk/lib/Format/UnwrappedLineParser.cpp (diff)clang.src/lib/Format/UnwrappedLineParser.cpp
The file was modified/cfe/trunk/unittests/Format/FormatTest.cpp (diff)clang.src/unittests/Format/FormatTest.cpp
The file was modified/cfe/trunk/unittests/Format/FormatTestObjC.cpp (diff)clang.src/unittests/Format/FormatTestObjC.cpp
Revision 373646 by rupprecht:
[NFC] Fix unused variable in release builds
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 373645 by ctopper:
[X86] Add v32i8 shuffle lowering strategy to recognize two v4i64 vectors truncated to v4i8 and concatenated into the lower 8 bytes with undef/zero upper bytes.

This patch recognizes the shuffle pattern we get from a
v8i64->v8i8 truncate when v8i64 isn't a legal type.

With VLX we can use two VTRUNCs, unpckldq, and a insert_subvector.

Diffrential Revision: https://reviews.llvm.org/D68374
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/min-legal-vector-width.ll (diff)llvm.src/test/CodeGen/X86/min-legal-vector-width.ll
The file was modified/llvm/trunk/test/CodeGen/X86/shuffle-vs-trunc-512.ll (diff)llvm.src/test/CodeGen/X86/shuffle-vs-trunc-512.ll
Revision 373643 by rsmith:
PR43547: substitute into the type of a non-type template parameter if
it's instantiation-dependent, even if it's not dependent.

There might be a SFINAE check in the parameter type.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Sema/SemaTemplate.cpp (diff)clang.src/lib/Sema/SemaTemplate.cpp
The file was modified/cfe/trunk/test/SemaTemplate/temp_arg_nontype.cpp (diff)clang.src/test/SemaTemplate/temp_arg_nontype.cpp
Revision 373642 by Vitaly Buka:
[compiler-rt] More optimization levels in signal_line.cpp test
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/test/sanitizer_common/TestCases/Linux/signal_line.cpp (diff)compiler-rt.src/test/sanitizer_common/TestCases/Linux/signal_line.cpp
Revision 373641 by rksimon:
[X86] matchShuffleWithSHUFPD - use Zeroable element mask directly. NFCI.

We can make use of the Zeroable mask to indicate which elements we can safely set to zero instead of creating a target shuffle mask on the fly.

This only leaves one user of createTargetShuffleMask which we can hopefully get rid of in a similar manner.

This is part of the work to fix PR43024 and allow us to use SimplifyDemandedElts to simplify shuffle chains - we need to get to a point where the target shuffle masks isn't adjusted by its source inputs in setTargetShuffleZeroElements but instead we cache them in a parallel Zeroable mask.
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
Revision 373640 by Jonas Devlieghere:
[dsymutil] Don't overload LinkOptions.

This should fix the build bots:

  error: declaration of ‘llvm::dsymutil::LinkOptions
  DsymutilOptions::LinkOptions’ [-fpermissive]
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/dsymutil/dsymutil.cpp (diff)llvm.src/tools/dsymutil/dsymutil.cpp
Revision 373639 by arsenm:
AMDGPU/GlobalISel: Handle RegBankSelect of G_INSERT_VECTOR_ELT
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
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-insert-vector-elt.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-insert-vector-elt.mir
Revision 373638 by arsenm:
AMDGPU/GlobalISel: Split 64-bit vector extracts during RegBankSelect

Register indexing 64-bit elements is possible on the SALU, but not the
VALU. Handle splitting this into two 32-bit indexes. Extend waterfall
loop handling to allow moving a range of instructions.
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
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterBankInfo.h (diff)llvm.src/lib/Target/AMDGPU/AMDGPURegisterBankInfo.h
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-extract-vector-elt.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-extract-vector-elt.mir
Revision 373637 by arsenm:
AMDGPU/GlobalISel: Allow VGPR to index SGPR register

We can still do a waterfall loop over the index if using a VGPR to
index an SGPR. The result will still be a VGPR, but we can avoid the
wide copy of the source register to a VGPR.
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
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-extract-vector-elt.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-extract-vector-elt.mir
Revision 373636 by arsenm:
AMDGPU/GlobalISel: Add some more tests for G_INSERT legalization
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-insert.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-insert.mir
Revision 373635 by arsenm:
AMDGPU/GlobalISel: Fix mutationIsSane assert v8s8 and

This would try to do FewerElements to v9s8
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/legalize-and.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-and.mir
Revision 373634 by hliao:
[HIP] Enable specifying different default gpu arch for HIP/CUDA.

Reviewers: tra, yaxunl

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68394
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Driver/Driver.cpp (diff)clang.src/lib/Driver/Driver.cpp
The file was added/cfe/trunk/test/Driver/hip-default-gpu-arch.hipclang.src/test/Driver/hip-default-gpu-arch.hip
Revision 373633 by hliao:
Fix build failure with GCC on identifier reusing.

- GCC is different from clang and other compilers on that.
  https://godbolt.org/z/CeQE1V
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/dsymutil/dsymutil.cpp (diff)llvm.src/tools/dsymutil/dsymutil.cpp
Revision 373632 by Vitaly Buka:
compiler-rt: move all __GLIBC_PREREQ into own header file

Reviewers: eugenis

Subscribers: dberris, #sanitizers, llvm-commits

Tags: #sanitizers, #llvm

Differential Revision: https://reviews.llvm.org/D68177
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 added/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_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 373631 by Louis Dionne:
[libc++] Add a per-target flag to include the generated config_site

This allows propagating the include automatically to targets that
depend on one of the libc++ targets such as the benchmarks. Note
that the GoogleBenchmark build itself still needs to manually specify
the -include, since I don't know of any way to have an external project
link against one of the libc++ targets (which would propagate the -include
automatically).
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/CMakeLists.txt (diff)libcxx.src/CMakeLists.txt
The file was modified/libcxx/trunk/benchmarks/CMakeLists.txt (diff)libcxx.src/benchmarks/CMakeLists.txt
The file was modified/libcxx/trunk/src/CMakeLists.txt (diff)libcxx.src/src/CMakeLists.txt
Revision 373630 by tstellar:
AMDGPU/SILoadStoreOptimizer: Optimize scanning for mergeable instructions

Summary:
This adds a pre-pass to this optimization that scans through the basic
block and generates lists of mergeable instructions with one list per unique
address.

In the optimization phase instead of scanning through the basic block for mergeable
instructions, we now iterate over the lists generated by the pre-pass.

The decision to re-optimize a block is now made per list, so if we fail to merge any
instructions with the same address, then we do not attempt to optimize them in
future passes over the block.  This will help to reduce the time this pass
spends re-optimizing instructions.

In one pathological test case, this change reduces the time spent in the
SILoadStoreOptimizer from 0.2s to 0.03s.

This restructuring will also make it possible to implement further solutions in
this pass, because we can now add less expensive checks to the pre-pass and
filter instructions out early which will avoid the need to do the expensive
scanning during the optimization pass. For example, checking for adjacent
offsets is an inexpensive test we can move to the pre-pass.

Reviewers: arsenm, pendingchaos, rampitec, nhaehnle, vpykhtin

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

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D65961
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 373629 by jamesm:
[ModuloSchedule] removeBranch() *before* creating the trip count condition

The Hexagon code assumes there's no existing terminator when inserting its
trip count condition check.

This causes swp-stages5.ll to break. The generated code looks good to me,
it is likely a permutation. I have disabled the new codegen path to keep
everything green and will investigate along with the other 3-4 tests
that have different codegen.

Fixes expensive-checks build.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/ModuloSchedule.cpp (diff)llvm.src/lib/CodeGen/ModuloSchedule.cpp
The file was modified/llvm/trunk/test/CodeGen/Hexagon/swp-stages5.ll (diff)llvm.src/test/CodeGen/Hexagon/swp-stages5.ll
Revision 373627 by nico:
gn build: (manually) merge r373622
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/tools/dsymutil/BUILD.gn (diff)llvm.src/utils/gn/secondary/llvm/tools/dsymutil/BUILD.gn
Revision 373626 by rksimon:
DeclBase/DeclCXX/DeclTemplate - silence static analyzer getAs<> null dereference warnings. NFCI.

The static analyzer is warning about potential null dereferences, but in these cases we should be able to use castAs<> directly and if not assert will fire for us.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/AST/DeclBase.cpp (diff)clang.src/lib/AST/DeclBase.cpp
The file was modified/cfe/trunk/lib/AST/DeclCXX.cpp (diff)clang.src/lib/AST/DeclCXX.cpp
The file was modified/cfe/trunk/lib/AST/DeclTemplate.cpp (diff)clang.src/lib/AST/DeclTemplate.cpp
Revision 373625 by Louis Dionne:
[libc++] Add missing revision number in ABI changelog
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/lib/abi/CHANGELOG.TXT (diff)libcxx.src/lib/abi/CHANGELOG.TXT
Revision 373624 by abataev:
[OPENMP]Fix emission of the declare target variables in device mode.

Declare target variables must be emitted in device mode, target triples
can be empty in this case.
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/declare_target_codegen.cpp (diff)clang.src/test/OpenMP/declare_target_codegen.cpp
Revision 373623 by Jonas Devlieghere:
[dsymutil] Improve consistency by removing redundant namespaces (NFC)

The dsymutil implementation file has a using-directive for the llvm
namespace. This patch just removes redundant namespace qualifiers.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/dsymutil/dsymutil.cpp (diff)llvm.src/tools/dsymutil/dsymutil.cpp
Revision 373622 by Jonas Devlieghere:
[dsymutil] Tablegenify option parsing

This patch reimplements command line option parsing in dsymutil with
Tablegen and libOption. The main motivation for this change is to
prevent clashes with other cl::opt options defined in llvm. Although
it's a bit more heavyweight, it has some nice advantages such as no
global static initializers and better separation between the code and
the option definitions.

I also used this opportunity to improve how dsymutil deals with
incompatible options. Instead of having checks spread across the code,
everything is now grouped together in verifyOptions. The fact that the
options are no longer global means that we need to pass them around a
bit more, but I think it's worth the trade-off.

Differential revision: https://reviews.llvm.org/D68361
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/dsymutil/cmdline.test (diff)llvm.src/test/tools/dsymutil/cmdline.test
The file was modified/llvm/trunk/tools/dsymutil/CMakeLists.txt (diff)llvm.src/tools/dsymutil/CMakeLists.txt
The file was added/llvm/trunk/tools/dsymutil/Options.tdllvm.src/tools/dsymutil/Options.td
The file was modified/llvm/trunk/tools/dsymutil/dsymutil.cpp (diff)llvm.src/tools/dsymutil/dsymutil.cpp
Revision 373621 by yhs:
[BPF] Handle offset reloc endpoint ending in the middle of chain properly

During studying support for bitfield, I found an issue for
an example like the one in test offset-reloc-middle-chain.ll.
  struct t1 { int c; };
  struct s1 { struct t1 b; };
  struct r1 { struct s1 a; };
  #define _(x) __builtin_preserve_access_index(x)
  void test1(void *p1, void *p2, void *p3);
  void test(struct r1 *arg) {
    struct s1 *ps = _(&arg->a);
    struct t1 *pt = _(&arg->a.b);
    int *pi = _(&arg->a.b.c);
    test1(ps, pt, pi);
  }

The IR looks like:
  %0 = llvm.preserve.struct.access(base, ...)
  %1 = llvm.preserve.struct.access(%0, ...)
  %2 = llvm.preserve.struct.access(%1, ...)
  using %0, %1 and %2

In this case, we need to generate three relocatiions
corresponding to chains: (%0), (%0, %1) and (%0, %1, %2).
After collecting all the chains, the current implementation
process each chain (in a map) with code generation sequentially.
For example, after (%0) is processed, the code may look like:
  %0 = base + special_global_variable
  // llvm.preserve.struct.access(base, ...) is delisted
  // from the instruction stream.
  %1 = llvm.preserve.struct.access(%0, ...)
  %2 = llvm.preserve.struct.access(%1, ...)
  using %0, %1 and %2

When processing chain (%0, %1), the current implementation
tries to visit intrinsic llvm.preserve.struct.access(base, ...)
to get some of its properties and this caused segfault.

This patch fixed the issue by remembering all necessary
information (kind, metadata, access_index, base) during
analysis phase, so in code generation phase there is
no need to examine the intrinsic call instructions.
This also simplifies the code.

Differential Revision: https://reviews.llvm.org/D68389
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/BPF/BPFAbstractMemberAccess.cpp (diff)llvm.src/lib/Target/BPF/BPFAbstractMemberAccess.cpp
The file was added/llvm/trunk/test/CodeGen/BPF/CORE/offset-reloc-middle-chain.llllvm.src/test/CodeGen/BPF/CORE/offset-reloc-middle-chain.ll
Revision 373620 by abataev:
[OPENMP]Improve diagnostics for not found declare target entries.

We can point to the target region + emit parent functions names/real var
names if they were not found in host module during device codegen.
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_messages.cpp (diff)clang.src/test/OpenMP/target_messages.cpp
Revision 373619 by gchatelet:
Revert "[Alignment][NFC] Allow constexpr Align"

This reverts commit b3af236fb5fc6e50fcc1b54d868f0bff557f3fb1.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Support/Alignment.h (diff)llvm.src/include/llvm/Support/Alignment.h
The file was modified/llvm/trunk/include/llvm/Support/MathExtras.h (diff)llvm.src/include/llvm/Support/MathExtras.h
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64StackTagging.cpp (diff)llvm.src/lib/Target/AArch64/AArch64StackTagging.cpp
The file was modified/llvm/trunk/unittests/Support/AlignmentTest.cpp (diff)llvm.src/unittests/Support/AlignmentTest.cpp
The file was modified/llvm/trunk/unittests/Support/MathExtrasTest.cpp (diff)llvm.src/unittests/Support/MathExtrasTest.cpp
Revision 373618 by edjones:
[RISCV] Add obsolete aliases of fscsr, frcsr (fssr, frsr)

These old aliases were renamed, but are still used by some projects (eg newlib).

Differential Revision: https://reviews.llvm.org/D68392
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVInstrInfoF.td (diff)llvm.src/lib/Target/RISCV/RISCVInstrInfoF.td
The file was modified/llvm/trunk/test/MC/RISCV/rvf-aliases-valid.s (diff)llvm.src/test/MC/RISCV/rvf-aliases-valid.s
Revision 373616 by xbolva00:
[NFC] Added missing changes for rL373614
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (diff)clang.src/include/clang/Basic/DiagnosticSemaKinds.td
Revision 373614 by xbolva00:
[Diagnostics] Bitwise negation of a boolean expr always evaluates to true; warn with -Wbool-operation

Requested here:
http://lists.llvm.org/pipermail/cfe-dev/2019-October/063452.html
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Sema/SemaExpr.cpp (diff)clang.src/lib/Sema/SemaExpr.cpp
The file was added/cfe/trunk/test/Sema/warn-bitwise-negation-bool.cclang.src/test/Sema/warn-bitwise-negation-bool.c
Revision 373613 by rksimon:
Fix MSVC "result of 32-bit shift implicitly converted to 64 bits" warning. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CodeGenModule.cpp (diff)clang.src/lib/CodeGen/CodeGenModule.cpp
Revision 373612 by rksimon:
ExprConstant - silence static analyzer getAs<> null dereference warnings. NFCI.

The static analyzer is warning about potential null dereferences, but in these cases we should be able to use castAs<> directly and if not assert will fire for us.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/AST/ExprConstant.cpp (diff)clang.src/lib/AST/ExprConstant.cpp
Revision 373611 by rksimon:
Remove duplicate P->getAs<PointerType>() call. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/AST/ASTContext.cpp (diff)clang.src/lib/AST/ASTContext.cpp
Revision 373610 by grimar:
[yaml2obj] - Add a Size tag support for SHT_LLVM_ADDRSIG sections.

It allows using "Size" with or without "Content" in YAML descriptions of
SHT_LLVM_ADDRSIG sections.

Differential revision: https://reviews.llvm.org/D68334
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/yaml2obj/elf-llvm-addrsig-section.yaml (diff)llvm.src/test/tools/yaml2obj/elf-llvm-addrsig-section.yaml
Revision 373609 by sgundapa:
Test commit.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/README.txt (diff)llvm.src/README.txt
Revision 373607 by spatel:
[MSP430] add tests for unwanted shift codegen; NFC (PR43542)
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/CodeGen/MSP430/selectcc.llllvm.src/test/CodeGen/MSP430/selectcc.ll
Revision 373606 by grimar:
Recommit r373598 "[yaml2obj/obj2yaml] - Add support for SHT_LLVM_ADDRSIG sections."

Fix: call `consumeError()` for a case missed.

Original commit message:

SHT_LLVM_ADDRSIG is described here:
https://llvm.org/docs/Extensions.html#sht-llvm-addrsig-section-address-significance-table

This patch teaches tools to dump them and to parse the YAML declarations of such sections.

Differential revision: https://reviews.llvm.org/D68333
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 added/llvm/trunk/test/tools/obj2yaml/elf-llvm-addrsig-section.yamlllvm.src/test/tools/obj2yaml/elf-llvm-addrsig-section.yaml
The file was added/llvm/trunk/test/tools/yaml2obj/elf-llvm-addrsig-section.yamlllvm.src/test/tools/yaml2obj/elf-llvm-addrsig-section.yaml
The file was modified/llvm/trunk/tools/obj2yaml/elf2yaml.cpp (diff)llvm.src/tools/obj2yaml/elf2yaml.cpp
Revision 373605 by spatel:
[UpdateTestChecks] add basic support for parsing msp430 asm
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/UpdateTestChecks/asm.py (diff)llvm.src/utils/UpdateTestChecks/asm.py
Revision 373603 by gnsyncbot:
gn build: Merge r373601
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn (diff)llvm.src/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
Revision 373601 by bmahjour:
[PGO] Refactor Value Profiling into a plugin based oracle and create a well defined API for the plugins.

Summary: This PR creates a utility class called ValueProfileCollector that tells PGOInstrumentationGen and PGOInstrumentationUse what to value-profile and where to attach the profile metadata. It then refactors logic scattered in PGOInstrumentation.cpp into two plugins that plug into the ValueProfileCollector.

Authored By: Wael Yehia <wyehia@ca.ibm.com>

Reviewer: davidxl, tejohnson, xur

Reviewed By: davidxl, tejohnson, xur

Subscribers: llvm-commits

Tag: #llvm

Differential Revision: https://reviews.llvm.org/D67920

Patch By Wael Yehia <wyehia@ca.ibm.com>
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/CMakeLists.txt (diff)llvm.src/lib/Transforms/Instrumentation/CMakeLists.txt
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/PGOInstrumentation.cpp (diff)llvm.src/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
The file was added/llvm/trunk/lib/Transforms/Instrumentation/ValueProfileCollector.cppllvm.src/lib/Transforms/Instrumentation/ValueProfileCollector.cpp
The file was added/llvm/trunk/lib/Transforms/Instrumentation/ValueProfileCollector.hllvm.src/lib/Transforms/Instrumentation/ValueProfileCollector.h
The file was added/llvm/trunk/lib/Transforms/Instrumentation/ValueProfilePlugins.incllvm.src/lib/Transforms/Instrumentation/ValueProfilePlugins.inc
Revision 373600 by amehsan:
[AArch64][SVE] Adding patterns for floating point SVE add instructions.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64SVEInstrInfo.td (diff)llvm.src/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modified/llvm/trunk/lib/Target/AArch64/SVEInstrFormats.td (diff)llvm.src/lib/Target/AArch64/SVEInstrFormats.td
The file was added/monorepo-root/trunk/sve-fp.llN/A
Revision 373599 by grimar:
Revert r373598 "[yaml2obj/obj2yaml] - Add support for SHT_LLVM_ADDRSIG sections."

It broke BB:
http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/18655/steps/test/logs/stdio
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 removed/llvm/trunk/test/tools/obj2yaml/elf-llvm-addrsig-section.yamlllvm.src/test/tools/obj2yaml/elf-llvm-addrsig-section.yaml
The file was removed/llvm/trunk/test/tools/yaml2obj/elf-llvm-addrsig-section.yamlllvm.src/test/tools/yaml2obj/elf-llvm-addrsig-section.yaml
The file was modified/llvm/trunk/tools/obj2yaml/elf2yaml.cpp (diff)llvm.src/tools/obj2yaml/elf2yaml.cpp
Revision 373598 by grimar:
[yaml2obj/obj2yaml] - Add support for SHT_LLVM_ADDRSIG sections.

SHT_LLVM_ADDRSIG is described here:
https://llvm.org/docs/Extensions.html#sht-llvm-addrsig-section-address-significance-table

This patch teaches tools to dump them and to parse the YAML declarations of such sections.

Differential revision: https://reviews.llvm.org/D68333
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 added/llvm/trunk/test/tools/obj2yaml/elf-llvm-addrsig-section.yamlllvm.src/test/tools/obj2yaml/elf-llvm-addrsig-section.yaml
The file was added/llvm/trunk/test/tools/yaml2obj/elf-llvm-addrsig-section.yamlllvm.src/test/tools/yaml2obj/elf-llvm-addrsig-section.yaml
The file was modified/llvm/trunk/tools/obj2yaml/elf2yaml.cpp (diff)llvm.src/tools/obj2yaml/elf2yaml.cpp
Revision 373597 by lebedevri:
[NFC][InstCombine] Some tests for sub-of-negatible pattern

As we have previously estabilished, `sub` is an outcast,
and should be considered non-canonical iff it can be converted to `add`.

It can be converted to `add` if it's second operand can be negated.
So far we mostly only do that for constants and negation itself,
but we should be more through.
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Transforms/InstCombine/sub-of-negatible.llllvm.src/test/Transforms/InstCombine/sub-of-negatible.ll
Revision 373596 by djtodoro:
[llvm-locstats] Copy the script only when needed; NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/llvm-locstats/CMakeLists.txt (diff)llvm.src/utils/llvm-locstats/CMakeLists.txt
Revision 373595 by gchatelet:
[Alignment][NFC] Remove StoreInst::setAlignment(unsigned)

Summary:
This is patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Reviewers: courbet, bollu, jdoerfert

Subscribers: hiraditya, asbirlea, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D68268
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGBuiltin.cpp (diff)clang.src/lib/CodeGen/CGBuiltin.cpp
The file was modified/llvm/trunk/include/llvm/IR/IRBuilder.h (diff)llvm.src/include/llvm/IR/IRBuilder.h
The file was modified/llvm/trunk/include/llvm/IR/Instructions.h (diff)llvm.src/include/llvm/IR/Instructions.h
The file was modified/llvm/trunk/lib/CodeGen/AtomicExpandPass.cpp (diff)llvm.src/lib/CodeGen/AtomicExpandPass.cpp
The file was modified/llvm/trunk/lib/IR/Core.cpp (diff)llvm.src/lib/IR/Core.cpp
The file was modified/llvm/trunk/lib/IR/Instructions.cpp (diff)llvm.src/lib/IR/Instructions.cpp
The file was modified/llvm/trunk/lib/Transforms/IPO/Attributor.cpp (diff)llvm.src/lib/Transforms/IPO/Attributor.cpp
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineAtomicRMW.cpp (diff)llvm.src/lib/Transforms/InstCombine/InstCombineAtomicRMW.cpp
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineCalls.cpp (diff)llvm.src/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp (diff)llvm.src/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp (diff)llvm.src/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/GVNHoist.cpp (diff)llvm.src/lib/Transforms/Scalar/GVNHoist.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/LICM.cpp (diff)llvm.src/lib/Transforms/Scalar/LICM.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/SROA.cpp (diff)llvm.src/lib/Transforms/Scalar/SROA.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp (diff)llvm.src/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modified/llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp (diff)llvm.src/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modified/polly/trunk/lib/CodeGen/BlockGenerators.cpp (diff)N/A
Revision 373594 by grimar:
[llvm-readobj] - Stop using a precompiled binary in all.test

Having a precompiled binary here is excessive.
I also added a few missing tags.

Differential revision: https://reviews.llvm.org/D68386
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-readobj/all.test (diff)llvm.src/test/tools/llvm-readobj/all.test
Revision 373593 by ymandel:
[libTooling] Add various Stencil combinators for expressions.

Summary:
This revision adds three new Stencil combinators:
* `expression`, which idiomatically constructs the source for an expression,
  including wrapping the expression's source in parentheses if needed.
* `deref`, which constructs an idiomatic dereferencing expression.
* `addressOf`, which constructs an idiomatic address-taking expression.

Reviewers: gribozavr

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68315
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Tooling/Refactoring/Stencil.h (diff)clang.src/include/clang/Tooling/Refactoring/Stencil.h
The file was modified/cfe/trunk/lib/Tooling/Refactoring/Stencil.cpp (diff)clang.src/lib/Tooling/Refactoring/Stencil.cpp
The file was modified/cfe/trunk/unittests/Tooling/StencilTest.cpp (diff)clang.src/unittests/Tooling/StencilTest.cpp
Revision 373592 by gchatelet:
[Alignment][Clang][NFC] Add CharUnits::getAsAlign

Summary:
This is a prerequisite to removing `llvm::GlobalObject::setAlignment(unsigned)`.
This is patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Reviewers: courbet

Subscribers: jholewinski, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68274
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/CharUnits.h (diff)clang.src/include/clang/AST/CharUnits.h
The file was modified/cfe/trunk/lib/CodeGen/CGCUDANV.cpp (diff)clang.src/lib/CodeGen/CGCUDANV.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGCall.cpp (diff)clang.src/lib/CodeGen/CGCall.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGCleanup.cpp (diff)clang.src/lib/CodeGen/CGCleanup.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGDecl.cpp (diff)clang.src/lib/CodeGen/CGDecl.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGExpr.cpp (diff)clang.src/lib/CodeGen/CGExpr.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGExprAgg.cpp (diff)clang.src/lib/CodeGen/CGExprAgg.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGExprCXX.cpp (diff)clang.src/lib/CodeGen/CGExprCXX.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGExprConstant.cpp (diff)clang.src/lib/CodeGen/CGExprConstant.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGObjCGNU.cpp (diff)clang.src/lib/CodeGen/CGObjCGNU.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGObjCMac.cpp (diff)clang.src/lib/CodeGen/CGObjCMac.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp (diff)clang.src/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
The file was modified/cfe/trunk/lib/CodeGen/CodeGenFunction.cpp (diff)clang.src/lib/CodeGen/CodeGenFunction.cpp
The file was modified/cfe/trunk/lib/CodeGen/CodeGenFunction.h (diff)clang.src/lib/CodeGen/CodeGenFunction.h
The file was modified/cfe/trunk/lib/CodeGen/CodeGenModule.cpp (diff)clang.src/lib/CodeGen/CodeGenModule.cpp
The file was modified/cfe/trunk/lib/CodeGen/ConstantInitBuilder.cpp (diff)clang.src/lib/CodeGen/ConstantInitBuilder.cpp
The file was modified/cfe/trunk/lib/CodeGen/CoverageMappingGen.cpp (diff)clang.src/lib/CodeGen/CoverageMappingGen.cpp
The file was modified/cfe/trunk/lib/CodeGen/ItaniumCXXABI.cpp (diff)clang.src/lib/CodeGen/ItaniumCXXABI.cpp
The file was modified/cfe/trunk/lib/CodeGen/MicrosoftCXXABI.cpp (diff)clang.src/lib/CodeGen/MicrosoftCXXABI.cpp
The file was modified/cfe/trunk/lib/CodeGen/ObjectFilePCHContainerOperations.cpp (diff)clang.src/lib/CodeGen/ObjectFilePCHContainerOperations.cpp
Revision 373591 by atanasyan:
[mips] Push `fixup_Mips_LO16` fixup for `jialc` and `jic` instructions
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp (diff)llvm.src/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
The file was modified/llvm/trunk/test/MC/Mips/micromips32r6/relocations.s (diff)llvm.src/test/MC/Mips/micromips32r6/relocations.s
The file was modified/llvm/trunk/test/MC/Mips/mips32r6/relocations.s (diff)llvm.src/test/MC/Mips/mips32r6/relocations.s
The file was modified/llvm/trunk/test/MC/Mips/mips64r6/relocations.s (diff)llvm.src/test/MC/Mips/mips64r6/relocations.s
Revision 373590 by atanasyan:
[llvm-readobj][mips] Remove non-standard --misp-xxx flags

llvm-readobj "non-standard" flags `--mips-plt-got`, `--mips-abi-flags`,
`--mips-reginfo`, and `--mips-options` are superseded by the `--arch-specific`
flag and can be removed now.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-readobj/llvm-readobj.cpp (diff)llvm.src/tools/llvm-readobj/llvm-readobj.cpp
Revision 373589 by atanasyan:
[mips] Use llvm-readobj `-A` flag in test cases. NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/lld/trunk/test/ELF/mips-26.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-32.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-64-disp.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-64-got-overflow.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-64-got.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-64.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-abs-got.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-call-hilo.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-call16.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-elf-flags.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-got-and-copy.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-got-extsym.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-got-hilo.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-got-page-script.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-got-page.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-got-redundant.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-got-relocs.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-got-script.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-got-string.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-got-weak.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-got16.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-gprel32-relocs-gp0.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-merge-abiflags.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-mgot.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-micro-got.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-micro-jal.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-micro-plt.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-non-zero-gp0.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-options.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-plt-copy.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-reginfo.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-sto-plt.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-tls-64.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-tls-hilo.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-tls.s (diff)N/A
The file was modified/lld/trunk/test/ELF/mips-xgot-order.s (diff)N/A
The file was modified/llvm/trunk/test/CodeGen/Mips/micromips-ase-function-attribute.ll (diff)llvm.src/test/CodeGen/Mips/micromips-ase-function-attribute.ll
The file was modified/llvm/trunk/test/MC/Mips/crc/module-crc.s (diff)llvm.src/test/MC/Mips/crc/module-crc.s
The file was modified/llvm/trunk/test/MC/Mips/crc/module-nocrc.s (diff)llvm.src/test/MC/Mips/crc/module-nocrc.s
The file was modified/llvm/trunk/test/MC/Mips/ginv/module-ginv.s (diff)llvm.src/test/MC/Mips/ginv/module-ginv.s
The file was modified/llvm/trunk/test/MC/Mips/ginv/module-noginv.s (diff)llvm.src/test/MC/Mips/ginv/module-noginv.s
The file was modified/llvm/trunk/test/MC/Mips/micromips-ase-directive.s (diff)llvm.src/test/MC/Mips/micromips-ase-directive.s
The file was modified/llvm/trunk/test/MC/Mips/mips_abi_flags_xx.s (diff)llvm.src/test/MC/Mips/mips_abi_flags_xx.s
The file was modified/llvm/trunk/test/MC/Mips/mips_abi_flags_xx_set.s (diff)llvm.src/test/MC/Mips/mips_abi_flags_xx_set.s
The file was modified/llvm/trunk/test/MC/Mips/module-hardfloat.s (diff)llvm.src/test/MC/Mips/module-hardfloat.s
The file was modified/llvm/trunk/test/MC/Mips/module-softfloat.s (diff)llvm.src/test/MC/Mips/module-softfloat.s
The file was modified/llvm/trunk/test/MC/Mips/mt/abiflag.s (diff)llvm.src/test/MC/Mips/mt/abiflag.s
The file was modified/llvm/trunk/test/MC/Mips/mt/module-directive.s (diff)llvm.src/test/MC/Mips/mt/module-directive.s
The file was modified/llvm/trunk/test/MC/Mips/mt/set-directive.s (diff)llvm.src/test/MC/Mips/mt/set-directive.s
The file was modified/llvm/trunk/test/MC/Mips/virt/module-novirt.s (diff)llvm.src/test/MC/Mips/virt/module-novirt.s
The file was modified/llvm/trunk/test/MC/Mips/virt/module-virt.s (diff)llvm.src/test/MC/Mips/virt/module-virt.s
The file was modified/llvm/trunk/test/Object/Mips/abi-flags.yaml (diff)llvm.src/test/Object/Mips/abi-flags.yaml
The file was modified/llvm/trunk/test/tools/llvm-readobj/mips-abiflags.test (diff)llvm.src/test/tools/llvm-readobj/mips-abiflags.test
Revision 373588 by atanasyan:
[llvm-readobj][mips] Display MIPS specific info under --arch-specific flag

Old options `--mips-plt-got`, `--mips-abi-flags`, '--mips-reginfo`,
and `--mips-options` wiil be deleted in a separate patch.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-readobj/mips-got-overlapped.test (diff)llvm.src/test/tools/llvm-readobj/mips-got-overlapped.test
The file was modified/llvm/trunk/test/tools/llvm-readobj/mips-got.test (diff)llvm.src/test/tools/llvm-readobj/mips-got.test
The file was modified/llvm/trunk/test/tools/llvm-readobj/mips-options-sec.test (diff)llvm.src/test/tools/llvm-readobj/mips-options-sec.test
The file was modified/llvm/trunk/test/tools/llvm-readobj/mips-plt.test (diff)llvm.src/test/tools/llvm-readobj/mips-plt.test
The file was modified/llvm/trunk/test/tools/llvm-readobj/mips-reginfo.test (diff)llvm.src/test/tools/llvm-readobj/mips-reginfo.test
The file was modified/llvm/trunk/tools/llvm-readobj/llvm-readobj.cpp (diff)llvm.src/tools/llvm-readobj/llvm-readobj.cpp
Revision 373587 by atanasyan:
[llvm-readobj][mips] Do not show an error if GOT is missed

It is not an error if a file does not contain GOT.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-readobj/mips-got.test (diff)llvm.src/test/tools/llvm-readobj/mips-got.test
The file was modified/llvm/trunk/tools/llvm-readobj/ELFDumper.cpp (diff)llvm.src/tools/llvm-readobj/ELFDumper.cpp
Revision 373586 by nico:
gn build: Revert 373554 "gn build: (manually) merge r373551"

r373551 was reverted in r373581.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/unittests/BUILD.gn (diff)llvm.src/utils/gn/secondary/llvm/unittests/BUILD.gn
The file was removed/llvm/trunk/utils/gn/secondary/llvm/unittests/TableGenllvm.src/utils/gn/secondary/llvm/unittests/TableGen
The file was modified/llvm/trunk/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn (diff)llvm.src/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
The file was removed/llvm/trunk/utils/gn/secondary/llvm/utils/TableGen/GlobalISelllvm.src/utils/gn/secondary/llvm/utils/TableGen/GlobalISel
Revision 373585 by s.desmalen:
[AArch64] Static (de)allocation of SVE stack objects.

Adds support to AArch64FrameLowering to allocate fixed-stack SVE objects.

The focus of this patch is purely to allow the stack frame to
allocate/deallocate space for scalable SVE objects. More dynamic
allocation (at compile-time, i.e. determining placement of SVE objects
on the stack), or resolving frame-index references that include
scalable-sized offsets, are left for subsequent patches.

SVE objects are allocated in the stack frame as a separate region below
the callee-save area, and above the alignment gap. This is done so that
the SVE objects can be accessed directly from the FP at (runtime)
VL-based offsets to benefit from using the VL-scaled addressing modes.

The layout looks as follows:

     +-------------+
     | stack arg   |  
     +-------------+
     | Callee Saves|
     |   X29, X30  |       (if available)
     |-------------| <- FP (if available)
     |     :       |  
     |  SVE area   |  
     |     :       |  
     +-------------+
     |/////////////| alignment gap.
     |     :       |  
     | Stack objs  |
     |     :       |  
     +-------------+ <- SP after call and frame-setup

SVE and non-SVE stack objects are distinguished using different
StackIDs. The offsets for objects with TargetStackID::SVEVector should be
interpreted as purely scalable offsets within their respective SVE region.

Reviewers: thegameg, rovka, t.p.northover, efriedma, rengolin, greened

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D61437
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/MIRYamlMapping.h (diff)llvm.src/include/llvm/CodeGen/MIRYamlMapping.h
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetFrameLowering.h (diff)llvm.src/include/llvm/CodeGen/TargetFrameLowering.h
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64FrameLowering.cpp (diff)llvm.src/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64FrameLowering.h (diff)llvm.src/lib/Target/AArch64/AArch64FrameLowering.h
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.cpp (diff)llvm.src/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64MachineFunctionInfo.h (diff)llvm.src/lib/Target/AArch64/AArch64MachineFunctionInfo.h
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64StackOffset.h (diff)llvm.src/lib/Target/AArch64/AArch64StackOffset.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIFrameLowering.cpp (diff)llvm.src/lib/Target/AMDGPU/SIFrameLowering.cpp
The file was added/llvm/trunk/test/CodeGen/AArch64/framelayout-sve.mirllvm.src/test/CodeGen/AArch64/framelayout-sve.mir
The file was modified/llvm/trunk/unittests/Target/AArch64/TestStackOffset.cpp (diff)llvm.src/unittests/Target/AArch64/TestStackOffset.cpp
Revision 373584 by rksimon:
Silence static analyzer getAs<RecordType> null dereference warnings. NFCI.

The static analyzer is warning about potential null dereferences, but in these cases we should be able to use castAs<RecordType> directly and if not assert will fire for us.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/AST/APValue.cpp (diff)clang.src/lib/AST/APValue.cpp
The file was modified/cfe/trunk/lib/AST/DeclCXX.cpp (diff)clang.src/lib/AST/DeclCXX.cpp
The file was modified/cfe/trunk/lib/AST/Expr.cpp (diff)clang.src/lib/AST/Expr.cpp
The file was modified/cfe/trunk/lib/AST/ExprConstant.cpp (diff)clang.src/lib/AST/ExprConstant.cpp
The file was modified/cfe/trunk/lib/AST/InheritViz.cpp (diff)clang.src/lib/AST/InheritViz.cpp
The file was modified/cfe/trunk/lib/AST/Interp/Program.cpp (diff)clang.src/lib/AST/Interp/Program.cpp
The file was modified/cfe/trunk/lib/AST/ItaniumMangle.cpp (diff)clang.src/lib/AST/ItaniumMangle.cpp
The file was modified/cfe/trunk/lib/AST/JSONNodeDumper.cpp (diff)clang.src/lib/AST/JSONNodeDumper.cpp
The file was modified/cfe/trunk/lib/AST/TextNodeDumper.cpp (diff)clang.src/lib/AST/TextNodeDumper.cpp
The file was modified/cfe/trunk/lib/AST/VTTBuilder.cpp (diff)clang.src/lib/AST/VTTBuilder.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGCXX.cpp (diff)clang.src/lib/CodeGen/CGCXX.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGCXXABI.cpp (diff)clang.src/lib/CodeGen/CGCXXABI.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGCall.cpp (diff)clang.src/lib/CodeGen/CGCall.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGClass.cpp (diff)clang.src/lib/CodeGen/CGClass.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGDebugInfo.cpp (diff)clang.src/lib/CodeGen/CGDebugInfo.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGDecl.cpp (diff)clang.src/lib/CodeGen/CGDecl.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGExprCXX.cpp (diff)clang.src/lib/CodeGen/CGExprCXX.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGExprConstant.cpp (diff)clang.src/lib/CodeGen/CGExprConstant.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGExprScalar.cpp (diff)clang.src/lib/CodeGen/CGExprScalar.cpp
The file was modified/cfe/trunk/lib/CodeGen/CodeGenTypes.cpp (diff)clang.src/lib/CodeGen/CodeGenTypes.cpp
The file was modified/cfe/trunk/lib/CodeGen/TargetInfo.cpp (diff)clang.src/lib/CodeGen/TargetInfo.cpp
The file was modified/cfe/trunk/lib/Frontend/Rewrite/RewriteModernObjC.cpp (diff)clang.src/lib/Frontend/Rewrite/RewriteModernObjC.cpp
The file was modified/cfe/trunk/lib/Frontend/Rewrite/RewriteObjC.cpp (diff)clang.src/lib/Frontend/Rewrite/RewriteObjC.cpp
The file was modified/cfe/trunk/lib/Sema/SemaAccess.cpp (diff)clang.src/lib/Sema/SemaAccess.cpp
The file was modified/cfe/trunk/lib/Sema/SemaChecking.cpp (diff)clang.src/lib/Sema/SemaChecking.cpp
The file was modified/cfe/trunk/lib/Sema/SemaDecl.cpp (diff)clang.src/lib/Sema/SemaDecl.cpp
The file was modified/cfe/trunk/lib/Sema/SemaDeclAttr.cpp (diff)clang.src/lib/Sema/SemaDeclAttr.cpp
The file was modified/cfe/trunk/lib/Sema/SemaDeclCXX.cpp (diff)clang.src/lib/Sema/SemaDeclCXX.cpp
The file was modified/cfe/trunk/lib/Sema/SemaExceptionSpec.cpp (diff)clang.src/lib/Sema/SemaExceptionSpec.cpp
The file was modified/cfe/trunk/lib/Sema/SemaExprCXX.cpp (diff)clang.src/lib/Sema/SemaExprCXX.cpp
The file was modified/cfe/trunk/lib/Sema/SemaExprMember.cpp (diff)clang.src/lib/Sema/SemaExprMember.cpp
The file was modified/cfe/trunk/lib/Sema/SemaLookup.cpp (diff)clang.src/lib/Sema/SemaLookup.cpp
Revision 373583 by rksimon:
Fix uninitialized variable warning. NFCI
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp (diff)llvm.src/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
Revision 373582 by rksimon:
Fix uninitialized variable warning. NFCI
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp (diff)llvm.src/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
Revision 373581 by Kristina Brooks:
Revert 373551 (CodeExpander.cpp CMake issue)

Fix buildbots and revert the CodeExpander commit.

(See http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20190930/699857.html )
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/unittests/CMakeLists.txt (diff)llvm.src/unittests/CMakeLists.txt
The file was removed/llvm/trunk/unittests/TableGenllvm.src/unittests/TableGen
The file was modified/llvm/trunk/utils/TableGen/CMakeLists.txt (diff)llvm.src/utils/TableGen/CMakeLists.txt
The file was modified/llvm/trunk/utils/TableGen/GICombinerEmitter.cpp (diff)llvm.src/utils/TableGen/GICombinerEmitter.cpp
The file was removed/llvm/trunk/utils/TableGen/GlobalISelllvm.src/utils/TableGen/GlobalISel
Revision 373580 by gchatelet:
[Alignment][NFC] Allow constexpr Align

Summary:
This is patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Reviewers: courbet

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68329
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Support/Alignment.h (diff)llvm.src/include/llvm/Support/Alignment.h
The file was modified/llvm/trunk/include/llvm/Support/MathExtras.h (diff)llvm.src/include/llvm/Support/MathExtras.h
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64StackTagging.cpp (diff)llvm.src/lib/Target/AArch64/AArch64StackTagging.cpp
The file was modified/llvm/trunk/unittests/Support/AlignmentTest.cpp (diff)llvm.src/unittests/Support/AlignmentTest.cpp
The file was modified/llvm/trunk/unittests/Support/MathExtrasTest.cpp (diff)llvm.src/unittests/Support/MathExtrasTest.cpp
Revision 373579 by Kristina Brooks:
Revert 373555: libLLVM+modules failure with CMake 3.10.2

This reverts rL373555. I've sent an email out regarding the issue.

Commit on GitHub:
https://github.com/llvm/llvm-project/commit/45f682f47129c05414d4c5ae7be851772273978f
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/unittests/TableGen/CMakeLists.txt (diff)llvm.src/unittests/TableGen/CMakeLists.txt
The file was modified/llvm/trunk/utils/TableGen/CMakeLists.txt (diff)llvm.src/utils/TableGen/CMakeLists.txt
The file was modified/llvm/trunk/utils/TableGen/GlobalISel/CMakeLists.txt (diff)llvm.src/utils/TableGen/GlobalISel/CMakeLists.txt
Revision 373577 by Raphael Isemann:
[clang][NFC] Fix misspellings in ExternalASTMerger.h
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
Revision 373576 by sylvestre:
Update the FAQ: remove stuff related to the previous license +
update info about the portability of LLVM.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/FAQ.rst (diff)llvm.src/docs/FAQ.rst
Revision 373571 by courbet:
[llvm-exegesis][NFC] Rename ExegesisTarget::decrementLoopCounterAndLoop()

Summary: To decrementLoopCounterAndJump, and explicitely take the jump target.

Reviewers: gchatelet

Subscribers: tschuett, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68375
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-exegesis/lib/SnippetRepetitor.cpp (diff)llvm.src/tools/llvm-exegesis/lib/SnippetRepetitor.cpp
The file was modified/llvm/trunk/tools/llvm-exegesis/lib/Target.h (diff)llvm.src/tools/llvm-exegesis/lib/Target.h
The file was modified/llvm/trunk/tools/llvm-exegesis/lib/X86/Target.cpp (diff)llvm.src/tools/llvm-exegesis/lib/X86/Target.cpp
Revision 373570 by maskray:
Fix libc++ pretty printer test for Python 3 after D67238 (take 2)

In both Python 2 and Python 3, gdb.Value.string returns a 'str'. We just
need to delete a `encode("utf-8")` which would return a 'bytes' in
Python 3.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/pretty_printers/gdb_pretty_printer_test.py (diff)libcxx.src/test/pretty_printers/gdb_pretty_printer_test.py
Revision 373569 by ctopper:
[X86] Add test case for v8i64->v8i8 truncate with avx512 and prefer-vector-width/min-legal-vector-width=256. NFC

With vpmovqb, we should be able to do better here until we get
AVX512VBMI on Cannonlake/Icelake.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/min-legal-vector-width.ll (diff)llvm.src/test/CodeGen/X86/min-legal-vector-width.ll
Revision 373568 by arsenm:
AMDGPU/GlobalISel: Don't re-get subtarget

It's already available in the class.
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 373567 by arsenm:
AMDGPU/GlobalISel: Expand G_BITCAST legality
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/legalize-bitcast.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-bitcast.mir
Revision 373566 by ctopper:
[X86] Add DAG combine to turn (bitcast (vbroadcast_load)) into just a vbroadcast_load if the scalar size is the same.

This improves broadcast load folding of i64 elements on 32-bit
targets where i64 isn't legal.

Previously we had to represent these as vXf64 vbroadcast_loads and
a bitcast to vXi64. But we didn't have any isel patterns
looking for that.

This also allows us to remove or simplify some isel patterns that
were looking for bitcasted vbroadcast_loads.
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/lib/Target/X86/X86InstrAVX512.td (diff)llvm.src/lib/Target/X86/X86InstrAVX512.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/avx512dqvl-intrinsics-upgrade.ll (diff)llvm.src/test/CodeGen/X86/avx512dqvl-intrinsics-upgrade.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx512ifma-intrinsics-upgrade.ll (diff)llvm.src/test/CodeGen/X86/avx512ifma-intrinsics-upgrade.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx512ifma-intrinsics.ll (diff)llvm.src/test/CodeGen/X86/avx512ifma-intrinsics.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/avx512vlvp2intersect-intrinsics.ll (diff)llvm.src/test/CodeGen/X86/avx512vlvp2intersect-intrinsics.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx512vp2intersect-intrinsics.ll (diff)llvm.src/test/CodeGen/X86/avx512vp2intersect-intrinsics.ll
Revision 373565 by sepavloff:
Fix driver tests when `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR` is `ON`

Some Driver tests relied on the default resource direcory having per-os per-arch
subdirectory layout, and when clang is built with `-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON`,
those test fail, because clang by default assumes per-target subdirectories.

Explicitly set `-resource-dir` flag to point to a tree with per-os per-arch layout.

See also: D45604, D62469

Differential Revision: https://reviews.llvm.org/D66981

Patch by Sergej Jaskiewicz <jaskiewiczs@icloud.com>.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/Driver/arm-compiler-rt.c (diff)clang.src/test/Driver/arm-compiler-rt.c
The file was modified/cfe/trunk/test/Driver/print-libgcc-file-name-clangrt.c (diff)clang.src/test/Driver/print-libgcc-file-name-clangrt.c
Revision 373561 by yaxunl:
[HIP] Support -emit-llvm for device compilation

Sometimes it is useful to compile HIP device code to LLVM BC. It is not convenient to use clang -cc1 since
there are lots of options needed.

This patch allows clang driver to compile HIP device code to LLVM BC with -emit-llvm -c.

Differential Revision: https://reviews.llvm.org/D68284
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Driver/Driver.cpp (diff)clang.src/lib/Driver/Driver.cpp
The file was added/cfe/trunk/test/Driver/hip-device-compile.hipclang.src/test/Driver/hip-device-compile.hip
Revision 373560 by ctopper:
[X86] Add broadcast load folding patterns to NoVLX VPMULLQ/VPMAXSQ/VPMAXUQ/VPMINSQ/VPMINUQ patterns.

More fixes for PR36191.
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/avx512-arith.ll (diff)llvm.src/test/CodeGen/X86/avx512-arith.ll
The file was modified/llvm/trunk/test/CodeGen/X86/masked_store_trunc_ssat.ll (diff)llvm.src/test/CodeGen/X86/masked_store_trunc_ssat.ll
The file was modified/llvm/trunk/test/CodeGen/X86/masked_store_trunc_usat.ll (diff)llvm.src/test/CodeGen/X86/masked_store_trunc_usat.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-trunc-packus.ll (diff)llvm.src/test/CodeGen/X86/vector-trunc-packus.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-trunc-ssat.ll (diff)llvm.src/test/CodeGen/X86/vector-trunc-ssat.ll
Revision 373559 by ctopper:
[X86] Remove a couple redundant isel patterns that look to have been copy/pasted from right above them. NFC
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