FailedChanges

Summary

  1. DebugInfo: Remove unused parameter (from DwarfDebug.cpp:emitListsTableHeaderStart)
  2. [ARM] Fix arm_neon.h with -flax-vector-conversions=none, part 3 It's completely impossible to check that I've actually found all the issues, due to the use of macros in arm_neon.h, but hopefully this time it'll take more than a few hours for someone to find another issue. I have no idea why, but apparently there's a rule that some, but not all, builtins which should take an fp16 vector actually take an int8 vector as an argument. Fix this, and add test coverage. Differential Revision: https://reviews.llvm.org/D68838
  3. Reland [llvm-objdump] Use a counter for llvm-objdump -h instead of the section index. This relands r374931 (reverted in r375088). It fixes 32-bit builds by using the right format string specifier for uint64_t (PRIu64) instead of `%d`. Original description: When listing the index in `llvm-objdump -h`, use a zero-based counter instead of the actual section index (e.g. shdr->sh_index for ELF). While this is effectively a noop for now (except one unit test for XCOFF), the index values will change in a future patch that filters certain sections out (e.g. symbol tables). See D68669 for more context. Note: the test case in `test/tools/llvm-objdump/X86/section-index.s` already covers the case of incrementing the section index counter when sections are skipped. Reviewers: grimar, jhenderson, espindola Reviewed By: grimar Subscribers: emaste, sbc100, arichardson, aheejin, arphaman, seiya, llvm-commits, MaskRay Tags: #llvm Differential Revision: https://reviews.llvm.org/D68848
  4. [clang-offload-wrapper][NFC] Use captured name of the entry type in LIT test Differential Revision: https://reviews.llvm.org/D69140
  5. [Error] Make llvm::cantFail include the original error messages Summary: The current implementation eats the current errors and just outputs the message parameter passed to llvm::cantFail. This change appends the original error message(s), so the user can see exactly why cantFail failed. New logic is conditional on NDEBUG. Reviewed By: lhames Tags: #llvm Differential Revision: https://reviews.llvm.org/D69057
  6. [AMDGPU] drop getIsFP td helper We already have isFloatType helper, and they are out of sync. Drop one and merge the type list. Differential Revision: https://reviews.llvm.org/D69138
  7. [lit] Move computation of deadline up into base class
  8. [llvm-objcopy] Add support for shell wildcards Summary: GNU objcopy accepts the --wildcard flag to allow wildcard matching on symbol-related flags. (Note: it's implicitly true for section flags). The basic syntax is to allow *, ?, \, and [] which work similarly to how they work in a shell. Additionally, starting a wildcard with ! causes that wildcard to prevent it from matching a flag. Use an updated GlobPattern in libSupport to handle these patterns. It does not fully match the `fnmatch` used by GNU objcopy since named character classes (e.g. `[[:digit:]]`) are not supported, but this should support most existing use cases (mostly just `*` is what's used anyway). Reviewers: jhenderson, MaskRay, evgeny777, espindola, alexshap Reviewed By: MaskRay Subscribers: nickdesaulniers, emaste, arichardson, hiraditya, jakehehrlich, abrachet, seiya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66613
  9. [OPENMP]Dow not emit warnings for uninitialized loop counters. In OpenMP constructs all counters are initialized and we should not emit warnings about uninitialized privatized loop control variables.
  10. libhwasan initialisation include kernel syscall ABI relaxation Summary: Until now AArch64 development has been on patched kernels that have an always on relaxed syscall ABI where tagged pointers are accepted. The patches that have gone into the mainline kernel rely on each process opting in to this relaxed ABI. This commit adds code to choose that ABI into __hwasan_init. The idea has already been agreed with one of the hwasan developers (http://lists.llvm.org/pipermail/llvm-dev/2019-September/135328.html). The patch ignores failures of `EINVAL` for Android, since there are older versions of the Android kernel that don't require this `prctl` or even have the relevant values. Avoiding EINVAL will let the library run on them. I've tested this on an AArch64 VM running a kernel that requires this prctl, having compiled both with clang and gcc. Patch by Matthew Malcomson. Reviewers: eugenis, kcc, pcc Reviewed By: eugenis Subscribers: srhines, kristof.beyls, #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D68794
  11. Reland "[lit] Synthesize artificial deadline" We always want to use a deadline when calling `result.await`. Let's synthesize an artificial deadline (now plus one year) to simplify code and do less busy waiting. Thanks to Reid Kleckner for diagnosing that a deadline for of "positive infinity" does not work with Python 3 anymore. See commit: 4ff1e34b606d9a9fcfd8b8b5449a558315af94e5 I tested this patch with Python 2 and Python 3.
  12. [Builtins] Downgrade duplicate source file warning from a fatal error to a warning. This is a follow up to r375150 to unbreak the `clang-ppc64be-linux` bot. The commit caused running the tests to fail due to ``` llvm-lit: /home/buildbots/ppc64be-clang-multistage-test/clang-ppc64be-multistage/llvm/projects/compiler-rt/test/builtins/Unit/lit.cfg.py:116: fatal: builtins_source_features contains duplicates: ['librt_has_divtc3'] ``` This commit should be reverted once the build system bug for powerpc is fixed.
  13. [x86] add test for setcc to shift transform; NFC
  14. [cmake] Pass external project source directories to sub-configures We're passing LLVM_EXTERNAL_PROJECTS to cross-compilation configures, so we also need to pass the source directories of those projects, otherwise configuration can fail from not finding them. Differential Revision: https://reviews.llvm.org/D69076
  15. [Object] Fix the return type of getOffset/getSize Header64.offset/Header64.size are uint64_t, thus we should not truncate them to unit32_t. Moreover, there are a number of places where we sum the offset and the size (e.g. in various checks in MachOUniversal.cpp), the truncation causes issues since the offset/size can perfectly fit into uint32_t, while the sum overflows. Differential revision: https://reviews.llvm.org/D69126 Test plan: make check-all
  16. [NFC][InstCombine] Some more preparatory cleanup for dropRedundantMaskingOfLeftShiftInput()
  17. [PowerPC] Turn on CR-Logical reducer pass Quite a while ago, we implemented a pass that will reduce the number of CR-logical operations we emit. It does so by converting a CR-logical operation into a branch. We have kept this off by default because it seemed to cause a significant regression with one benchmark. However, that regression turned out to be due to a completely unrelated reason - AADB introducing a self-copy that is a priority-setting nop and it was just exacerbated by this pass. Now that we understand the reason for the only degradation, we can turn this pass on by default. We have long since fixed the cause for the degradation. Differential revision: https://reviews.llvm.org/D52431
  18. [Builtins] Provide a mechanism to selectively disable tests based on whether an implementation is provided by a builtin library. Summary: If a platform removes some builtin implementations (e.g. via the Darwin-excludes mechanism) then this can lead to test failures because the test expects an implementation to be available. To solve this lit features are added for each configuration based on which sources are included in the builtin library. The features are of the form `librt_has_<name>` where `<name>` is the name of the source file with the file extension removed. This handles C and assembly sources. With the lit features in place it is possible to make certain tests require them. Example: ``` REQUIRES: librt_has_comparedf2 ``` All top-level tests in `test/builtins/Unit` (i.e. not under `arm`, `ppc`, and `riscv`) have been annotated with the appropriate `REQUIRES: librt_has_*` statement. rdar://problem/55520987 Reviewers: beanz, steven_wu, arphaman, dexonsmith, phosek, thakis Subscribers: mgorny, #sanitizers, llvm-commits Tags: #llvm, #sanitizers Differential Revision: https://reviews.llvm.org/D68064
  19. Reapply r375051: [support] GlobPattern: add support for `\` and `[!...]`, and allow `]` in more places Reland r375051 (reverted in r375052) after fixing lld tests on Windows in r375126 and r375131. Original description: Update GlobPattern in libSupport to handle a few more cases. It does not fully match the `fnmatch` used by GNU objcopy since named character classes (e.g. `[[:digit:]]`) are not supported, but this should support most existing use cases (mostly just `*` is what's used anyway). This will be used to implement the `--wildcard` flag in llvm-objcopy to be more compatible with GNU objcopy. This is split off of D66613 to land the libSupport changes separately. The llvm-objcopy part will land soon. Reviewers: jhenderson, MaskRay, evgeny777, espindola, alexshap Reviewed By: MaskRay Subscribers: nickdesaulniers, emaste, arichardson, hiraditya, jakehehrlich, abrachet, seiya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66613
  20. NFC: Fix variable only used in asserts by propagating the value. Summary: This fixes builds with assertions disabled that would otherwise fail with unused variable warnings Subscribers: nemanjai, hiraditya, kbarton, MaskRay, jsji, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69123
  21. [asan] Update Windows test expectations for LLVM's MS demangler After r375041 llvm-symbolizer uses it for demangling instead of UnDecorateSymbolName. LLVM puts spaces after commas while Microsoft does not.
  22. Revert [lit] Synthesize artificial deadline Python on Windows raises this OverflowError: gotit = waiter.acquire(True, timeout) OverflowError: timestamp too large to convert to C _PyTime_t So it seems this API behave the same way on every OS. Also reverts the dependent commit a660dc590a5e8dafa1ba6ed56447ede151d17bd9.
  23. [PowerPC] add tests for popcount with zext; NFC
  24. [IndVars] Split loop predication out of optimizeLoopExits [NFC] In the process of writing D69009, I realized we have two distinct sets of invariants within this single function, and basically no shared logic. The optimize loop exit transforms (including the new one in D69009) only care about *analyzeable* exits. Loop predication, on the other hand, has to reason about *all* exits. At the moment, we have the property (due to the requirement for an exact btc) that all exits are analyzeable, but that will likely change in the future as we add widenable condition support.
  25. [codeview] Workaround for PR43479, don't re-emit instr labels Summary: In the long run we should come up with another mechanism for marking call instructions as heap allocation sites, and remove this workaround. For now, we've had two bug reports about this, so let's apply this workaround. SLH (the other client of instruction labels) probably has the same bug, but the solution there is more likely to be to mark the call instruction as not duplicatable, which doesn't work for debug info. Reviewers: akhuang Subscribers: aprantl, hiraditya, aganea, chandlerc, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69068
  26. Revert [Sanitizers] Add support for RISC-V 64-bit This reverts r375132 (git commit 00bbe990c5d4472d5413479a539b3d6edbb3ca7a)
  27. [NFC][InstCombine] Tests for "fold variable mask before variable shift-of-trunc" (PR42563) https://bugs.llvm.org/show_bug.cgi?id=42563
  28. [OPENMP]Improve use of the global tid parameter. If we can determined, that the global tid parameter can be used in the function, better to use it rather than calling __kmpc_global_thread_num function.
  29. [IndVars] Factor out a helper function for readability [NFC]
  30. [Sanitizers] Add support for RISC-V 64-bit Summary: This has been tested with gcc trunk on openSUSE Tumbleweed on the HiFive Unleashed. Patch by Andreas Schwab (schwab) Reviewers: luismarques Reviewed By: luismarques Subscribers: mhorne, emaste, luismarques, asb, mgorny, fedor.sergeev, simoncook, kito-cheng, shiva0217, rogfer01, rkruppe, lenary, s.egerton, #sanitizers, llvm-commits Tags: #llvm, #sanitizers Differential Revision: https://reviews.llvm.org/D66870
  31. [lit] Move computation of deadline up into base class
  32. [lit] Synthesize artificial deadline We always want to use a deadline when calling `result.await`. Let's synthesize an artificial deadline (positive infinity) to simplify code and do less busy waiting.
  33. [lit] Create derived classes for serial/parallel test runs The hope is that with a little OO we can nicely factor out the differences.
  34. [ObjC] Diagnose implicit type coercion from ObjC 'Class' to object pointer types. For example, in Objective-C mode, the initialization of 'x' in: ``` @implementation MyType + (void)someClassMethod { MyType *x = self; } @end ``` is correctly diagnosed with an incompatible-pointer-types warning, but in Objective-C++ mode, it is not diagnosed at all -- even though incompatible pointer conversions generally become an error in C++. This patch fixes that oversight, allowing implicit conversions involving Class only to/from unqualified-id, and between qualified and unqualified Class, where the protocols are compatible. Note that this does change some behaviors in Objective-C, as well, as shown by the modified tests. Of particular note is that assignment from from 'Class<MyProtocol>' to 'id<MyProtocol>' now warns. (Despite appearances, those are not compatible types. 'Class<MyProtocol>' is not expected to have instance methods defined by 'MyProtocol', while 'id<MyProtocol>' is.) Differential Revision: https://reviews.llvm.org/D67983
  35. [ObjC] Add some additional test cases around pointer conversions. This is especially important for Objective-C++, which is entirely missing this testing at the moment. This annotates with "FIXME" the cases which I change in the next patch -- I primarily wanted to document the current state of things so that the effect of the code change is made clear. Differential Revision: https://reviews.llvm.org/D67982
  36. Revert r375114: "[lit] Make internal diff work in pipelines" This series of patches still breaks a Windows bot.
  37. Revert r375116: "[lit] Extend internal diff to support `-` argument" This series of patches still breaks a Windows bot.
  38. [OPENMP]Fix thread id passed to outlined region in sequential parallel regions. The real global thread id must be passed to the outlined region instead of the zero thread id.
  39. [OpenCL] Preserve addrspace in CGClass (PR43145) PR43145 revealed two places where Clang was attempting to create a bitcast without considering the address space of class types during C++ class code generation. Differential Revision: https://reviews.llvm.org/D68403
  40. [clangd] Use our own relation kind. Summary: Move the RelationKind from Serialization.h to Relation.h. This patch doesn't introduce any breaking changes. Reviewers: kadircet Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68981
  41. [lit] Extend internal diff to support `-` argument When using lit's internal shell, RUN lines like the following accidentally execute an external `diff` instead of lit's internal `diff`: ``` # RUN: program | diff file - ``` Such cases exist now, in `clang/test/Analysis` for example. We are preparing patches to ensure lit's internal `diff` is called in such cases, which will then fail because lit's internal `diff` doesn't recognize `-` as a command-line option. This patch adds support for `-` to mean stdin. Reviewed By: probinson, rnk Differential Revision: https://reviews.llvm.org/D67643
  42. [lit] Make internal diff work in pipelines When using lit's internal shell, RUN lines like the following accidentally execute an external `diff` instead of lit's internal `diff`: ``` # RUN: program | diff file - # RUN: not diff file1 file2 | FileCheck %s ``` Such cases exist now, in `clang/test/Analysis` for example. We are preparing patches to ensure lit's internal `diff` is called in such cases, which will then fail because lit's internal `diff` cannot currently be used in pipelines and doesn't recognize `-` as a command-line option. To enable pipelines, this patch moves lit's `diff` implementation into an out-of-process script, similar to lit's `cat` implementation. A follow-up patch will implement `-` to mean stdin. Reviewed By: probinson, stella.stamenova Differential Revision: https://reviews.llvm.org/D66574
  43. [AIX] TOC pseudo expansion for 64bit large + 64bit small + 32bit large models This patch provides support for peudo ops including ADDIStocHA8, ADDIStocHA, LWZtocL, LDtoc, LDtocL for AIX, lowering them from MIR to assembly. Differential Revision: https://reviews.llvm.org/D68341
  44. [OpenCL] Add doc to describe OpenCL support The idea of this page is to document work in progress functionality and also describe the plan of future development work. Patch by Anastasia Stulova. Differential Revision: https://reviews.llvm.org/D69072
  45. [mips] [builtins] Remove clear_mips_cache Differential Revision: https://reviews.llvm.org/D69021
  46. [AMDGPU] Improve code size cost model Summary: Added estimation for zero size insertelement, extractelement and llvm.fabs operators. Updated inline/unroll parameters default values. Reviewers: rampitec, arsenm Reviewed By: arsenm Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68881
  47. [ARM][MVE] Enable truncating masked stores Allow us to generate truncating masked store which take v4i32 and v8i16 vectors and can store to v4i8, v4i16 and v8i8 and memory. Removed support for unaligned masked stores. Differential Revision: https://reviews.llvm.org/D68461
  48. [docs][llvm-ar] Fix option:: O after r375106 docs-llvm-html fails => unknown option: O There are lots of formatting issues in the file but they will be fixed by D68998.
  49. [llvm-ar] Implement the O modifier: display member offsets inside the archive Since GNU ar 2.31, the 't' operation prints member offsets beside file names if the 'O' modifier is specified. 'O' is ignored for thin archives. Reviewed By: gbreynoo, ruiu Differential Revision: https://reviews.llvm.org/D69087
  50. [llvm-objcopy] --add-symbol: fix crash if SHT_SYMTAB does not exist Exposed by D69041. If SHT_SYMTAB does not exist, ELFObjcopy.cpp:handleArgs will crash due to a null pointer dereference. for (const NewSymbolInfo &SI : Config.ELF->SymbolsToAdd) { ... Obj.SymbolTable->addSymbol( Fix this by creating .symtab and .strtab on demand in ELFBuilder<ELFT>::readSections, if --add-symbol is specified. Reviewed By: grimar Differential Revision: https://reviews.llvm.org/D69093
  51. Include leading attributes in DeclStmt's SourceRange Differential Revision: https://reviews.llvm.org/D68581
  52. JumpThreadingPass::UnfoldSelectInstr - silence static analyzer dyn_cast<> null dereference warning. NFCI. The static analyzer is warning about a potential null dereference, but we should be able to use cast<> directly and if not assert will fire for us.
  53. clang-tidy - 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.
  54. SemaExprCXX - 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.
  55. [LoopIdiom] BCmp: check, not assert that loop exits exit out of the loop (PR43687) We can't normally stumble into that assertion because a tautological *conditional* `br` in loop body is required, one that always branches to loop latch. But that should have been always folded to an unconditional branch before we get it. But that is not guaranteed if the pass is run standalone. So let's just promote the assertion into a proper check. Fixes https://bugs.llvm.org/show_bug.cgi?id=43687
  56. SemaDeclObjC - 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.
  57. [llvm-readobj] - Refine the LLVM-style output to be consistent. Our LLVM-style output was inconsistent. This patch changes the output in the following way: SHT_GNU_verdef { -> VersionDefinitions [ SHT_GNU_verneed { -> VersionRequirements [ Version symbols [ -> VersionSymbols [ EH_FRAME Header [ -> EHFrameHeader { Differential revision: https://reviews.llvm.org/D68636
  58. Reland: Dead Virtual Function Elimination Remove dead virtual functions from vtables with replaceNonMetadataUsesWith, so that CGProfile metadata gets cleaned up correctly. Original commit message: Currently, it is hard for the compiler to remove unused C++ virtual functions, because they are all referenced from vtables, which are referenced by constructors. This means that if the constructor is called from any live code, then we keep every virtual function in the final link, even if there are no call sites which can use it. This patch allows unused virtual functions to be removed during LTO (and regular compilation in limited circumstances) by using type metadata to match virtual function call sites to the vtable slots they might load from. This information can then be used in the global dead code elimination pass instead of the references from vtables to virtual functions, to more accurately determine which functions are reachable. To make this transformation safe, I have changed clang's code-generation to always load virtual function pointers using the llvm.type.checked.load intrinsic, instead of regular load instructions. I originally tried writing this using clang's existing code-generation, which uses the llvm.type.test and llvm.assume intrinsics after doing a normal load. However, it is possible for optimisations to obscure the relationship between the GEP, load and llvm.type.test, causing GlobalDCE to fail to find virtual function call sites. The existing linkage and visibility types don't accurately describe the scope in which a virtual call could be made which uses a given vtable. This is wider than the visibility of the type itself, because a virtual function call could be made using a more-visible base class. I've added a new !vcall_visibility metadata type to represent this, described in TypeMetadata.rst. The internalization pass and libLTO have been updated to change this metadata when linking is performed. This doesn't currently work with ThinLTO, because it needs to see every call to llvm.type.checked.load in the linkage unit. It might be possible to extend this optimisation to be able to use the ThinLTO summary, as was done for devirtualization, but until then that combination is rejected in the clang driver. To test this, I've written a fuzzer which generates random C++ programs with complex class inheritance graphs, and virtual functions called through object and function pointers of different types. The programs are spread across multiple translation units and DSOs to test the different visibility restrictions. I've also tried doing bootstrap builds of LLVM to test this. This isn't ideal, because only classes in anonymous namespaces can be optimised with -fvisibility=default, and some parts of LLVM (plugins and bugpoint) do not work correctly with -fvisibility=hidden. However, there are only 12 test failures when building with -fvisibility=hidden (and an unmodified compiler), and this change does not cause any new failures for either value of -fvisibility. On the 7 C++ sub-benchmarks of SPEC2006, this gives a geomean code-size reduction of ~6%, over a baseline compiled with "-O2 -flto -fvisibility=hidden -fwhole-program-vtables". The best cases are reductions of ~14% in 450.soplex and 483.xalancbmk, and there are no code size increases. I've also run this on a set of 8 mbed-os examples compiled for Armv7M, which show a geomean size reduction of ~3%, again with no size increases. I had hoped that this would have no effect on performance, which would allow it to awlays be enabled (when using -fwhole-program-vtables). However, the changes in clang to use the llvm.type.checked.load intrinsic are causing ~1% performance regression in the C++ parts of SPEC2006. It should be possible to recover some of this perf loss by teaching optimisations about the llvm.type.checked.load intrinsic, which would make it worth turning this on by default (though it's still dependent on -fwhole-program-vtables). Differential revision: https://reviews.llvm.org/D63932
  59. Try to fix the assert in Alignment::alignAddr to work on 32-bit Hopefully fixing the AlignmentDeathTest.AlignAddr failures (e.g. at http://lab.llvm.org:8011/builders/clang-cmake-armv7-quick/builds/10925)
  60. [Analysis] Don't assume that unsigned overflow can't happen in EmitGEPOffset (PR42699) Summary: Currently when computing a GEP offset using the function EmitGEPOffset for the following instruction getelementptr inbounds i32, i32* %p, i64 %offs we get mul nuw i64 %offs, 4 Unfortunately we cannot assume that unsigned wrapping won't happen here because %offs is allowed to be negative. Making such assumptions can lead to miscompilations: see the new test test24_neg_offs in InstCombine/icmp.ll. Without the patch InstCombine would generate the following comparison: icmp eq i64 %offs, 4611686018427387902; 0x3ffffffffffffffe Whereas the correct value to compare with is -2. This patch replaces the NUW flag with NSW in the multiplication instructions generated by EmitGEPOffset and adjusts the test suite. https://bugs.llvm.org/show_bug.cgi?id=42699 Reviewers: chandlerc, craig.topper, ostannard, lebedev.ri, spatel, efriedma, nlopes, aqjune Reviewed By: lebedev.ri Subscribers: reames, lebedev.ri, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68342
  61. Revert r374931 "[llvm-objdump] Use a counter for llvm-objdump -h instead of the section index." This broke llvm-objdump in 32-bit builds, see e.g. http://lab.llvm.org:8011/builders/clang-cmake-armv7-quick/builds/10925 > Summary: > When listing the index in `llvm-objdump -h`, use a zero-based counter instead of the actual section index (e.g. shdr->sh_index for ELF). > > While this is effectively a noop for now (except one unit test for XCOFF), the index values will change in a future patch that filters certain sections out (e.g. symbol tables). See D68669 for more context. Note: the test case in `test/tools/llvm-objdump/X86/section-index.s` already covers the case of incrementing the section index counter when sections are skipped. > > Reviewers: grimar, jhenderson, espindola > > Reviewed By: grimar > > Subscribers: emaste, sbc100, arichardson, aheejin, arphaman, seiya, llvm-commits, MaskRay > > Tags: #llvm > > Differential Revision: https://reviews.llvm.org/D68848
  62. [ARM][MVE] Change VPST to use, not def, VPR Unlike VPT, VPST just uses the current value of VPR.P0. Differential Revision: https://reviews.llvm.org/D69037
  63. [DFAPacketizer] Use DFAEmitter. NFC. Summary: This is a NFC change that removes the NFA->DFA construction and emission logic from DFAPacketizerEmitter and instead uses the generic DFAEmitter logic. This allows DFAPacketizer to use the Automaton class from Support and remove a bunch of logic there too. After this patch, DFAPacketizer is mostly logic for grepping Itineraries and collecting functional units, with no state machine logic. This will allow us to modernize by removing the 16-functional-unit limit and supporting non-itinerary functional units. This is all for followup patches. Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68992
  64. [DAGCombine][ARM] Enable extending masked loads Add generic DAG combine for extending masked loads. Allow us to generate sext/zext masked loads which can access v4i8, v8i8 and v4i16 memory to produce v4i32, v8i16 and v4i32 respectively. Differential Revision: https://reviews.llvm.org/D68337
  65. [Alignment][NFC] Use Align for TargetFrameLowering/Subtarget 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: jholewinski, arsenm, dschuff, jyknight, dylanmckay, sdardis, nemanjai, jvesely, nhaehnle, sbc100, jgravelle-google, hiraditya, aheejin, kbarton, fedor.sergeev, asb, rbar, johnrusso, simoncook, apazos, sabuasal, niosHD, jrtc27, MaskRay, zzheng, edward-jones, atanasyan, rogfer01, MartinMosbeck, brucehoult, the_o, PkmX, jocewei, jsji, Jim, lenary, s.egerton, pzheng, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68993
  66. [ThinLTO] Import virtual method with single implementation in hybrid mode Differential revision: https://reviews.llvm.org/D68782
  67. [llvm-ar] Simplify and make two global variables static. NFC
  68. Revert "Include sanitize blacklist and other extra deps as part of scan-deps output" This test is failing on Windows bots, revert for now (will check the right fix and retry the patch). Summary: This reverts commit 962ca076e51c25a7a08f4e0d329c65328a635bdb. Reviewers: Bigcheese, jkorous, arphaman Subscribers: dexonsmith, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D69079
Revision 375180 by dblaikie:
DebugInfo: Remove unused parameter (from DwarfDebug.cpp:emitListsTableHeaderStart)
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 375179 by efriedma:
[ARM] Fix arm_neon.h with -flax-vector-conversions=none, part 3

It's completely impossible to check that I've actually found all the
issues, due to the use of macros in arm_neon.h, but hopefully this time
it'll take more than a few hours for someone to find another issue.

I have no idea why, but apparently there's a rule that some, but not
all, builtins which should take an fp16 vector actually take an int8
vector as an argument.  Fix this, and add test coverage.

Differential Revision: https://reviews.llvm.org/D68838
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/CodeGen/aarch64-v8.2a-neon-intrinsics.c (diff)clang.src/test/CodeGen/aarch64-v8.2a-neon-intrinsics.c
The file was modified/cfe/trunk/utils/TableGen/NeonEmitter.cpp (diff)clang.src/utils/TableGen/NeonEmitter.cpp
Revision 375178 by rupprecht:
Reland [llvm-objdump] Use a counter for llvm-objdump -h instead of the section index.

This relands r374931 (reverted in r375088). It fixes 32-bit builds by using the right format string specifier for uint64_t (PRIu64) instead of `%d`.

Original description:

When listing the index in `llvm-objdump -h`, use a zero-based counter instead of the actual section index (e.g. shdr->sh_index for ELF).

While this is effectively a noop for now (except one unit test for XCOFF), the index values will change in a future patch that filters certain sections out (e.g. symbol tables). See D68669 for more context. Note: the test case in `test/tools/llvm-objdump/X86/section-index.s` already covers the case of incrementing the section index counter when sections are skipped.

Reviewers: grimar, jhenderson, espindola

Reviewed By: grimar

Subscribers: emaste, sbc100, arichardson, aheejin, arphaman, seiya, llvm-commits, MaskRay

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68848
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-objdump/xcoff-section-headers.test (diff)llvm.src/test/tools/llvm-objdump/xcoff-section-headers.test
The file was modified/llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp (diff)llvm.src/tools/llvm-objdump/llvm-objdump.cpp
The file was modified/llvm/trunk/tools/llvm-objdump/llvm-objdump.h (diff)llvm.src/tools/llvm-objdump/llvm-objdump.h
Revision 375177 by sdmitriev:
[clang-offload-wrapper][NFC] Use captured name of the entry type in LIT test

Differential Revision: https://reviews.llvm.org/D69140
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/Driver/clang-offload-wrapper.c (diff)clang.src/test/Driver/clang-offload-wrapper.c
Revision 375176 by dhinton:
[Error] Make llvm::cantFail include the original error messages

Summary:
The current implementation eats the current errors and just outputs
the message parameter passed to llvm::cantFail.  This change appends
the original error message(s), so the user can see exactly why
cantFail failed.  New logic is conditional on NDEBUG.

Reviewed By: lhames

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D69057
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Support/Error.h (diff)llvm.src/include/llvm/Support/Error.h
The file was modified/llvm/trunk/unittests/Support/ErrorTest.cpp (diff)llvm.src/unittests/Support/ErrorTest.cpp
Revision 375175 by rampitec:
[AMDGPU] drop getIsFP td helper

We already have isFloatType helper, and they are out of sync.
Drop one and merge the type list.

Differential Revision: https://reviews.llvm.org/D69138
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/BUFInstructions.td (diff)llvm.src/lib/Target/AMDGPU/BUFInstructions.td
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/lib/Target/AMDGPU/SIInstrInfo.td (diff)llvm.src/lib/Target/AMDGPU/SIInstrInfo.td
Revision 375171 by yln:
[lit] Move computation of deadline up into base class
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/lit/run.py (diff)llvm.src/utils/lit/lit/run.py
Revision 375169 by rupprecht:
[llvm-objcopy] Add support for shell wildcards

Summary: GNU objcopy accepts the --wildcard flag to allow wildcard matching on symbol-related flags. (Note: it's implicitly true for section flags).

The basic syntax is to allow *, ?, \, and [] which work similarly to how they work in a shell. Additionally, starting a wildcard with ! causes that wildcard to prevent it from matching a flag.

Use an updated GlobPattern in libSupport to handle these patterns. It does not fully match the `fnmatch` used by GNU objcopy since named character classes (e.g. `[[:digit:]]`) are not supported, but this should support most existing use cases (mostly just `*` is what's used anyway).

Reviewers: jhenderson, MaskRay, evgeny777, espindola, alexshap

Reviewed By: MaskRay

Subscribers: nickdesaulniers, emaste, arichardson, hiraditya, jakehehrlich, abrachet, seiya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D66613
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-objcopy.rst (diff)llvm.src/docs/CommandGuide/llvm-objcopy.rst
The file was modified/llvm/trunk/docs/CommandGuide/llvm-strip.rst (diff)llvm.src/docs/CommandGuide/llvm-strip.rst
The file was added/llvm/trunk/test/tools/llvm-objcopy/ELF/wildcard-flags.testllvm.src/test/tools/llvm-objcopy/ELF/wildcard-flags.test
The file was added/llvm/trunk/test/tools/llvm-objcopy/ELF/wildcard-syntax.testllvm.src/test/tools/llvm-objcopy/ELF/wildcard-syntax.test
The file was modified/llvm/trunk/tools/llvm-objcopy/CommonOpts.td (diff)llvm.src/tools/llvm-objcopy/CommonOpts.td
The file was modified/llvm/trunk/tools/llvm-objcopy/CopyConfig.cpp (diff)llvm.src/tools/llvm-objcopy/CopyConfig.cpp
The file was modified/llvm/trunk/tools/llvm-objcopy/CopyConfig.h (diff)llvm.src/tools/llvm-objcopy/CopyConfig.h
The file was modified/llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpp (diff)llvm.src/tools/llvm-objcopy/llvm-objcopy.cpp
Revision 375167 by abataev:
[OPENMP]Dow not emit warnings for uninitialized loop counters.

In OpenMP constructs all counters are initialized and we should not emit
warnings about uninitialized privatized loop control variables.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Analysis/CFG.cpp (diff)clang.src/lib/Analysis/CFG.cpp
The file was modified/cfe/trunk/test/Analysis/cfg-openmp.cpp (diff)clang.src/test/Analysis/cfg-openmp.cpp
The file was modified/cfe/trunk/test/OpenMP/teams_distribute_parallel_for_simd_linear_messages.cpp (diff)clang.src/test/OpenMP/teams_distribute_parallel_for_simd_linear_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/teams_distribute_simd_linear_messages.cpp (diff)clang.src/test/OpenMP/teams_distribute_simd_linear_messages.cpp
Revision 375166 by eugenis:
libhwasan initialisation include kernel syscall ABI relaxation

Summary:
Until now AArch64 development has been on patched kernels that have an always
on relaxed syscall ABI where tagged pointers are accepted.
The patches that have gone into the mainline kernel rely on each process opting
in to this relaxed ABI.

This commit adds code to choose that ABI into __hwasan_init.

The idea has already been agreed with one of the hwasan developers
(http://lists.llvm.org/pipermail/llvm-dev/2019-September/135328.html).

The patch ignores failures of `EINVAL` for Android, since there are older versions of the Android kernel that don't require this `prctl` or even have the relevant values.  Avoiding EINVAL will let the library run on them.

I've tested this on an AArch64 VM running a kernel that requires this
prctl, having compiled both with clang and gcc.

Patch by Matthew Malcomson.

Reviewers: eugenis, kcc, pcc

Reviewed By: eugenis

Subscribers: srhines, kristof.beyls, #sanitizers, llvm-commits

Tags: #sanitizers, #llvm

Differential Revision: https://reviews.llvm.org/D68794
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/hwasan/hwasan.cpp (diff)compiler-rt.src/lib/hwasan/hwasan.cpp
The file was modified/compiler-rt/trunk/lib/hwasan/hwasan.h (diff)compiler-rt.src/lib/hwasan/hwasan.h
The file was modified/compiler-rt/trunk/lib/hwasan/hwasan_linux.cpp (diff)compiler-rt.src/lib/hwasan/hwasan_linux.cpp
Revision 375165 by yln:
Reland "[lit] Synthesize artificial deadline"

We always want to use a deadline when calling `result.await`.  Let's
synthesize an artificial deadline (now plus one year) to simplify code
and do less busy waiting.

Thanks to Reid Kleckner for diagnosing that a deadline for of "positive
infinity" does not work with Python 3 anymore.  See commit:
4ff1e34b606d9a9fcfd8b8b5449a558315af94e5

I tested this patch with Python 2 and Python 3.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/lit/run.py (diff)llvm.src/utils/lit/lit/run.py
Revision 375162 by delcypher:
[Builtins] Downgrade duplicate source file warning from a fatal error to a warning.

This is a follow up to r375150 to unbreak the `clang-ppc64be-linux` bot.
The commit caused running the tests to fail due to

```
llvm-lit:
/home/buildbots/ppc64be-clang-multistage-test/clang-ppc64be-multistage/llvm/projects/compiler-rt/test/builtins/Unit/lit.cfg.py:116:
fatal: builtins_source_features contains duplicates:
['librt_has_divtc3']
```

This commit should be reverted once the build system bug for powerpc is
fixed.
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/test/builtins/Unit/lit.cfg.py (diff)compiler-rt.src/test/builtins/Unit/lit.cfg.py
Revision 375158 by spatel:
[x86] add test for setcc to shift transform; NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/setcc.ll (diff)llvm.src/test/CodeGen/X86/setcc.ll
Revision 375157 by smeenai:
[cmake] Pass external project source directories to sub-configures

We're passing LLVM_EXTERNAL_PROJECTS to cross-compilation configures, so
we also need to pass the source directories of those projects, otherwise
configuration can fail from not finding them.

Differential Revision: https://reviews.llvm.org/D69076
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/cmake/modules/CrossCompile.cmake (diff)llvm.src/cmake/modules/CrossCompile.cmake
Revision 375154 by alexshap:
[Object] Fix the return type of getOffset/getSize

Header64.offset/Header64.size are uint64_t, thus we should not
truncate them to unit32_t. Moreover, there are a number of places
where we sum the offset and the size (e.g. in various checks in MachOUniversal.cpp),
the truncation causes issues since the offset/size can perfectly fit into uint32_t,
while the sum overflows.

Differential revision: https://reviews.llvm.org/D69126

Test plan: make check-all
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Object/MachOUniversal.h (diff)llvm.src/include/llvm/Object/MachOUniversal.h
Revision 375153 by lebedevri:
[NFC][InstCombine] Some more preparatory cleanup for dropRedundantMaskingOfLeftShiftInput()
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
Revision 375152 by nemanjai:
[PowerPC] Turn on CR-Logical reducer pass

Quite a while ago, we implemented a pass that will reduce the number of
CR-logical operations we emit. It does so by converting a CR-logical operation
into a branch. We have kept this off by default because it seemed to cause a
significant regression with one benchmark.
However, that regression turned out to be due to a completely unrelated
reason - AADB introducing a self-copy that is a priority-setting nop and it was
just exacerbated by this pass.

Now that we understand the reason for the only degradation, we can turn this
pass on by default. We have long since fixed the cause for the degradation.

Differential revision: https://reviews.llvm.org/D52431
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCTargetMachine.cpp (diff)llvm.src/lib/Target/PowerPC/PPCTargetMachine.cpp
The file was modified/llvm/trunk/test/CodeGen/PowerPC/2008-10-28-f128-i32.ll (diff)llvm.src/test/CodeGen/PowerPC/2008-10-28-f128-i32.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/brcond.ll (diff)llvm.src/test/CodeGen/PowerPC/brcond.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/pr42492.ll (diff)llvm.src/test/CodeGen/PowerPC/pr42492.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/tocSaveInPrologue.ll (diff)llvm.src/test/CodeGen/PowerPC/tocSaveInPrologue.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/vec-min-max.ll (diff)llvm.src/test/CodeGen/PowerPC/vec-min-max.ll
Revision 375150 by delcypher:
[Builtins] Provide a mechanism to selectively disable tests based on whether an implementation is provided by a builtin library.

Summary:
If a platform removes some builtin implementations (e.g. via the
Darwin-excludes mechanism) then this can lead to test failures because
the test expects an implementation to be available.

To solve this lit features are added for each configuration based
on which sources are included in the builtin library. The features
are of the form `librt_has_<name>` where `<name>` is the name of the
source file with the file extension removed. This handles C and
assembly sources.

With the lit features in place it is possible to make certain tests
require them.

Example:

```
REQUIRES: librt_has_comparedf2
```

All top-level tests in `test/builtins/Unit` (i.e. not under
`arm`, `ppc`, and `riscv`) have been annotated with the appropriate
`REQUIRES: librt_has_*` statement.

rdar://problem/55520987

Reviewers: beanz, steven_wu, arphaman, dexonsmith, phosek, thakis

Subscribers: mgorny, #sanitizers, llvm-commits

Tags: #llvm, #sanitizers

Differential Revision: https://reviews.llvm.org/D68064
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/test/builtins/CMakeLists.txt (diff)compiler-rt.src/test/builtins/CMakeLists.txt
The file was modified/compiler-rt/trunk/test/builtins/Unit/absvdi2_test.c (diff)compiler-rt.src/test/builtins/Unit/absvdi2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/absvsi2_test.c (diff)compiler-rt.src/test/builtins/Unit/absvsi2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/absvti2_test.c (diff)compiler-rt.src/test/builtins/Unit/absvti2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/adddf3vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/adddf3vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/addsf3vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/addsf3vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/addtf3_test.c (diff)compiler-rt.src/test/builtins/Unit/addtf3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/addvdi3_test.c (diff)compiler-rt.src/test/builtins/Unit/addvdi3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/addvsi3_test.c (diff)compiler-rt.src/test/builtins/Unit/addvsi3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/addvti3_test.c (diff)compiler-rt.src/test/builtins/Unit/addvti3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/ashldi3_test.c (diff)compiler-rt.src/test/builtins/Unit/ashldi3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/ashlti3_test.c (diff)compiler-rt.src/test/builtins/Unit/ashlti3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/ashrdi3_test.c (diff)compiler-rt.src/test/builtins/Unit/ashrdi3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/ashrti3_test.c (diff)compiler-rt.src/test/builtins/Unit/ashrti3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/bswapdi2_test.c (diff)compiler-rt.src/test/builtins/Unit/bswapdi2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/bswapsi2_test.c (diff)compiler-rt.src/test/builtins/Unit/bswapsi2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/clear_cache_test.c (diff)compiler-rt.src/test/builtins/Unit/clear_cache_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/clzdi2_test.c (diff)compiler-rt.src/test/builtins/Unit/clzdi2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/clzsi2_test.c (diff)compiler-rt.src/test/builtins/Unit/clzsi2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/clzti2_test.c (diff)compiler-rt.src/test/builtins/Unit/clzti2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/cmpdi2_test.c (diff)compiler-rt.src/test/builtins/Unit/cmpdi2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/cmpti2_test.c (diff)compiler-rt.src/test/builtins/Unit/cmpti2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/comparedf2_test.c (diff)compiler-rt.src/test/builtins/Unit/comparedf2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/comparesf2_test.c (diff)compiler-rt.src/test/builtins/Unit/comparesf2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/cpu_model_test.c (diff)compiler-rt.src/test/builtins/Unit/cpu_model_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/ctzdi2_test.c (diff)compiler-rt.src/test/builtins/Unit/ctzdi2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/ctzsi2_test.c (diff)compiler-rt.src/test/builtins/Unit/ctzsi2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/ctzti2_test.c (diff)compiler-rt.src/test/builtins/Unit/ctzti2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/divdc3_test.c (diff)compiler-rt.src/test/builtins/Unit/divdc3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/divdf3_test.c (diff)compiler-rt.src/test/builtins/Unit/divdf3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/divdf3vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/divdf3vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/divdi3_test.c (diff)compiler-rt.src/test/builtins/Unit/divdi3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/divmodsi4_test.c (diff)compiler-rt.src/test/builtins/Unit/divmodsi4_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/divsc3_test.c (diff)compiler-rt.src/test/builtins/Unit/divsc3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/divsf3_test.c (diff)compiler-rt.src/test/builtins/Unit/divsf3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/divsf3vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/divsf3vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/divsi3_test.c (diff)compiler-rt.src/test/builtins/Unit/divsi3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/divtc3_test.c (diff)compiler-rt.src/test/builtins/Unit/divtc3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/divtf3_test.c (diff)compiler-rt.src/test/builtins/Unit/divtf3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/divti3_test.c (diff)compiler-rt.src/test/builtins/Unit/divti3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/divxc3_test.c (diff)compiler-rt.src/test/builtins/Unit/divxc3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/enable_execute_stack_test.c (diff)compiler-rt.src/test/builtins/Unit/enable_execute_stack_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/eqdf2vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/eqdf2vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/eqsf2vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/eqsf2vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/eqtf2_test.c (diff)compiler-rt.src/test/builtins/Unit/eqtf2_test.c
The file was removed/compiler-rt/trunk/test/builtins/Unit/extebdsfdf2vfp_test.ccompiler-rt.src/test/builtins/Unit/extebdsfdf2vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/extenddftf2_test.c (diff)compiler-rt.src/test/builtins/Unit/extenddftf2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/extendhfsf2_test.c (diff)compiler-rt.src/test/builtins/Unit/extendhfsf2_test.c
The file was added/compiler-rt/trunk/test/builtins/Unit/extendsfdf2vfp_test.ccompiler-rt.src/test/builtins/Unit/extendsfdf2vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/extendsftf2_test.c (diff)compiler-rt.src/test/builtins/Unit/extendsftf2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/ffsdi2_test.c (diff)compiler-rt.src/test/builtins/Unit/ffsdi2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/ffssi2_test.c (diff)compiler-rt.src/test/builtins/Unit/ffssi2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/ffsti2_test.c (diff)compiler-rt.src/test/builtins/Unit/ffsti2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixdfdi_test.c (diff)compiler-rt.src/test/builtins/Unit/fixdfdi_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixdfsivfp_test.c (diff)compiler-rt.src/test/builtins/Unit/fixdfsivfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixdfti_test.c (diff)compiler-rt.src/test/builtins/Unit/fixdfti_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixsfdi_test.c (diff)compiler-rt.src/test/builtins/Unit/fixsfdi_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixsfsivfp_test.c (diff)compiler-rt.src/test/builtins/Unit/fixsfsivfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixsfti_test.c (diff)compiler-rt.src/test/builtins/Unit/fixsfti_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixtfdi_test.c (diff)compiler-rt.src/test/builtins/Unit/fixtfdi_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixtfsi_test.c (diff)compiler-rt.src/test/builtins/Unit/fixtfsi_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixtfti_test.c (diff)compiler-rt.src/test/builtins/Unit/fixtfti_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixunsdfdi_test.c (diff)compiler-rt.src/test/builtins/Unit/fixunsdfdi_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixunsdfsi_test.c (diff)compiler-rt.src/test/builtins/Unit/fixunsdfsi_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixunsdfsivfp_test.c (diff)compiler-rt.src/test/builtins/Unit/fixunsdfsivfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixunsdfti_test.c (diff)compiler-rt.src/test/builtins/Unit/fixunsdfti_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixunssfdi_test.c (diff)compiler-rt.src/test/builtins/Unit/fixunssfdi_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixunssfsi_test.c (diff)compiler-rt.src/test/builtins/Unit/fixunssfsi_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixunssfsivfp_test.c (diff)compiler-rt.src/test/builtins/Unit/fixunssfsivfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixunssfti_test.c (diff)compiler-rt.src/test/builtins/Unit/fixunssfti_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixunstfdi_test.c (diff)compiler-rt.src/test/builtins/Unit/fixunstfdi_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixunstfsi_test.c (diff)compiler-rt.src/test/builtins/Unit/fixunstfsi_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixunstfti_test.c (diff)compiler-rt.src/test/builtins/Unit/fixunstfti_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixunsxfdi_test.c (diff)compiler-rt.src/test/builtins/Unit/fixunsxfdi_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixunsxfsi_test.c (diff)compiler-rt.src/test/builtins/Unit/fixunsxfsi_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixunsxfti_test.c (diff)compiler-rt.src/test/builtins/Unit/fixunsxfti_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixxfdi_test.c (diff)compiler-rt.src/test/builtins/Unit/fixxfdi_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixxfti_test.c (diff)compiler-rt.src/test/builtins/Unit/fixxfti_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floatdidf_test.c (diff)compiler-rt.src/test/builtins/Unit/floatdidf_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floatdisf_test.c (diff)compiler-rt.src/test/builtins/Unit/floatdisf_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floatditf_test.c (diff)compiler-rt.src/test/builtins/Unit/floatditf_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floatdixf_test.c (diff)compiler-rt.src/test/builtins/Unit/floatdixf_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floatsidfvfp_test.c (diff)compiler-rt.src/test/builtins/Unit/floatsidfvfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floatsisfvfp_test.c (diff)compiler-rt.src/test/builtins/Unit/floatsisfvfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floatsitf_test.c (diff)compiler-rt.src/test/builtins/Unit/floatsitf_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floattidf_test.c (diff)compiler-rt.src/test/builtins/Unit/floattidf_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floattisf_test.c (diff)compiler-rt.src/test/builtins/Unit/floattisf_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floattitf_test.c (diff)compiler-rt.src/test/builtins/Unit/floattitf_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floattixf_test.c (diff)compiler-rt.src/test/builtins/Unit/floattixf_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floatundidf_test.c (diff)compiler-rt.src/test/builtins/Unit/floatundidf_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floatundisf_test.c (diff)compiler-rt.src/test/builtins/Unit/floatundisf_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floatunditf_test.c (diff)compiler-rt.src/test/builtins/Unit/floatunditf_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floatundixf_test.c (diff)compiler-rt.src/test/builtins/Unit/floatundixf_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floatunsitf_test.c (diff)compiler-rt.src/test/builtins/Unit/floatunsitf_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floatunssidfvfp_test.c (diff)compiler-rt.src/test/builtins/Unit/floatunssidfvfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floatunssisfvfp_test.c (diff)compiler-rt.src/test/builtins/Unit/floatunssisfvfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floatuntidf_test.c (diff)compiler-rt.src/test/builtins/Unit/floatuntidf_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floatuntisf_test.c (diff)compiler-rt.src/test/builtins/Unit/floatuntisf_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floatuntitf_test.c (diff)compiler-rt.src/test/builtins/Unit/floatuntitf_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floatuntixf_test.c (diff)compiler-rt.src/test/builtins/Unit/floatuntixf_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/gedf2vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/gedf2vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/gesf2vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/gesf2vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/getf2_test.c (diff)compiler-rt.src/test/builtins/Unit/getf2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/gtdf2vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/gtdf2vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/gtsf2vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/gtsf2vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/gttf2_test.c (diff)compiler-rt.src/test/builtins/Unit/gttf2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/ledf2vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/ledf2vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/lesf2vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/lesf2vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/letf2_test.c (diff)compiler-rt.src/test/builtins/Unit/letf2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/lit.cfg.py (diff)compiler-rt.src/test/builtins/Unit/lit.cfg.py
The file was modified/compiler-rt/trunk/test/builtins/Unit/lit.site.cfg.py.in (diff)compiler-rt.src/test/builtins/Unit/lit.site.cfg.py.in
The file was modified/compiler-rt/trunk/test/builtins/Unit/lshrdi3_test.c (diff)compiler-rt.src/test/builtins/Unit/lshrdi3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/lshrti3_test.c (diff)compiler-rt.src/test/builtins/Unit/lshrti3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/ltdf2vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/ltdf2vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/ltsf2vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/ltsf2vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/lttf2_test.c (diff)compiler-rt.src/test/builtins/Unit/lttf2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/moddi3_test.c (diff)compiler-rt.src/test/builtins/Unit/moddi3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/modsi3_test.c (diff)compiler-rt.src/test/builtins/Unit/modsi3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/modti3_test.c (diff)compiler-rt.src/test/builtins/Unit/modti3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/muldc3_test.c (diff)compiler-rt.src/test/builtins/Unit/muldc3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/muldf3vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/muldf3vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/muldi3_test.c (diff)compiler-rt.src/test/builtins/Unit/muldi3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/mulodi4_test.c (diff)compiler-rt.src/test/builtins/Unit/mulodi4_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/mulosi4_test.c (diff)compiler-rt.src/test/builtins/Unit/mulosi4_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/muloti4_test.c (diff)compiler-rt.src/test/builtins/Unit/muloti4_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/mulsc3_test.c (diff)compiler-rt.src/test/builtins/Unit/mulsc3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/mulsf3vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/mulsf3vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/multc3_test.c (diff)compiler-rt.src/test/builtins/Unit/multc3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/multf3_test.c (diff)compiler-rt.src/test/builtins/Unit/multf3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/multi3_test.c (diff)compiler-rt.src/test/builtins/Unit/multi3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/mulvdi3_test.c (diff)compiler-rt.src/test/builtins/Unit/mulvdi3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/mulvsi3_test.c (diff)compiler-rt.src/test/builtins/Unit/mulvsi3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/mulvti3_test.c (diff)compiler-rt.src/test/builtins/Unit/mulvti3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/mulxc3_test.c (diff)compiler-rt.src/test/builtins/Unit/mulxc3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/nedf2vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/nedf2vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/negdf2vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/negdf2vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/negdi2_test.c (diff)compiler-rt.src/test/builtins/Unit/negdi2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/negsf2vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/negsf2vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/negti2_test.c (diff)compiler-rt.src/test/builtins/Unit/negti2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/negvdi2_test.c (diff)compiler-rt.src/test/builtins/Unit/negvdi2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/negvsi2_test.c (diff)compiler-rt.src/test/builtins/Unit/negvsi2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/negvti2_test.c (diff)compiler-rt.src/test/builtins/Unit/negvti2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/nesf2vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/nesf2vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/netf2_test.c (diff)compiler-rt.src/test/builtins/Unit/netf2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/paritydi2_test.c (diff)compiler-rt.src/test/builtins/Unit/paritydi2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/paritysi2_test.c (diff)compiler-rt.src/test/builtins/Unit/paritysi2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/parityti2_test.c (diff)compiler-rt.src/test/builtins/Unit/parityti2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/popcountdi2_test.c (diff)compiler-rt.src/test/builtins/Unit/popcountdi2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/popcountsi2_test.c (diff)compiler-rt.src/test/builtins/Unit/popcountsi2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/popcountti2_test.c (diff)compiler-rt.src/test/builtins/Unit/popcountti2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/powidf2_test.c (diff)compiler-rt.src/test/builtins/Unit/powidf2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/powisf2_test.c (diff)compiler-rt.src/test/builtins/Unit/powisf2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/powitf2_test.c (diff)compiler-rt.src/test/builtins/Unit/powitf2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/powixf2_test.c (diff)compiler-rt.src/test/builtins/Unit/powixf2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/subdf3vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/subdf3vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/subsf3vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/subsf3vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/subtf3_test.c (diff)compiler-rt.src/test/builtins/Unit/subtf3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/subvdi3_test.c (diff)compiler-rt.src/test/builtins/Unit/subvdi3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/subvsi3_test.c (diff)compiler-rt.src/test/builtins/Unit/subvsi3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/subvti3_test.c (diff)compiler-rt.src/test/builtins/Unit/subvti3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/trampoline_setup_test.c (diff)compiler-rt.src/test/builtins/Unit/trampoline_setup_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/truncdfhf2_test.c (diff)compiler-rt.src/test/builtins/Unit/truncdfhf2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/truncdfsf2_test.c (diff)compiler-rt.src/test/builtins/Unit/truncdfsf2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/truncdfsf2vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/truncdfsf2vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/truncsfhf2_test.c (diff)compiler-rt.src/test/builtins/Unit/truncsfhf2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/trunctfdf2_test.c (diff)compiler-rt.src/test/builtins/Unit/trunctfdf2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/trunctfsf2_test.c (diff)compiler-rt.src/test/builtins/Unit/trunctfsf2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/ucmpdi2_test.c (diff)compiler-rt.src/test/builtins/Unit/ucmpdi2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/ucmpti2_test.c (diff)compiler-rt.src/test/builtins/Unit/ucmpti2_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/udivdi3_test.c (diff)compiler-rt.src/test/builtins/Unit/udivdi3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/udivmoddi4_test.c (diff)compiler-rt.src/test/builtins/Unit/udivmoddi4_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/udivmodsi4_test.c (diff)compiler-rt.src/test/builtins/Unit/udivmodsi4_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/udivmodti4_test.c (diff)compiler-rt.src/test/builtins/Unit/udivmodti4_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/udivsi3_test.c (diff)compiler-rt.src/test/builtins/Unit/udivsi3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/udivti3_test.c (diff)compiler-rt.src/test/builtins/Unit/udivti3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/umoddi3_test.c (diff)compiler-rt.src/test/builtins/Unit/umoddi3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/umodsi3_test.c (diff)compiler-rt.src/test/builtins/Unit/umodsi3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/umodti3_test.c (diff)compiler-rt.src/test/builtins/Unit/umodti3_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/unorddf2vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/unorddf2vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/unordsf2vfp_test.c (diff)compiler-rt.src/test/builtins/Unit/unordsf2vfp_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/unordtf2_test.c (diff)compiler-rt.src/test/builtins/Unit/unordtf2_test.c
Revision 375149 by rupprecht:
Reapply r375051: [support] GlobPattern: add support for `\` and `[!...]`, and allow `]` in more places

Reland r375051 (reverted in r375052) after fixing lld tests on Windows in r375126 and r375131.

Original description: Update GlobPattern in libSupport to handle a few more cases. It does not fully match the `fnmatch` used by GNU objcopy since named character classes (e.g. `[[:digit:]]`) are not supported, but this should support most existing use cases (mostly just `*` is what's used anyway).

This will be used to implement the `--wildcard` flag in llvm-objcopy to be more compatible with GNU objcopy.

This is split off of D66613 to land the libSupport changes separately. The llvm-objcopy part will land soon.

Reviewers: jhenderson, MaskRay, evgeny777, espindola, alexshap

Reviewed By: MaskRay

Subscribers: nickdesaulniers, emaste, arichardson, hiraditya, jakehehrlich, abrachet, seiya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D66613
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Support/GlobPattern.h (diff)llvm.src/include/llvm/Support/GlobPattern.h
The file was modified/llvm/trunk/lib/Support/GlobPattern.cpp (diff)llvm.src/lib/Support/GlobPattern.cpp
The file was modified/llvm/trunk/unittests/Support/GlobPatternTest.cpp (diff)llvm.src/unittests/Support/GlobPatternTest.cpp
Revision 375148 by saugustine:
NFC: Fix variable only used in asserts by propagating the value.

Summary:
This fixes builds with assertions disabled that would otherwise
fail with unused variable warnings

Subscribers: nemanjai, hiraditya, kbarton, MaskRay, jsji, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D69123
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp (diff)llvm.src/lib/Target/PowerPC/PPCAsmPrinter.cpp
Revision 375147 by rnk:
[asan] Update Windows test expectations for LLVM's MS demangler

After r375041 llvm-symbolizer uses it for demangling instead of
UnDecorateSymbolName. LLVM puts spaces after commas while Microsoft does
not.
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/test/asan/TestCases/Windows/demangled_names.cpp (diff)compiler-rt.src/test/asan/TestCases/Windows/demangled_names.cpp
The file was modified/compiler-rt/trunk/test/asan/TestCases/invalid-pointer-pairs.cpp (diff)compiler-rt.src/test/asan/TestCases/invalid-pointer-pairs.cpp
Revision 375143 by rnk:
Revert [lit] Synthesize artificial deadline

Python on Windows raises this OverflowError:
      gotit = waiter.acquire(True, timeout)
  OverflowError: timestamp too large to convert to C _PyTime_t

So it seems this API behave the same way on every OS.

Also reverts the dependent commit a660dc590a5e8dafa1ba6ed56447ede151d17bd9.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/lit/run.py (diff)llvm.src/utils/lit/lit/run.py
Revision 375142 by spatel:
[PowerPC] add tests for popcount with zext; NFC
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/CodeGen/PowerPC/popcnt-zext.llllvm.src/test/CodeGen/PowerPC/popcnt-zext.ll
Revision 375138 by reames:
[IndVars] Split loop predication out of optimizeLoopExits [NFC]

In the process of writing D69009, I realized we have two distinct sets of invariants within this single function, and basically no shared logic.  The optimize loop exit transforms (including the new one in D69009) only care about *analyzeable* exits.  Loop predication, on the other hand, has to reason about *all* exits.  At the moment, we have the property (due to the requirement for an exact btc) that all exits are analyzeable, but that will likely change in the future as we add widenable condition support.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/IndVarSimplify.cpp (diff)llvm.src/lib/Transforms/Scalar/IndVarSimplify.cpp
Revision 375137 by rnk:
[codeview] Workaround for PR43479, don't re-emit instr labels

Summary:
In the long run we should come up with another mechanism for marking
call instructions as heap allocation sites, and remove this workaround.
For now, we've had two bug reports about this, so let's apply this
workaround. SLH (the other client of instruction labels) probably has
the same bug, but the solution there is more likely to be to mark the
call instruction as not duplicatable, which doesn't work for debug info.

Reviewers: akhuang

Subscribers: aprantl, hiraditya, aganea, chandlerc, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D69068
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp (diff)llvm.src/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was added/llvm/trunk/test/CodeGen/X86/taildup-heapallocsite.llllvm.src/test/CodeGen/X86/taildup-heapallocsite.ll
Revision 375136 by lenary:
Revert [Sanitizers] Add support for RISC-V 64-bit

This reverts r375132 (git commit 00bbe990c5d4472d5413479a539b3d6edbb3ca7a)
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/cmake/config-ix.cmake (diff)compiler-rt.src/cmake/config-ix.cmake
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cpp (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_linux.cpp
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform.h (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_platform.h
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_linux.cpp (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_platform_limits_linux.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 375135 by lebedevri:
[NFC][InstCombine] Tests for "fold variable mask before variable shift-of-trunc" (PR42563)

https://bugs.llvm.org/show_bug.cgi?id=42563
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-a.llllvm.src/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-a.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-b.llllvm.src/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-b.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-c.llllvm.src/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-c.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-d.llllvm.src/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-d.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-e.llllvm.src/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-e.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-a.llllvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-a.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-b.llllvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-b.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-c.llllvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-c.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-d.llllvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-d.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-e.llllvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-e.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-f.llllvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-f.ll
Revision 375134 by abataev:
[OPENMP]Improve use of the global tid parameter.

If we can determined, that the global tid parameter can be used in the
function, better to use it rather than calling __kmpc_global_thread_num
function.
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/openmp_win_codegen.cpp (diff)clang.src/test/OpenMP/openmp_win_codegen.cpp
The file was modified/cfe/trunk/test/OpenMP/parallel_for_codegen.cpp (diff)clang.src/test/OpenMP/parallel_for_codegen.cpp
Revision 375133 by reames:
[IndVars] Factor out a helper function for readability [NFC]
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/IndVarSimplify.cpp (diff)llvm.src/lib/Transforms/Scalar/IndVarSimplify.cpp
Revision 375132 by lenary:
[Sanitizers] Add support for RISC-V 64-bit

Summary:
This has been tested with gcc trunk on openSUSE Tumbleweed on the HiFive Unleashed.

Patch by Andreas Schwab (schwab)

Reviewers: luismarques

Reviewed By: luismarques

Subscribers: mhorne, emaste, luismarques, asb, mgorny, fedor.sergeev, simoncook, kito-cheng, shiva0217, rogfer01, rkruppe, lenary, s.egerton, #sanitizers, llvm-commits

Tags: #llvm, #sanitizers

Differential Revision: https://reviews.llvm.org/D66870
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/cmake/config-ix.cmake (diff)compiler-rt.src/cmake/config-ix.cmake
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cpp (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_linux.cpp
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform.h (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_platform.h
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_linux.cpp (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_platform_limits_linux.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 375130 by yln:
[lit] Move computation of deadline up into base class
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/lit/run.py (diff)llvm.src/utils/lit/lit/run.py
Revision 375129 by yln:
[lit] Synthesize artificial deadline

We always want to use a deadline when calling `result.await`.  Let's
synthesize an artificial deadline (positive infinity) to simplify code
and do less busy waiting.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/lit/run.py (diff)llvm.src/utils/lit/lit/run.py
Revision 375128 by yln:
[lit] Create derived classes for serial/parallel test runs

The hope is that with a little OO we can nicely factor out the
differences.
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
Revision 375125 by jyknight:
[ObjC] Diagnose implicit type coercion from ObjC 'Class' to object
pointer types.

For example, in Objective-C mode, the initialization of 'x' in:
```
  @implementation MyType
  + (void)someClassMethod {
    MyType *x = self;
  }
  @end
```
is correctly diagnosed with an incompatible-pointer-types warning, but
in Objective-C++ mode, it is not diagnosed at all -- even though
incompatible pointer conversions generally become an error in C++.

This patch fixes that oversight, allowing implicit conversions
involving Class only to/from unqualified-id, and between qualified and
unqualified Class, where the protocols are compatible.

Note that this does change some behaviors in Objective-C, as well, as
shown by the modified tests.

Of particular note is that assignment from from 'Class<MyProtocol>' to
'id<MyProtocol>' now warns. (Despite appearances, those are not
compatible types. 'Class<MyProtocol>' is not expected to have instance
methods defined by 'MyProtocol', while 'id<MyProtocol>' is.)

Differential Revision: https://reviews.llvm.org/D67983
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/AST/ASTContext.cpp (diff)clang.src/lib/AST/ASTContext.cpp
The file was modified/cfe/trunk/lib/Sema/SemaExpr.cpp (diff)clang.src/lib/Sema/SemaExpr.cpp
The file was modified/cfe/trunk/test/SemaObjC/comptypes-1.m (diff)clang.src/test/SemaObjC/comptypes-1.m
The file was modified/cfe/trunk/test/SemaObjCXX/class-method-self.mm (diff)clang.src/test/SemaObjCXX/class-method-self.mm
The file was modified/cfe/trunk/test/SemaObjCXX/comptypes-1.mm (diff)clang.src/test/SemaObjCXX/comptypes-1.mm
The file was modified/cfe/trunk/test/SemaObjCXX/comptypes-7.mm (diff)clang.src/test/SemaObjCXX/comptypes-7.mm
The file was modified/cfe/trunk/test/SemaObjCXX/instancetype.mm (diff)clang.src/test/SemaObjCXX/instancetype.mm
Revision 375124 by jyknight:
[ObjC] Add some additional test cases around pointer conversions.

This is especially important for Objective-C++, which is entirely
missing this testing at the moment.

This annotates with "FIXME" the cases which I change in the next
patch -- I primarily wanted to document the current state of things so
that the effect of the code change is made clear.

Differential Revision: https://reviews.llvm.org/D67982
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/SemaObjC/class-method-self.m (diff)clang.src/test/SemaObjC/class-method-self.m
The file was modified/cfe/trunk/test/SemaObjC/comptypes-1.m (diff)clang.src/test/SemaObjC/comptypes-1.m
The file was modified/cfe/trunk/test/SemaObjC/comptypes-7.m (diff)clang.src/test/SemaObjC/comptypes-7.m
The file was added/cfe/trunk/test/SemaObjCXX/class-method-self.mmclang.src/test/SemaObjCXX/class-method-self.mm
The file was added/cfe/trunk/test/SemaObjCXX/comptypes-1.mmclang.src/test/SemaObjCXX/comptypes-1.mm
The file was added/cfe/trunk/test/SemaObjCXX/comptypes-7.mmclang.src/test/SemaObjCXX/comptypes-7.mm
The file was modified/cfe/trunk/test/SemaObjCXX/instancetype.mm (diff)clang.src/test/SemaObjCXX/instancetype.mm
Revision 375121 by jdenny:
Revert r375114: "[lit] Make internal diff work in pipelines"

This series of patches still breaks a Windows bot.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/lit/TestRunner.py (diff)llvm.src/utils/lit/lit/TestRunner.py
The file was removed/llvm/trunk/utils/lit/lit/builtin_commands/diff.pyllvm.src/utils/lit/lit/builtin_commands/diff.py
The file was added/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-error-0.txtllvm.src/utils/lit/tests/Inputs/shtest-shell/diff-error-0.txt
The file was removed/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-pipes.txtllvm.src/utils/lit/tests/Inputs/shtest-shell/diff-pipes.txt
The file was added/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-unified-error-0.txtllvm.src/utils/lit/tests/Inputs/shtest-shell/diff-unified-error-0.txt
The file was added/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-unified-error-1.txtllvm.src/utils/lit/tests/Inputs/shtest-shell/diff-unified-error-1.txt
The file was modified/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-unified.txt (diff)llvm.src/utils/lit/tests/Inputs/shtest-shell/diff-unified.txt
The file was modified/llvm/trunk/utils/lit/tests/max-failures.py (diff)llvm.src/utils/lit/tests/max-failures.py
The file was modified/llvm/trunk/utils/lit/tests/shtest-shell.py (diff)llvm.src/utils/lit/tests/shtest-shell.py
Revision 375120 by jdenny:
Revert r375116: "[lit] Extend internal diff to support `-` argument"

This series of patches still breaks a Windows bot.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/lit/builtin_commands/diff.py (diff)llvm.src/utils/lit/lit/builtin_commands/diff.py
The file was modified/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-encodings.txt (diff)llvm.src/utils/lit/tests/Inputs/shtest-shell/diff-encodings.txt
The file was modified/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-pipes.txt (diff)llvm.src/utils/lit/tests/Inputs/shtest-shell/diff-pipes.txt
The file was removed/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-r-error-7.txtllvm.src/utils/lit/tests/Inputs/shtest-shell/diff-r-error-7.txt
The file was removed/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-r-error-8.txtllvm.src/utils/lit/tests/Inputs/shtest-shell/diff-r-error-8.txt
The file was modified/llvm/trunk/utils/lit/tests/max-failures.py (diff)llvm.src/utils/lit/tests/max-failures.py
The file was modified/llvm/trunk/utils/lit/tests/shtest-shell.py (diff)llvm.src/utils/lit/tests/shtest-shell.py
Revision 375119 by abataev:
[OPENMP]Fix thread id passed to outlined region in sequential parallel
regions.

The real global thread id must be passed to the outlined region instead
of the zero thread id.
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/parallel_if_codegen.cpp (diff)clang.src/test/OpenMP/parallel_if_codegen.cpp
Revision 375118 by svenvh:
[OpenCL] Preserve addrspace in CGClass (PR43145)

PR43145 revealed two places where Clang was attempting to create a
bitcast without considering the address space of class types during
C++ class code generation.

Differential Revision: https://reviews.llvm.org/D68403
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGClass.cpp (diff)clang.src/lib/CodeGen/CGClass.cpp
The file was modified/cfe/trunk/test/CodeGenOpenCLCXX/addrspace-derived-base.cl (diff)clang.src/test/CodeGenOpenCLCXX/addrspace-derived-base.cl
Revision 375117 by hokein:
[clangd] Use our own relation kind.

Summary:
Move the RelationKind from Serialization.h to Relation.h. This patch doesn't
introduce any breaking changes.

Reviewers: kadircet

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68981
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/XRefs.cpp (diff)clang-tools-extra.src/clangd/XRefs.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/Index.h (diff)clang-tools-extra.src/clangd/index/Index.h
The file was modified/clang-tools-extra/trunk/clangd/index/MemIndex.cpp (diff)clang-tools-extra.src/clangd/index/MemIndex.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/MemIndex.h (diff)clang-tools-extra.src/clangd/index/MemIndex.h
The file was modified/clang-tools-extra/trunk/clangd/index/Relation.cpp (diff)clang-tools-extra.src/clangd/index/Relation.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/Relation.h (diff)clang-tools-extra.src/clangd/index/Relation.h
The file was modified/clang-tools-extra/trunk/clangd/index/Serialization.cpp (diff)clang-tools-extra.src/clangd/index/Serialization.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/Serialization.h (diff)clang-tools-extra.src/clangd/index/Serialization.h
The file was modified/clang-tools-extra/trunk/clangd/index/SymbolCollector.cpp (diff)clang-tools-extra.src/clangd/index/SymbolCollector.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/YAMLSerialization.cpp (diff)clang-tools-extra.src/clangd/index/YAMLSerialization.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/dex/Dex.cpp (diff)clang-tools-extra.src/clangd/index/dex/Dex.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/dex/Dex.h (diff)clang-tools-extra.src/clangd/index/dex/Dex.h
The file was modified/clang-tools-extra/trunk/clangd/unittests/BackgroundIndexTests.cpp (diff)clang-tools-extra.src/clangd/unittests/BackgroundIndexTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/DexTests.cpp (diff)clang-tools-extra.src/clangd/unittests/DexTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/FileIndexTests.cpp (diff)clang-tools-extra.src/clangd/unittests/FileIndexTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/IndexTests.cpp (diff)clang-tools-extra.src/clangd/unittests/IndexTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/SerializationTests.cpp (diff)clang-tools-extra.src/clangd/unittests/SerializationTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/SymbolCollectorTests.cpp (diff)clang-tools-extra.src/clangd/unittests/SymbolCollectorTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/TypeHierarchyTests.cpp (diff)clang-tools-extra.src/clangd/unittests/TypeHierarchyTests.cpp
The file was modified/llvm/trunk/include/llvm/ADT/DenseMapInfo.h (diff)llvm.src/include/llvm/ADT/DenseMapInfo.h
Revision 375116 by jdenny:
[lit] Extend internal diff to support `-` argument

When using lit's internal shell, RUN lines like the following
accidentally execute an external `diff` instead of lit's internal
`diff`:

```
# RUN: program | diff file -
```

Such cases exist now, in `clang/test/Analysis` for example.  We are
preparing patches to ensure lit's internal `diff` is called in such
cases, which will then fail because lit's internal `diff` doesn't
recognize `-` as a command-line option.  This patch adds support for
`-` to mean stdin.

Reviewed By: probinson, rnk

Differential Revision: https://reviews.llvm.org/D67643
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/lit/builtin_commands/diff.py (diff)llvm.src/utils/lit/lit/builtin_commands/diff.py
The file was modified/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-encodings.txt (diff)llvm.src/utils/lit/tests/Inputs/shtest-shell/diff-encodings.txt
The file was modified/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-pipes.txt (diff)llvm.src/utils/lit/tests/Inputs/shtest-shell/diff-pipes.txt
The file was added/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-r-error-7.txtllvm.src/utils/lit/tests/Inputs/shtest-shell/diff-r-error-7.txt
The file was added/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-r-error-8.txtllvm.src/utils/lit/tests/Inputs/shtest-shell/diff-r-error-8.txt
The file was modified/llvm/trunk/utils/lit/tests/max-failures.py (diff)llvm.src/utils/lit/tests/max-failures.py
The file was modified/llvm/trunk/utils/lit/tests/shtest-shell.py (diff)llvm.src/utils/lit/tests/shtest-shell.py
Revision 375114 by jdenny:
[lit] Make internal diff work in pipelines

When using lit's internal shell, RUN lines like the following
accidentally execute an external `diff` instead of lit's internal
`diff`:

```
# RUN: program | diff file -
# RUN: not diff file1 file2 | FileCheck %s
```

Such cases exist now, in `clang/test/Analysis` for example.  We are
preparing patches to ensure lit's internal `diff` is called in such
cases, which will then fail because lit's internal `diff` cannot
currently be used in pipelines and doesn't recognize `-` as a
command-line option.

To enable pipelines, this patch moves lit's `diff` implementation into
an out-of-process script, similar to lit's `cat` implementation.  A
follow-up patch will implement `-` to mean stdin.

Reviewed By: probinson, stella.stamenova

Differential Revision: https://reviews.llvm.org/D66574
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/lit/TestRunner.py (diff)llvm.src/utils/lit/lit/TestRunner.py
The file was added/llvm/trunk/utils/lit/lit/builtin_commands/diff.pyllvm.src/utils/lit/lit/builtin_commands/diff.py
The file was removed/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-error-0.txtllvm.src/utils/lit/tests/Inputs/shtest-shell/diff-error-0.txt
The file was added/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-pipes.txtllvm.src/utils/lit/tests/Inputs/shtest-shell/diff-pipes.txt
The file was removed/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-unified-error-0.txtllvm.src/utils/lit/tests/Inputs/shtest-shell/diff-unified-error-0.txt
The file was removed/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-unified-error-1.txtllvm.src/utils/lit/tests/Inputs/shtest-shell/diff-unified-error-1.txt
The file was modified/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-unified.txt (diff)llvm.src/utils/lit/tests/Inputs/shtest-shell/diff-unified.txt
The file was modified/llvm/trunk/utils/lit/tests/max-failures.py (diff)llvm.src/utils/lit/tests/max-failures.py
The file was modified/llvm/trunk/utils/lit/tests/shtest-shell.py (diff)llvm.src/utils/lit/tests/shtest-shell.py
Revision 375113 by xiangling_liao:
[AIX] TOC pseudo expansion for 64bit large + 64bit small + 32bit large models

This patch provides support for peudo ops including ADDIStocHA8, ADDIStocHA, LWZtocL,
LDtoc, LDtocL for AIX, lowering them from MIR to assembly.

Differential Revision: https://reviews.llvm.org/D68341
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/MC/MCExpr.h (diff)llvm.src/include/llvm/MC/MCExpr.h
The file was modified/llvm/trunk/lib/MC/MCExpr.cpp (diff)llvm.src/lib/MC/MCExpr.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp (diff)llvm.src/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp (diff)llvm.src/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.cpp (diff)llvm.src/lib/Target/PowerPC/PPCInstrInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/PowerPC/lower-globaladdr32-aix-asm.ll (diff)llvm.src/test/CodeGen/PowerPC/lower-globaladdr32-aix-asm.ll
The file was added/llvm/trunk/test/CodeGen/PowerPC/lower-globaladdr64-aix-asm.llllvm.src/test/CodeGen/PowerPC/lower-globaladdr64-aix-asm.ll
Revision 375111 by svenvh:
[OpenCL] Add doc to describe OpenCL support

The idea of this page is to document work in progress functionality
and also describe the plan of future development work.

Patch by Anastasia Stulova.

Differential Revision: https://reviews.llvm.org/D69072
Change TypePath in RepositoryPath in Workspace
The file was added/cfe/trunk/docs/OpenCLSupport.rstclang.src/docs/OpenCLSupport.rst
The file was modified/cfe/trunk/docs/index.rst (diff)clang.src/docs/index.rst
Revision 375110 by zjovanovic:
[mips] [builtins] Remove clear_mips_cache
Differential Revision: https://reviews.llvm.org/D69021
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/builtins/clear_cache.c (diff)compiler-rt.src/lib/builtins/clear_cache.c
Revision 375109 by dfukalov:
[AMDGPU] Improve code size cost model

Summary:
Added estimation for zero size insertelement, extractelement
and llvm.fabs operators.
Updated inline/unroll parameters default values.

Reviewers: rampitec, arsenm

Reviewed By: arsenm

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

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68881
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUInline.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPUInline.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h (diff)llvm.src/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
The file was modified/llvm/trunk/test/Analysis/CostModel/AMDGPU/extractelement.ll (diff)llvm.src/test/Analysis/CostModel/AMDGPU/extractelement.ll
The file was modified/llvm/trunk/test/Analysis/CostModel/AMDGPU/fabs.ll (diff)llvm.src/test/Analysis/CostModel/AMDGPU/fabs.ll
The file was modified/llvm/trunk/test/Analysis/CostModel/AMDGPU/insertelement.ll (diff)llvm.src/test/Analysis/CostModel/AMDGPU/insertelement.ll
Revision 375108 by sam_parker:
[ARM][MVE] Enable truncating masked stores

Allow us to generate truncating masked store which take v4i32 and
v8i16 vectors and can store to v4i8, v4i16 and v8i8 and memory.
Removed support for unaligned masked stores.

Differential Revision: https://reviews.llvm.org/D68461
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrMVE.td (diff)llvm.src/lib/Target/ARM/ARMInstrMVE.td
The file was modified/llvm/trunk/lib/Target/ARM/ARMTargetTransformInfo.h (diff)llvm.src/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modified/llvm/trunk/test/CodeGen/Thumb2/mve-masked-ldst.ll (diff)llvm.src/test/CodeGen/Thumb2/mve-masked-ldst.ll
The file was modified/llvm/trunk/test/CodeGen/Thumb2/mve-masked-store.ll (diff)llvm.src/test/CodeGen/Thumb2/mve-masked-store.ll
Revision 375107 by maskray:
[docs][llvm-ar] Fix option:: O after r375106

docs-llvm-html fails => unknown option: O

There are lots of formatting issues in the file but they will be fixed by D68998.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-ar.rst (diff)llvm.src/docs/CommandGuide/llvm-ar.rst
Revision 375106 by maskray:
[llvm-ar] Implement the O modifier: display member offsets inside the archive

Since GNU ar 2.31, the 't' operation prints member offsets beside file
names if the 'O' modifier is specified. 'O' is ignored for thin
archives.

Reviewed By: gbreynoo, ruiu

Differential Revision: https://reviews.llvm.org/D69087
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-ar.rst (diff)llvm.src/docs/CommandGuide/llvm-ar.rst
The file was modified/llvm/trunk/include/llvm/Object/Archive.h (diff)llvm.src/include/llvm/Object/Archive.h
The file was modified/llvm/trunk/test/Object/archive-thin-create.test (diff)llvm.src/test/Object/archive-thin-create.test
The file was modified/llvm/trunk/test/Object/archive-toc.test (diff)llvm.src/test/Object/archive-toc.test
The file was modified/llvm/trunk/tools/llvm-ar/llvm-ar.cpp (diff)llvm.src/tools/llvm-ar/llvm-ar.cpp
Revision 375105 by maskray:
[llvm-objcopy] --add-symbol: fix crash if SHT_SYMTAB does not exist

Exposed by D69041. If SHT_SYMTAB does not exist, ELFObjcopy.cpp:handleArgs will crash due
to a null pointer dereference.

  for (const NewSymbolInfo &SI : Config.ELF->SymbolsToAdd) {
    ...
    Obj.SymbolTable->addSymbol(

Fix this by creating .symtab and .strtab on demand in ELFBuilder<ELFT>::readSections,
if --add-symbol is specified.

Reviewed By: grimar

Differential Revision: https://reviews.llvm.org/D69093
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/tools/llvm-objcopy/ELF/add-symbol-no-symtab.testllvm.src/test/tools/llvm-objcopy/ELF/add-symbol-no-symtab.test
The file was modified/llvm/trunk/tools/llvm-objcopy/ELF/ELFObjcopy.cpp (diff)llvm.src/tools/llvm-objcopy/ELF/ELFObjcopy.cpp
The file was modified/llvm/trunk/tools/llvm-objcopy/ELF/Object.cpp (diff)llvm.src/tools/llvm-objcopy/ELF/Object.cpp
The file was modified/llvm/trunk/tools/llvm-objcopy/ELF/Object.h (diff)llvm.src/tools/llvm-objcopy/ELF/Object.h
Revision 375104 by sberg:
Include leading attributes in DeclStmt's SourceRange

Differential Revision: https://reviews.llvm.org/D68581
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Parse/ParseStmt.cpp (diff)clang.src/lib/Parse/ParseStmt.cpp
The file was modified/cfe/trunk/test/AST/sourceranges.cpp (diff)clang.src/test/AST/sourceranges.cpp
Revision 375103 by rksimon:
JumpThreadingPass::UnfoldSelectInstr - silence static analyzer dyn_cast<> null dereference warning. NFCI.

The static analyzer is warning about a potential null dereference, but we should be able to use cast<> directly and if not assert will fire for us.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/JumpThreading.cpp (diff)llvm.src/lib/Transforms/Scalar/JumpThreading.cpp
Revision 375102 by rksimon:
clang-tidy - 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/clang-tools-extra/trunk/clang-tidy/misc/RedundantExpressionCheck.cpp (diff)clang-tools-extra.src/clang-tidy/misc/RedundantExpressionCheck.cpp
The file was modified/clang-tools-extra/trunk/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp (diff)clang-tools-extra.src/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp
Revision 375101 by rksimon:
SemaExprCXX - 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/SemaExprCXX.cpp (diff)clang.src/lib/Sema/SemaExprCXX.cpp
Revision 375100 by lebedevri:
[LoopIdiom] BCmp: check, not assert that loop exits exit out of the loop (PR43687)

We can't normally stumble into that assertion because a tautological
*conditional* `br` in loop body is required, one that always
branches to loop latch. But that should have been always folded
to an unconditional branch before we get it.
But that is not guaranteed if the pass is run standalone.
So let's just promote the assertion into a proper check.

Fixes https://bugs.llvm.org/show_bug.cgi?id=43687
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/LoopIdiomRecognize.cpp (diff)llvm.src/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
The file was modified/llvm/trunk/test/Transforms/LoopIdiom/bcmp-negative-tests.ll (diff)llvm.src/test/Transforms/LoopIdiom/bcmp-negative-tests.ll
Revision 375097 by rksimon:
SemaDeclObjC - 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/SemaDeclObjC.cpp (diff)clang.src/lib/Sema/SemaDeclObjC.cpp
Revision 375095 by grimar:
[llvm-readobj] - Refine the LLVM-style output to be consistent.

Our LLVM-style output was inconsistent.
This patch changes the output in the following way:

SHT_GNU_verdef { -> VersionDefinitions [
SHT_GNU_verneed { -> VersionRequirements [
Version symbols [ -> VersionSymbols [
EH_FRAME Header [ -> EHFrameHeader {

Differential revision: https://reviews.llvm.org/D68636
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Object/multiple-sections.yaml (diff)llvm.src/test/Object/multiple-sections.yaml
The file was modified/llvm/trunk/test/tools/llvm-readobj/all.test (diff)llvm.src/test/tools/llvm-readobj/all.test
The file was modified/llvm/trunk/test/tools/llvm-readobj/elf-verneed-flags.yaml (diff)llvm.src/test/tools/llvm-readobj/elf-verneed-flags.yaml
The file was modified/llvm/trunk/test/tools/llvm-readobj/elf-versioninfo.test (diff)llvm.src/test/tools/llvm-readobj/elf-versioninfo.test
The file was modified/llvm/trunk/test/tools/llvm-readobj/unwind.test (diff)llvm.src/test/tools/llvm-readobj/unwind.test
The file was modified/llvm/trunk/test/tools/yaml2obj/verdef-section.yaml (diff)llvm.src/test/tools/yaml2obj/verdef-section.yaml
The file was modified/llvm/trunk/test/tools/yaml2obj/verneed-section.yaml (diff)llvm.src/test/tools/yaml2obj/verneed-section.yaml
The file was modified/llvm/trunk/test/tools/yaml2obj/versym-section.yaml (diff)llvm.src/test/tools/yaml2obj/versym-section.yaml
The file was modified/llvm/trunk/tools/llvm-readobj/DwarfCFIEHPrinter.h (diff)llvm.src/tools/llvm-readobj/DwarfCFIEHPrinter.h
The file was modified/llvm/trunk/tools/llvm-readobj/ELFDumper.cpp (diff)llvm.src/tools/llvm-readobj/ELFDumper.cpp
Revision 375094 by ostannard:
Reland: Dead Virtual Function Elimination

Remove dead virtual functions from vtables with
replaceNonMetadataUsesWith, so that CGProfile metadata gets cleaned up
correctly.

Original commit message:

Currently, it is hard for the compiler to remove unused C++ virtual
functions, because they are all referenced from vtables, which are referenced
by constructors. This means that if the constructor is called from any live
code, then we keep every virtual function in the final link, even if there
are no call sites which can use it.

This patch allows unused virtual functions to be removed during LTO (and
regular compilation in limited circumstances) by using type metadata to match
virtual function call sites to the vtable slots they might load from. This
information can then be used in the global dead code elimination pass instead
of the references from vtables to virtual functions, to more accurately
determine which functions are reachable.

To make this transformation safe, I have changed clang's code-generation to
always load virtual function pointers using the llvm.type.checked.load
intrinsic, instead of regular load instructions. I originally tried writing
this using clang's existing code-generation, which uses the llvm.type.test
and llvm.assume intrinsics after doing a normal load. However, it is possible
for optimisations to obscure the relationship between the GEP, load and
llvm.type.test, causing GlobalDCE to fail to find virtual function call
sites.

The existing linkage and visibility types don't accurately describe the scope
in which a virtual call could be made which uses a given vtable. This is
wider than the visibility of the type itself, because a virtual function call
could be made using a more-visible base class. I've added a new
!vcall_visibility metadata type to represent this, described in
TypeMetadata.rst. The internalization pass and libLTO have been updated to
change this metadata when linking is performed.

This doesn't currently work with ThinLTO, because it needs to see every call
to llvm.type.checked.load in the linkage unit. It might be possible to
extend this optimisation to be able to use the ThinLTO summary, as was done
for devirtualization, but until then that combination is rejected in the
clang driver.

To test this, I've written a fuzzer which generates random C++ programs with
complex class inheritance graphs, and virtual functions called through object
and function pointers of different types. The programs are spread across
multiple translation units and DSOs to test the different visibility
restrictions.

I've also tried doing bootstrap builds of LLVM to test this. This isn't
ideal, because only classes in anonymous namespaces can be optimised with
-fvisibility=default, and some parts of LLVM (plugins and bugpoint) do not
work correctly with -fvisibility=hidden. However, there are only 12 test
failures when building with -fvisibility=hidden (and an unmodified compiler),
and this change does not cause any new failures for either value of
-fvisibility.

On the 7 C++ sub-benchmarks of SPEC2006, this gives a geomean code-size
reduction of ~6%, over a baseline compiled with "-O2 -flto
-fvisibility=hidden -fwhole-program-vtables". The best cases are reductions
of ~14% in 450.soplex and 483.xalancbmk, and there are no code size
increases.

I've also run this on a set of 8 mbed-os examples compiled for Armv7M, which
show a geomean size reduction of ~3%, again with no size increases.

I had hoped that this would have no effect on performance, which would allow
it to awlays be enabled (when using -fwhole-program-vtables). However, the
changes in clang to use the llvm.type.checked.load intrinsic are causing ~1%
performance regression in the C++ parts of SPEC2006. It should be possible to
recover some of this perf loss by teaching optimisations about the
llvm.type.checked.load intrinsic, which would make it worth turning this on
by default (though it's still dependent on -fwhole-program-vtables).

Differential revision: https://reviews.llvm.org/D63932
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/CodeGenOptions.def (diff)clang.src/include/clang/Basic/CodeGenOptions.def
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/CodeGen/CGClass.cpp (diff)clang.src/lib/CodeGen/CGClass.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGVTables.cpp (diff)clang.src/lib/CodeGen/CGVTables.cpp
The file was modified/cfe/trunk/lib/CodeGen/CodeGenModule.h (diff)clang.src/lib/CodeGen/CodeGenModule.h
The file was modified/cfe/trunk/lib/CodeGen/ItaniumCXXABI.cpp (diff)clang.src/lib/CodeGen/ItaniumCXXABI.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/Clang.cpp (diff)clang.src/lib/Driver/ToolChains/Clang.cpp
The file was modified/cfe/trunk/lib/Frontend/CompilerInvocation.cpp (diff)clang.src/lib/Frontend/CompilerInvocation.cpp
The file was added/cfe/trunk/test/CodeGenCXX/vcall-visibility-metadata.cppclang.src/test/CodeGenCXX/vcall-visibility-metadata.cpp
The file was added/cfe/trunk/test/CodeGenCXX/virtual-function-elimination.cppclang.src/test/CodeGenCXX/virtual-function-elimination.cpp
The file was added/cfe/trunk/test/Driver/virtual-function-elimination.cppclang.src/test/Driver/virtual-function-elimination.cpp
The file was modified/llvm/trunk/docs/LangRef.rst (diff)llvm.src/docs/LangRef.rst
The file was modified/llvm/trunk/docs/TypeMetadata.rst (diff)llvm.src/docs/TypeMetadata.rst
The file was modified/llvm/trunk/include/llvm/Analysis/TypeMetadataUtils.h (diff)llvm.src/include/llvm/Analysis/TypeMetadataUtils.h
The file was modified/llvm/trunk/include/llvm/IR/FixedMetadataKinds.def (diff)llvm.src/include/llvm/IR/FixedMetadataKinds.def
The file was modified/llvm/trunk/include/llvm/IR/GlobalObject.h (diff)llvm.src/include/llvm/IR/GlobalObject.h
The file was modified/llvm/trunk/include/llvm/Transforms/IPO/GlobalDCE.h (diff)llvm.src/include/llvm/Transforms/IPO/GlobalDCE.h
The file was modified/llvm/trunk/lib/Analysis/TypeMetadataUtils.cpp (diff)llvm.src/lib/Analysis/TypeMetadataUtils.cpp
The file was modified/llvm/trunk/lib/IR/Metadata.cpp (diff)llvm.src/lib/IR/Metadata.cpp
The file was modified/llvm/trunk/lib/LTO/LTO.cpp (diff)llvm.src/lib/LTO/LTO.cpp
The file was modified/llvm/trunk/lib/LTO/LTOCodeGenerator.cpp (diff)llvm.src/lib/LTO/LTOCodeGenerator.cpp
The file was modified/llvm/trunk/lib/Transforms/IPO/GlobalDCE.cpp (diff)llvm.src/lib/Transforms/IPO/GlobalDCE.cpp
The file was modified/llvm/trunk/lib/Transforms/IPO/WholeProgramDevirt.cpp (diff)llvm.src/lib/Transforms/IPO/WholeProgramDevirt.cpp
The file was added/llvm/trunk/test/LTO/ARM/lto-linking-metadata.llllvm.src/test/LTO/ARM/lto-linking-metadata.ll
The file was modified/llvm/trunk/test/ThinLTO/X86/lazyload_metadata.ll (diff)llvm.src/test/ThinLTO/X86/lazyload_metadata.ll
The file was added/llvm/trunk/test/Transforms/GlobalDCE/virtual-functions-base-call.llllvm.src/test/Transforms/GlobalDCE/virtual-functions-base-call.ll
The file was added/llvm/trunk/test/Transforms/GlobalDCE/virtual-functions-base-pointer-call.llllvm.src/test/Transforms/GlobalDCE/virtual-functions-base-pointer-call.ll
The file was added/llvm/trunk/test/Transforms/GlobalDCE/virtual-functions-derived-call.llllvm.src/test/Transforms/GlobalDCE/virtual-functions-derived-call.ll
The file was added/llvm/trunk/test/Transforms/GlobalDCE/virtual-functions-derived-pointer-call.llllvm.src/test/Transforms/GlobalDCE/virtual-functions-derived-pointer-call.ll
The file was added/llvm/trunk/test/Transforms/GlobalDCE/virtual-functions-visibility-post-lto.llllvm.src/test/Transforms/GlobalDCE/virtual-functions-visibility-post-lto.ll
The file was added/llvm/trunk/test/Transforms/GlobalDCE/virtual-functions-visibility-pre-lto.llllvm.src/test/Transforms/GlobalDCE/virtual-functions-visibility-pre-lto.ll
The file was added/llvm/trunk/test/Transforms/GlobalDCE/virtual-functions.llllvm.src/test/Transforms/GlobalDCE/virtual-functions.ll
The file was added/llvm/trunk/test/Transforms/GlobalDCE/vtable-rtti.llllvm.src/test/Transforms/GlobalDCE/vtable-rtti.ll
The file was added/llvm/trunk/test/Transforms/Internalize/vcall-visibility.llllvm.src/test/Transforms/Internalize/vcall-visibility.ll
Revision 375090 by hans:
Try to fix the assert in Alignment::alignAddr to work on 32-bit

Hopefully fixing the AlignmentDeathTest.AlignAddr failures (e.g. at
http://lab.llvm.org:8011/builders/clang-cmake-armv7-quick/builds/10925)
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
Revision 375089 by miyuki:
[Analysis] Don't assume that unsigned overflow can't happen in EmitGEPOffset (PR42699)

Summary:
Currently when computing a GEP offset using the function EmitGEPOffset
for the following instruction

  getelementptr inbounds i32, i32* %p, i64 %offs

we get

  mul nuw i64 %offs, 4

Unfortunately we cannot assume that unsigned wrapping won't happen
here because %offs is allowed to be negative.

Making such assumptions can lead to miscompilations: see the new test
test24_neg_offs in InstCombine/icmp.ll. Without the patch InstCombine
would generate the following comparison:

   icmp eq i64 %offs, 4611686018427387902; 0x3ffffffffffffffe

Whereas the correct value to compare with is -2.

This patch replaces the NUW flag with NSW in the multiplication
instructions generated by EmitGEPOffset and adjusts the test suite.

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

Reviewers: chandlerc, craig.topper, ostannard, lebedev.ri, spatel, efriedma, nlopes, aqjune

Reviewed By: lebedev.ri

Subscribers: reames, lebedev.ri, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68342
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Analysis/Utils/Local.h (diff)llvm.src/include/llvm/Analysis/Utils/Local.h
The file was modified/llvm/trunk/test/Transforms/InstCombine/gep-custom-dl.ll (diff)llvm.src/test/Transforms/InstCombine/gep-custom-dl.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/getelementptr.ll (diff)llvm.src/test/Transforms/InstCombine/getelementptr.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/icmp-custom-dl.ll (diff)llvm.src/test/Transforms/InstCombine/icmp-custom-dl.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/icmp.ll (diff)llvm.src/test/Transforms/InstCombine/icmp.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/sub.ll (diff)llvm.src/test/Transforms/InstCombine/sub.ll
Revision 375088 by hans:
Revert r374931 "[llvm-objdump] Use a counter for llvm-objdump -h instead of the section index."

This broke llvm-objdump in 32-bit builds, see e.g.
http://lab.llvm.org:8011/builders/clang-cmake-armv7-quick/builds/10925

> Summary:
> When listing the index in `llvm-objdump -h`, use a zero-based counter instead of the actual section index (e.g. shdr->sh_index for ELF).
>
> While this is effectively a noop for now (except one unit test for XCOFF), the index values will change in a future patch that filters certain sections out (e.g. symbol tables). See D68669 for more context. Note: the test case in `test/tools/llvm-objdump/X86/section-index.s` already covers the case of incrementing the section index counter when sections are skipped.
>
> Reviewers: grimar, jhenderson, espindola
>
> Reviewed By: grimar
>
> Subscribers: emaste, sbc100, arichardson, aheejin, arphaman, seiya, llvm-commits, MaskRay
>
> Tags: #llvm
>
> Differential Revision: https://reviews.llvm.org/D68848
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-objdump/xcoff-section-headers.test (diff)llvm.src/test/tools/llvm-objdump/xcoff-section-headers.test
The file was modified/llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp (diff)llvm.src/tools/llvm-objdump/llvm-objdump.cpp
The file was modified/llvm/trunk/tools/llvm-objdump/llvm-objdump.h (diff)llvm.src/tools/llvm-objdump/llvm-objdump.h
Revision 375087 by sam_parker:
[ARM][MVE] Change VPST to use, not def, VPR

Unlike VPT, VPST just uses the current value of VPR.P0.

Differential Revision: https://reviews.llvm.org/D69037
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrMVE.td (diff)llvm.src/lib/Target/ARM/ARMInstrMVE.td
The file was modified/llvm/trunk/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll (diff)llvm.src/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
The file was modified/llvm/trunk/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll (diff)llvm.src/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll
The file was modified/llvm/trunk/test/CodeGen/Thumb2/LowOverheadLoops/vector-arith-codegen.ll (diff)llvm.src/test/CodeGen/Thumb2/LowOverheadLoops/vector-arith-codegen.ll
The file was modified/llvm/trunk/test/CodeGen/Thumb2/mve-vpt-block.mir (diff)llvm.src/test/CodeGen/Thumb2/mve-vpt-block.mir
The file was modified/llvm/trunk/test/CodeGen/Thumb2/mve-vpt-block2.mir (diff)llvm.src/test/CodeGen/Thumb2/mve-vpt-block2.mir
The file was modified/llvm/trunk/test/CodeGen/Thumb2/mve-vpt-block3.mir (diff)llvm.src/test/CodeGen/Thumb2/mve-vpt-block3.mir
The file was modified/llvm/trunk/test/CodeGen/Thumb2/mve-vpt-block4.mir (diff)llvm.src/test/CodeGen/Thumb2/mve-vpt-block4.mir
The file was modified/llvm/trunk/test/CodeGen/Thumb2/mve-vpt-block5.mir (diff)llvm.src/test/CodeGen/Thumb2/mve-vpt-block5.mir
The file was modified/llvm/trunk/test/CodeGen/Thumb2/mve-vpt-block6.mir (diff)llvm.src/test/CodeGen/Thumb2/mve-vpt-block6.mir
The file was modified/llvm/trunk/test/CodeGen/Thumb2/mve-vpt-block7.mir (diff)llvm.src/test/CodeGen/Thumb2/mve-vpt-block7.mir
The file was modified/llvm/trunk/test/CodeGen/Thumb2/mve-vpt-block8.mir (diff)llvm.src/test/CodeGen/Thumb2/mve-vpt-block8.mir
The file was modified/llvm/trunk/test/CodeGen/Thumb2/mve-vpt-nots.mir (diff)llvm.src/test/CodeGen/Thumb2/mve-vpt-nots.mir
Revision 375086 by jamesm:
[DFAPacketizer] Use DFAEmitter. NFC.

Summary:
This is a NFC change that removes the NFA->DFA construction and emission logic from DFAPacketizerEmitter and instead uses the generic DFAEmitter logic. This allows DFAPacketizer to use the Automaton class from Support and remove a bunch of logic there too.

After this patch, DFAPacketizer is mostly logic for grepping Itineraries and collecting functional units, with no state machine logic. This will allow us to modernize by removing the 16-functional-unit limit and supporting non-itinerary functional units. This is all for followup patches.

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68992
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/DFAPacketizer.h (diff)llvm.src/include/llvm/CodeGen/DFAPacketizer.h
The file was modified/llvm/trunk/include/llvm/Support/Automaton.h (diff)llvm.src/include/llvm/Support/Automaton.h
The file was modified/llvm/trunk/lib/CodeGen/DFAPacketizer.cpp (diff)llvm.src/lib/CodeGen/DFAPacketizer.cpp
The file was modified/llvm/trunk/test/CodeGen/Hexagon/packetizer-resources.ll (diff)llvm.src/test/CodeGen/Hexagon/packetizer-resources.ll
The file was modified/llvm/trunk/utils/TableGen/DFAPacketizerEmitter.cpp (diff)llvm.src/utils/TableGen/DFAPacketizerEmitter.cpp
Revision 375085 by sam_parker:
[DAGCombine][ARM] Enable extending masked loads

Add generic DAG combine for extending masked loads.

Allow us to generate sext/zext masked loads which can access v4i8,
v8i8 and v4i16 memory to produce v4i32, v8i16 and v4i32 respectively.

Differential Revision: https://reviews.llvm.org/D68337
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/lib/Target/ARM/ARMISelLowering.cpp (diff)llvm.src/lib/Target/ARM/ARMISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrMVE.td (diff)llvm.src/lib/Target/ARM/ARMInstrMVE.td
The file was modified/llvm/trunk/lib/Target/ARM/ARMTargetTransformInfo.cpp (diff)llvm.src/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll (diff)llvm.src/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll
The file was modified/llvm/trunk/test/CodeGen/Thumb2/mve-masked-ldst.ll (diff)llvm.src/test/CodeGen/Thumb2/mve-masked-ldst.ll
The file was modified/llvm/trunk/test/CodeGen/Thumb2/mve-masked-load.ll (diff)llvm.src/test/CodeGen/Thumb2/mve-masked-load.ll
The file was modified/llvm/trunk/test/CodeGen/Thumb2/mve-masked-store.ll (diff)llvm.src/test/CodeGen/Thumb2/mve-masked-store.ll
The file was modified/llvm/trunk/test/Transforms/LoopVectorize/ARM/mve-maskedldst.ll (diff)llvm.src/test/Transforms/LoopVectorize/ARM/mve-maskedldst.ll
Revision 375084 by gchatelet:
[Alignment][NFC] Use Align for TargetFrameLowering/Subtarget

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: jholewinski, arsenm, dschuff, jyknight, dylanmckay, sdardis, nemanjai, jvesely, nhaehnle, sbc100, jgravelle-google, hiraditya, aheejin, kbarton, fedor.sergeev, asb, rbar, johnrusso, simoncook, apazos, sabuasal, niosHD, jrtc27, MaskRay, zzheng, edward-jones, atanasyan, rogfer01, MartinMosbeck, brucehoult, the_o, PkmX, jocewei, jsji, Jim, lenary, s.egerton, pzheng, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68993
Change TypePath in RepositoryPath in Workspace
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.h (diff)llvm.src/lib/Target/AArch64/AArch64FrameLowering.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUFrameLowering.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPUFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUFrameLowering.h (diff)llvm.src/lib/Target/AMDGPU/AMDGPUFrameLowering.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUSubtarget.h (diff)llvm.src/lib/Target/AMDGPU/AMDGPUSubtarget.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/R600FrameLowering.h (diff)llvm.src/lib/Target/AMDGPU/R600FrameLowering.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIFrameLowering.h (diff)llvm.src/lib/Target/AMDGPU/SIFrameLowering.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cpp (diff)llvm.src/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/ARC/ARCFrameLowering.h (diff)llvm.src/lib/Target/ARC/ARCFrameLowering.h
The file was modified/llvm/trunk/lib/Target/ARM/ARMSubtarget.cpp (diff)llvm.src/lib/Target/ARM/ARMSubtarget.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMSubtarget.h (diff)llvm.src/lib/Target/ARM/ARMSubtarget.h
The file was modified/llvm/trunk/lib/Target/AVR/AVRFrameLowering.cpp (diff)llvm.src/lib/Target/AVR/AVRFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/BPF/BPFFrameLowering.h (diff)llvm.src/lib/Target/BPF/BPFFrameLowering.h
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonFrameLowering.h (diff)llvm.src/lib/Target/Hexagon/HexagonFrameLowering.h
The file was modified/llvm/trunk/lib/Target/Lanai/LanaiFrameLowering.h (diff)llvm.src/lib/Target/Lanai/LanaiFrameLowering.h
The file was modified/llvm/trunk/lib/Target/MSP430/MSP430FrameLowering.h (diff)llvm.src/lib/Target/MSP430/MSP430FrameLowering.h
The file was modified/llvm/trunk/lib/Target/Mips/MipsAsmPrinter.cpp (diff)llvm.src/lib/Target/Mips/MipsAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsFrameLowering.h (diff)llvm.src/lib/Target/Mips/MipsFrameLowering.h
The file was modified/llvm/trunk/lib/Target/Mips/MipsSubtarget.cpp (diff)llvm.src/lib/Target/Mips/MipsSubtarget.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsSubtarget.h (diff)llvm.src/lib/Target/Mips/MipsSubtarget.h
The file was modified/llvm/trunk/lib/Target/Mips/MipsTargetMachine.cpp (diff)llvm.src/lib/Target/Mips/MipsTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/NVPTX/NVPTXFrameLowering.cpp (diff)llvm.src/lib/Target/NVPTX/NVPTXFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCSubtarget.cpp (diff)llvm.src/lib/Target/PowerPC/PPCSubtarget.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCSubtarget.h (diff)llvm.src/lib/Target/PowerPC/PPCSubtarget.h
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/lib/Target/Sparc/SparcFrameLowering.cpp (diff)llvm.src/lib/Target/Sparc/SparcFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZFrameLowering.cpp (diff)llvm.src/lib/Target/SystemZ/SystemZFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyFrameLowering.h (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyFrameLowering.h
The file was modified/llvm/trunk/lib/Target/X86/X86FrameLowering.cpp (diff)llvm.src/lib/Target/X86/X86FrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86FrameLowering.h (diff)llvm.src/lib/Target/X86/X86FrameLowering.h
The file was modified/llvm/trunk/lib/Target/X86/X86Subtarget.cpp (diff)llvm.src/lib/Target/X86/X86Subtarget.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86Subtarget.h (diff)llvm.src/lib/Target/X86/X86Subtarget.h
The file was modified/llvm/trunk/lib/Target/X86/X86TargetMachine.cpp (diff)llvm.src/lib/Target/X86/X86TargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/XCore/XCoreFrameLowering.cpp (diff)llvm.src/lib/Target/XCore/XCoreFrameLowering.cpp
The file was modified/llvm/trunk/unittests/CodeGen/MachineInstrTest.cpp (diff)llvm.src/unittests/CodeGen/MachineInstrTest.cpp
Revision 375083 by evgeny777:
[ThinLTO] Import virtual method with single implementation in hybrid mode

Differential revision: https://reviews.llvm.org/D68782
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/IPO/WholeProgramDevirt.cpp (diff)llvm.src/lib/Transforms/IPO/WholeProgramDevirt.cpp
The file was added/llvm/trunk/test/ThinLTO/X86/Inputs/devirt_single_hybrid_bar.llllvm.src/test/ThinLTO/X86/Inputs/devirt_single_hybrid_bar.ll
The file was added/llvm/trunk/test/ThinLTO/X86/Inputs/devirt_single_hybrid_foo.llllvm.src/test/ThinLTO/X86/Inputs/devirt_single_hybrid_foo.ll
The file was added/llvm/trunk/test/ThinLTO/X86/devirt_single_hybrid.llllvm.src/test/ThinLTO/X86/devirt_single_hybrid.ll
Revision 375082 by maskray:
[llvm-ar] Simplify and make two global variables static. NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-ar/llvm-ar.cpp (diff)llvm.src/tools/llvm-ar/llvm-ar.cpp
Revision 375079 by kousikk:
Revert "Include sanitize blacklist and other extra deps as part of scan-deps output"

This test is failing on Windows bots, revert for now (will check the right fix and retry the patch).

Summary: This reverts commit 962ca076e51c25a7a08f4e0d329c65328a635bdb.

Reviewers: Bigcheese, jkorous, arphaman

Subscribers: dexonsmith, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D69079
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp (diff)clang.src/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
The file was removed/cfe/trunk/test/ClangScanDeps/Inputs/non-header-dependency.jsonclang.src/test/ClangScanDeps/Inputs/non-header-dependency.json
The file was removed/cfe/trunk/test/ClangScanDeps/Inputs/sanitize-blacklist.txtclang.src/test/ClangScanDeps/Inputs/sanitize-blacklist.txt
The file was removed/cfe/trunk/test/ClangScanDeps/non-header-dependency.cppclang.src/test/ClangScanDeps/non-header-dependency.cpp