FailedChanges

Summary

  1. [Reproducer] Add reproducer dump command. This adds a reproducer dump commands which makes it possible to inspect a reproducer from inside LLDB. Currently it supports the Files, Commands and Version providers. I'm planning to add support for the GDB Remote provider in a follow-up patch. Differential revision: https://reviews.llvm.org/D67474
  2. [WebAssembly] Narrowing and widening SIMD ops Summary: Implements target-specific LLVM intrinsics and clang builtins for these new SIMD operations, as described at https://github.com/WebAssembly/simd/blob/master/proposals/simd/SIMD.md#integer-to-integer-narrowing. Reviewers: aheejin Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, sunfish, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D67425
  3. Make test check position independent as they sometimes come out reversed. NFCI.
  4. [clang-scan-deps] Fix for headers having the same name as a directory Scan deps tool crashes when called on a C++ file, containing an include that has the same name as a directory. The tool crashes since it finds foo/dir and tries to read that as a file and fails. Patch by: kousikk (Kousik Kumar) Differential Revision: https://reviews.llvm.org/D67091
  5. [GlobalISel] Fix insertion point of new instructions to be after PHIs. For some reason we sometimes insert new instructions one instruction before the first non-PHI when legalizing. This can result in having non-PHI instructions before PHIs, which mean that PHI elimination doesn't catch them. Differential Revision: https://reviews.llvm.org/D67570
  6. [NFC][libLTO] Rearrange declaration in lto.h Summary: Rearrange the function declaration in lto.h so they falls in the correct doxygen group. Reviewers: tejohnson, bd1976llvm, deadalnix Reviewed By: tejohnson Subscribers: mehdi_amini, inglorion, jkorous, dexonsmith, ributzka, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67565
  7. Add dependency from Orc to Passes Summary: Orc uses registerFunctionAnalyses that's defined in Passes. Reviewers: dblaikie Subscribers: mcrosier, bixia, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67477
  8. Fix test to use %t for newly created files. This is both for consistency with other `mkdir`s in tests, and fixing permission issues with the non-temporary cwd during testing (they are not always writable).
  9. [llvm-opt-report] Improve error handling * std::move the error extracted from the parsing creation to avoid asserts * print a newline after the error message * create the parser from the metadata
  10. Fix C++03 build failures due to >>
  11. [AArch64][GlobalISel] Tail call memory intrinsics Because memory intrinsics are handled differently than other calls, we need to check them for tail call eligiblity in the legalizer. This allows us to still inline them when it's beneficial to do so, but also tail call when possible. This adds simple tail calling support for when the intrinsic is followed by a return. It ports the attribute checks from `TargetLowering::isInTailCallPosition` into a similarly-named function in LegalizerHelper.cpp. The target-specific `isUsedByReturnOnly` hook is not ported here. Update tailcall-mem-intrinsics.ll to show that GlobalISel can now tail call memory intrinsics. Update legalize-memcpy-et-al.mir to have a case where we don't tail call. Differential Revision: https://reviews.llvm.org/D67566
  12. [OPENMP5.0]Add basic support for declare variant directive. Added basic support for declare variant directive and its match clause with user context selector.
  13. [Support] Add overload writeFileAtomically(std::function Writer) Differential Revision: https://reviews.llvm.org/D67424
  14. [Docs] Bug fix for reference to nonexistent document This commit fixes a bug in which the toctree contained a reference to a non-existent document.
  15. [FPEnv] Document that constrained FP intrinsics cannot be mixed with non-constrained Reviewed by: andrew.w.kaylor, cameron.mcinally, uweigand Approved by: andrew.w.kaylor Differential Revision: https://reviews.llvm.org/D67360
  16. [aarch64] move custom isel of extract_vector_elt to td file - NFC In preparation for def-pat selection of dot product instructions, this patch moves the custom instruction selection of extract_vector_elt to the td file. Without this change it is impossible to catch a pattern that starts with an extract_vector_elt: the custom cpp code is executed first ahead of the patterns in the td files that are only executed at the end of the switch statement in SelectCode(Node). With this patch applied, it becomes possible to select a different pattern that starts with extract_vector_elt by selecting a higher complexity than this pattern. The patch has been tested on aarch64-linux with make check-all. Differential Revision: https://reviews.llvm.org/D67497
  17. Mark [[nodiscard]] test as unsupported with GCC 5
  18. Fix pretty printer test with GCC
  19. AArch64: fix EXPENSIVE_CHECKS for arm64_32. For some reason I'd decided to mark the end-result of a GOT load as dead. It's clearly not (necessarily).
  20. Fix various test failures with GCC
  21. [SLP] add test for vectorization of constant expressions; NFC Goes with D67362.
  22. Reland r371785: Add -Wpoison-system-directories warning When using clang as a cross-compiler, we should not use system headers to do the compilation. This CL adds support of a new warning flag -Wpoison-system-directories which emits warnings if --sysroot is set and headers from common host system location are used. By default the warning is disabled. The intention of the warning is to catch bad includes which are usually generated by third party build system not targeting cross-compilation. Such cases happen in Chrome OS when someone imports a new package or upgrade one to a newer version from upstream. This is reland of r371785 with a fix to test file. Patch by: denik (Denis Nikitin)
  23. [NFC][InstSimplify] Add some more tests for D67498/D67502
  24. Fix build error in 371875 Apparently Clang complains about the name hiding here in a way that my GCC build does not, so a shocking number of buildbots decided to tell me about it. Change the name of the variable to prevent the name hiding and hope we don't have to fix this again.
  25. [NFCI]Create CommonAttributeInfo Type as base type of *Attr and ParsedAttr. In order to enable future improvements to our attribute diagnostics, this moves info from ParsedAttr into CommonAttributeInfo, then makes this type the base of the *Attr and ParsedAttr types. Quite a bit of refactoring took place, including removing a bunch of redundant Spelling Index propogation. Differential Revision: https://reviews.llvm.org/D67368
  26. Fix failing negative compilation test for some versions of Clang
  27. Revert for: [AMDGPU]: PHI Elimination hooks added for custom COPY insertion.
  28. Fix bug in `darwin_test_archs()` when the cache variable is set but empty. Summary: If the cache variable named in `${valid_archs}` (e.g. `DARWIN_osx_BUILTIN_ARCHS`) is set in the cache but is empty then the cache check `if(${valid_archs})` will be false so the function will probe the compiler but the `set(...)` command at the end of the function to update the cache variable will be a no-op. This is because `set(...)` will not update an existing cache variable unless the `FORCE` argument is provided. To fix this this patch adds `FORCE` so the cache is always updated. rdar://problem/55323665 Reviewers: vsk, kubamracek Subscribers: mgorny, #sanitizers, llvm-commits Tags: #llvm, #sanitizers Differential Revision: https://reviews.llvm.org/D67530
  29. [CMake] Separate the detection Darwin platforms architectures for the built-ins from the rest of compiler-rt. The detection of supported platform (os) architectures for Darwin relies on the `darwin_test_archs()` CMake function. This is used both for building the builtins (`builtin-config-ix.cmake`) and for the rest of the compiler-rt (`config-ix.cmake`). `darwin_test_archs()` implements a cache, presumably to speed up CMake re-configures. Unfortunately this caching is buggy because it depends on external global state (i.e. the `TEST_COMPILE_ONLY` variable) and this is not taken into account. For `config-ix.cmake` `TEST_COMPILE_ONLY` is not set and for `builtin-config-ix.cmake` `TEST_COMPILE_ONLY` is set to `On`. This makes the `darwin_test_archs()` function racey in the sense that a call from one calling context will poison the cache for the other calling context. This is actually an issue George Karpenkov discovered a while back and had an incomplete patch for (https://reviews.llvm.org/D45337) but this was never merged. To workaround this, this patch switches to using a different set of variables for the platform architecture builtins, i.e. `DARWIN_<OS>_ARCHS` -> `DARWIN_<OS>_BUILTIN_ARCHS`. This avoids the cache poisoning problem because the cached variable names are different. This also has the advantage that the the configured architectures for builtins and the rest of the compiler-rt are now independent and can be set differently if necessary. Note in `darwin_test_archs()` we also now pass `-w` to the compiler because `try_compile_only()` treats compiler warnings as errors. This was extremely fragile because compiler warnings (can easily appear due to a buggy compiler or SDK headers) would cause compiler-rt to think an architecture on Darwin wasn't supported. rdar://problem/48637491
  30. [Remarks][NFC] Forward declare ParsedStringTable
  31. [Remarks][NFC] Use StringLiteral for magic numbers
  32. [AArch64][GlobalISel] Add support for sibcalling callees with varargs This adds support for tail calling callees with varargs, equivalent to how it is done in AArch64ISelLowering. This only works for sibling calls, and does not add the necessary support for musttail with varargs. (See r345641 for equivalent ISelLowering support.) This should be implemented when we stop falling back on musttail. Update call-translator-tail-call.ll to show that we can now tail call varargs. Differential Revision: https://reviews.llvm.org/D67518
  33. Recommit r370502: Make `vector` unconditionally move elements when exceptions are disabled. The patch was reverted due to some confusion about non-movable types. ie types that explicitly delete their move constructors. However, such types do not meet the requirement for `MoveConstructible`, which is required by `std::vector`: Summary: `std::vector<T>` is free choose between using copy or move operations when it needs to resize. The standard only candidates that the correct exception safety guarantees are provided. When exceptions are disabled these guarantees are trivially satisfied. Meaning vector is free to optimize it's implementation by moving instead of copying. This patch makes `std::vector` unconditionally move elements when exceptions are disabled. This optimization is conforming according to the current standard wording. There are concerns that moving in `-fno-noexceptions`mode will be a surprise to users. For example, a user may be surprised to find their code is slower with exceptions enabled than it is disabled. I'm sympathetic to this surprised, but I don't think it should block this optimization. Reviewers: mclow.lists, ldionne, rsmith Reviewed By: ldionne Subscribers: zoecarver, christof, dexonsmith, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D62228
  34. [yaml2obj/ObjectYAML] - Cleanup the error reporting API, add custom errors handlers. This is a continuation of the YAML library error reporting refactoring/improvement and the idea by itself was mentioned in the following thread: https://reviews.llvm.org/D67182?id=218714#inline-603404 This performs a cleanup of all object emitters in the library. It allows using the custom one provided by the caller. One of the nice things is that each tool can now print its tool name, e.g: "yaml2obj: error: <text>" Also, the code became a bit simpler. Differential revision: https://reviews.llvm.org/D67445
  35. Only initialize the streams cout/wcout/cerr/wcerr etc once, rather than any time Init::Init is called. Fixes PR#43300
  36. Fix build in C++20
  37. [docs][llvm-readelf][llvm-readobj] Improve --stack-sizes documentation llvm-readobj's document was missing --stack-sizes entirely from its document, so this patch adds it. It also adds a note to the llvm-readelf description that the switch is only implemented for GNU style output currently. For reference, --stack-sizes was added in r367942. Reviewed by: MaskRay Differential Revision: https://reviews.llvm.org/D67548
  38. [X86] Use incDecVectorConstant to simplify the min/max code in LowerVSETCC. incDecVectorConstant is used for a similar reason in LowerVSETCCWithSUBUS so we might as well share the code.
  39. Fix a few spellos in docs. (Trying to debug an incremental build thing on a bot...)
  40. [Sema][Typo Correction] Fix potential infite loop on ambiguity checks Summary: This fixes a bug introduced in D62648, where Clang could infinite loop if it became stuck on a single TypoCorrection when it was supposed to be testing ambiguous corrections. Although not a common case, it could happen if there are multiple possible corrections with the same edit distance. The fix is simply to wipe the TypoExpr from the `TransformCache` so that the call to `TransformTypoExpr` doesn't use the `CachedEntry`. Reviewers: rsmith Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D67515
  41. gn build: pacify "gn format" after 371102
  42. [PowerPC][NFC] Move codegen tests to PowerPC from MIR/PowerPC All tests with -run-pass !=none should not in MIR/, See MIR/README. ``` Tests for codegen passes should NOT be here but in test/CodeGen/sometarget. As a rule of thumb this directory should only contain tests using 'llc -run-pass none'. ```
  43. [ADT] Remove a workaround for old versions of clang
  44. [docs][llvm-objcopy][llvm-strip] Improve --strip-unneeded description Behaviour was recently added to this switch to strip debug sections too. See r369761. This change also makes the description for the --strip-unneeded switch consistent between the two docs. Reviewed by: MaskRay Differential Revision: https://reviews.llvm.org/D67546
  45. clang-format: Add support for formatting (some) lambdas with explicit template parameters. This patch makes cases work where the lambda's template list doesn't contain any of + - ! ~ / % << | || && ^ == != >= <= ? : true false (see added FIXME). Ports r359967 to clang-format. Differential Revision: https://reviews.llvm.org/D67246
  46. Fix depfile name construction - When using -o, the provided filename is using for constructing the depfile name (when -MMD is passed). - The logic looks for the rightmost '.' character and replaces what comes after with 'd'. - This works incorrectly when the filename has no extension and the directories have '.' in them (e.g. out.dir/test) - This replaces the funciton to just llvm::sys::path functionality Differential Revision: https://reviews.llvm.org/D67542
  47. gn build: (manually) merge r371834, take 2
  48. Revert "gn build: (manually) merge r371834" This reverts commit abc7e2b6004cd693cf3b6dedbc7908e099c7ac6a. The commit was incomplete. I'll revert and reland the full commit, so that the correct change is a single commit.
  49. gn build: (manually) merge r371834
  50. gn build: Merge r371822
  51. gn build: (manually) merge r371787
  52. [ADT] Make DenseMap use allocate_buffer This unlocks some goodies like sized deletion and gets the alignment right on platforms that chose to provide a lower default new alignment.
  53. [llvm-size] Fix spelling errors (Berkely -> Berkeley)
  54. [Orc] Roll back ThreadPool to std::function MSVC doesn't allow move-only types in std::packaged_task. Boo.
  55. [Orc] Address the remaining move-capture FIXMEs This required spreading unique_function a bit more, which I think is a good thing.
  56. [X86] negateFMAOpcode - extend to support FMADDSUB/FMSUBADD and output negation. NFCI. Some prep work for PR42863, this change allows us to move all the FMA opcode mappings into the negateFMAOpcode helper. For the FMADDSUB/FMSUBADD cases, we can only negate the accumulator - any other negations will result in an error.
  57. [ASTImporter] Add development internals docs Reviewers: a_sidorin, shafik, teemperor, gamesh411, balazske, dkrupp, a.sidorin Subscribers: rnkovacs, Szelethus, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D66336
  58. [ARM] Add earlyclobber for cross beat MVE instructions rL367544 added @earlyclobbers for the MVE VREV64 instruction. This adds the same for a number of other 32bit instructions that are similarly unpredictable if the destination equals the source (due to the cross beat nature of the instructions). This includes: VCADD.f32 VCADD.i32 VCMUL.f32 VHCADD.s32 VMULLT/B.s/u32 VQDMLADH{X}.s32 VQRDMLADH{X}.s32 VQDMLSDH{X}.s32 VQRDMLSDH{X}.s32 VQDMULLT/B.s32 with Qm and Rm No tests here as this would require intrinsics (or very interesting codegen) to manifest. The tests will follow naturally as the intrinsics are added. Differential Revision: https://reviews.llvm.org/D67462
  59. [Clang Interpreter] Initial patch for the constexpr interpreter Summary: This patch introduces the skeleton of the constexpr interpreter, capable of evaluating a simple constexpr functions consisting of if statements. The interpreter is described in more detail in the RFC. Further patches will add more features. Reviewers: Bigcheese, jfb, rsmith Subscribers: bruno, uenoku, ldionne, Tyker, thegameg, tschuett, dexonsmith, mgorny, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64146
  60. [AArch64] More @llvm.fma.f16 tests Follow up of rL371321 that added FMA FP16 patterns. This adds more tests for @llvm.fma.f16. This probably shows we miss one fmsub optimisation opportunity, which I will look into.
  61. Fix a perl warning: Scalar value @ArgParts[0] better written as $ArgParts[0] at /usr/share/clang/scan-build-10/libexec/ccc-analyzer line 502.
  62. [Alignment] Introduce llvm::Align to MCSection 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, JDevlieghere Subscribers: arsenm, sdardis, jvesely, nhaehnle, sbc100, hiraditya, aheejin, jrtc27, atanasyan, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67486
  63. [lib/ObjectYAML] - Change interface to return `bool` instead of `int`. NFCI It was suggested in comments for D67445 to split this part. Differential revision: https://reviews.llvm.org/D67488
  64. [ARM] Add support for MVE vmaxv and vminv This patch adds vecreduce_smax, vecredude_umax, vecreduce_smin, vecreduce_umin and selection for vmaxv and minv. Differential Revision: https://reviews.llvm.org/D66413
  65. [llvm-objdump] Fix llvm-objdump --all-headers output order Patch by Justice Adams! Made llvm-objdump --all-headers output match the order of GNU objdump for compatibility reasons. Old order of the headers output: * file header * section header table * symbol table * program header table * dynamic section New order of the headers output (GNU compatible): * file header information * program header table * dynamic section * section header table * symbol table (Relevant BugZilla Bug: https://bugs.llvm.org/show_bug.cgi?id=41830) Differential revision: https://reviews.llvm.org/D67357
  66. Revert "Fix test failures after r371640" This reverts commit r371645, because r371640 was reverted.
  67. [compiler-rt] Add ubsan interface header. This is to document __ubsan_default_options(). Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D67503
  68. [Clang][ASTImporter] Added visibility check for FunctionTemplateDecl. Summary: ASTImporter makes now difference between function templates with same name in different translation units if these are not visible outside. Reviewers: martong, a.sidorin, shafik, a_sidorin Reviewed By: a_sidorin Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D67490
  69. [BasicBlockUtils] Add optional BBName argument, in line with BB:splitBasicBlock Reviewers: spatel, asbirlea, craig.topper Reviewed By: asbirlea Differential Revision: https://reviews.llvm.org/D67521
  70. [AArch64] MachineCombiner FMA matching. NFC. Follow-up of rL371321 that added some more FP16 FMA patterns, and an attempt to reduce the copy-pasting and make this more readable. Differential Revision: https://reviews.llvm.org/D67403
  71. For PR17164: split -fno-lax-vector-conversion into three different levels: -- none: no lax vector conversions [new GCC default] -- integer: only conversions between integer vectors [old GCC default] -- all: all conversions between same-size vectors [Clang default] For now, Clang still defaults to "all" mode, but per my proposal on cfe-dev (2019-04-10) the default will be changed to "integer" as soon as that doesn't break lots of testcases. (Eventually I'd like to change the default to "none" to match GCC and general sanity.) Following GCC's behavior, the driver flag -flax-vector-conversions is translated to -flax-vector-conversions=integer. This reinstates r371805, reverted in r371813, with an additional fix for lldb.
  72. Fix interaction between r371813 and r371814.
  73. [TargetRegisterInfo] Remove SVT argument from getCommonSubClass. This was added to support fp128 on x86-64, but appears to be unneeded now. This may be because the FR128 register class added back then was merged with the VR128 register class later.
  74. Remove reliance on lax vector conversions from altivec.h and its test.
  75. Revert "For PR17164: split -fno-lax-vector-conversion into three different" This breaks the LLDB build. I tried reaching out to Richard, but haven't gotten a reply yet.
  76. AMDGPU/GlobalISel: Fix assert on multi-return side effect intrinsics llvm.amdgcn.else hits this.
  77. AMDGPU/GlobalISel: Legalize s32->s16 G_SITOFP/G_UITOFP
  78. [RISCV] Support stack offset exceed 32-bit for RV64 Differential Revision: https://reviews.llvm.org/D61884
  79. Revert "[RISCV] Support stack offset exceed 32-bit for RV64" This reverts commit 1c340c62058d4115d21e5fa1ce3a0d094d28c792.
  80. AMDGPU/GlobalISel: Fix RegBankSelect for amdgcn.else
  81. AMDGPU/GlobalISel: Select 16-bit VALU bit ops
  82. [RISCV] Support stack offset exceed 32-bit for RV64 Differential Revision: https://reviews.llvm.org/D61884
  83. For PR17164: split -fno-lax-vector-conversion into three different levels: -- none: no lax vector conversions [new GCC default] -- integer: only conversions between integer vectors [old GCC default] -- all: all conversions between same-size vectors [Clang default] For now, Clang still defaults to "all" mode, but per my proposal on cfe-dev (2019-04-10) the default will be changed to "integer" as soon as that doesn't break lots of testcases. (Eventually I'd like to change the default to "none" to match GCC and general sanity.) Following GCC's behavior, the driver flag -flax-vector-conversions is translated to -flax-vector-conversions=integer.
  84. AMDGPU/GlobalISel: Legalize G_FFLOOR
  85. Temporarily revert r371640 "LiveIntervals: Split live intervals on multiple dead defs". It reveals a miscompile on Hexagon. See PR43302 for details.
  86. AMDGPU/GlobalISel: Legalize G_FMAD Unlike SelectionDAG, treat this as a normally legalizable operation. In SelectionDAG this is supposed to only ever formed if it's legal, but I've found that to be restricting. For AMDGPU this is contextually legal depending on whether denormal flushing is allowed in the use function. Technically we currently treat the denormal mode as a subtarget feature, so custom lowering could be avoided. However I consider this to be a defect, and this should be contextually dependent on the controllable rounding mode of the parent function.
  87. Revert r371785. r371785 is causing fails on clang-hexagon-elf buildbots.
  88. AMDGPU/GlobalISel: Select G_CTPOP
  89. DAG/GlobalISel: Correct type profile of bitcount ops The result integer does not need to be the same width as the input. AMDGPU, NVPTX, and Hexagon all have patterns working around the types matching. GlobalISel defines these as being different type indexes.
  90. [libclang] Fix UninstallAbortingLLVMFatalErrorHandler test
  91. AMDGPU: Add immarg to llvm.amdgcn.init.exec.from.input As far as I can tell this has to be a constant.
  92. LiveIntervals: Remove assertion This testcase is invalid, and caught by the verifier. For the verifier to catch it, the live interval computation needs to complete. Remove the assert so the verifier catches this, which is less confusing. In this testcase there is an undefined use of a subregister, and lanes which aren't used or defined. An equivalent testcase with the super-register shrunk to have no untouched lanes already hit this verifier error.
  93. AMDGPU: Inline constant when materalizing FI with add on gfx9 This was relying on the SGPR usable for the carry out clobber to also be used for the input. There was no carry out on gfx9. With no carry out clobber to worry about, so the literal can just be directly used with a VOP2 add.
  94. [Test] Restructure check lines to show differences between modes more clearly With the landing of the previous patch (in particular D66318) there are a lot fewer diffs now. I added an experimental O0 line, and updated all the tests to group experimental and non-experimental O0/O3 together. Skimming the remaining diffs, there's only a few which are obviously incorrect. There's a large number which are questionable, so more todo.
  95. Rename nonvolatile_load/store to simple_load/store [NFC] Implement the TODO from D66318.
  96. [AArch64][GlobalISel] Support tail calling with swiftself parameters Swiftself uses a callee-saved register. We can tail call when the register used in the caller and callee is the same. This behaviour is equivalent to that in `TargetLowering::parametersInCSRMatch`. Update call-translator-tail-call.ll to verify that we can do this. When we support inline assembly, we can write a check similar to the one in the general swiftself.ll. For now, we need to verify that we get the correct COPY instruction after call lowering. Differential Revision: https://reviews.llvm.org/D67511
  97. [libclang] Expose abort()-ing LLVM fatal error handler Differential Revision: https://reviews.llvm.org/D66775
  98. [SDAG] Update generic code to conservatively check for isAtomic in addition to isVolatile This is the first sweep of generic code to add isAtomic bailouts where appropriate. The intention here is to have the switch from AtomicSDNode to LoadSDNode/StoreSDNode be close to NFC; that is, I'm not looking to allow additional optimizations at this time. That will come later. See D66309 for context. Differential Revision: https://reviews.llvm.org/D66318
  99. Add -Wpoison-system-directories warning When using clang as a cross-compiler, we should not use system headers to do the compilation. This CL adds support of a new warning flag -Wpoison-system-directories which emits warnings if --sysroot is set and headers from common host system location are used. By default the warning is disabled. The intention of the warning is to catch bad includes which are usually generated by third party build system not targeting cross-compilation. Such cases happen in Chrome OS when someone imports a new package or upgrade one to a newer version from upstream. Patch by: denik (Denis Nikitin)
  100. [NFC] Fix file header filename to be Range.h
  101. [Docs] Adds page for reference docs Adds a Reference Documentation page for LLVM and API reference documentation.
  102. [analyzer] Fix the 'analyzer-enabled-checkers.c' test on non-linux machines. '-Xclang -triple' doesn't seem to override the default target triple as reliably as '--target'. This leads to test failing due to platform-specific checks getting unexpectedly enabled.
  103. [AArch64][GlobalISel] Support sibling calls with outgoing arguments This adds support for lowering sibling calls with outgoing arguments. e.g ``` define void @foo(i32 %a) ``` Support is ported from AArch64ISelLowering's `isEligibleForTailCallOptimization`. The only thing that is missing is a full port of `TargetLowering::parametersInCSRMatch`. So, if we're using swiftself, we'll never tail call. - Rename `analyzeCallResult` to `analyzeArgInfo`, since the function is now used for both outgoing and incoming arguments - Teach `OutgoingArgHandler` about tail calls. Tail calls use frame indices for stack arguments. - Teach `lowerFormalArguments` to set the bytes in the caller's stack argument area. This is used later to check if the tail call's parameters will fit on the caller's stack. - Add `areCalleeOutgoingArgsTailCallable` to perform the eligibility check on the callee's outgoing arguments. For testing: - Update call-translator-tail-call to verify that we can now tail call with outgoing arguments, use G_FRAME_INDEX for stack arguments, and respect the size of the caller's stack - Remove GISel-specific check lines from speculation-hardening.ll, since GISel now tail calls like the other selectors - Add a GISel test line to tailcall-string-rvo.ll since we can tail call in that test now - Add a GISel test line to tailcall_misched_graph.ll since we tail call there now. Add specific check lines for GISel, since the debug output from the machine-scheduler differs with GlobalISel. The dependency still holds, but the output comes out in a different order. Differential Revision: https://reviews.llvm.org/D67471
  104. [PowerPC] Remove the SPE4RC register class and instead add f32 to the GPRC register class. Summary: Since the SPE4RC register class contains an identical set of registers and an identical spill size to the GPRC class its slightly confusing the tablegen emitter. It's preventing the GPRC_and_GPRC_NOR0 synthesized register class from inheriting VTs and AltOrders from GPRC or GPRC_NOR0. This is because SPE4C is found first in the super register class list when inheriting these properties and it doesn't set the VTs or AltOrders the same way as GPRC or GPRC_NOR0. This patch replaces all uses of GPE4RC with GPRC and allows GPRC and GPRC_NOR0 to contain f32. The test changes here are because the AltOrders are being inherited to GPRC_NOR0 now. Found while trying to determine if getCommonSubClass needs to take a VT argument. It was originally added to support fp128 on x86-64, I've changed some things about that so that it might be needed anymore. But a PowerPC test crashed without it and I think its due to this subclass issue. Reviewers: jhibbits, nemanjai, kbarton, hfinkel Subscribers: wuzish, nemanjai, mehdi_amini, hiraditya, kbarton, MaskRay, dexonsmith, jsji, shchenz, steven.zhang, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67513
  105. Remove a duplicate test Turns out I'd already added exactly the same test under the name non_unit_stride.
  106. [SCEV] Add smin support to getRangeRef We were failing to compute trip counts (both exact and maximum) for any loop which involved a comparison against either an umin or smin. It looks like this simply got missed when we added smin/umin to SCEV. (Note: umin was submitted separately earlier today. Turned out two folks hit this at the same time.) Differential Revision: https://reviews.llvm.org/D67514
  107. [DAGCombiner][X86] Pass the CmpOpVT to reduceSelectOfFPConstantLoads so X86 can exclude fp128 compares. The X86 decision assumes the compare will produce a result in an XMM register, but that can't happen for an fp128 compare since those go to a libcall the returns an i32. Pass the VT so X86 can check the type.
  108. [ConstantFolding] Expand folding of some library functions Expanding the folding of `nearbyint()`, `rint()` and `trunc()` to library functions, in addition to the current support for intrinsics. Differential revision: https://reviews.llvm.org/D67468
  109. [ClangTidy] Adjust the name getCheckName to getCheckerName due to API change.
Revision 371909 by Jonas Devlieghere:
[Reproducer] Add reproducer dump command.

This adds a reproducer dump commands which makes it possible to inspect
a reproducer from inside LLDB. Currently it supports the Files, Commands
and Version providers. I'm planning to add support for the GDB Remote
provider in a follow-up patch.

Differential revision: https://reviews.llvm.org/D67474
Change TypePath in RepositoryPath in Workspace
The file was modified/lldb/trunk/lit/Reproducer/Inputs/FileCapture.in (diff)N/A
The file was added/lldb/trunk/lit/Reproducer/TestDump.testN/A
The file was modified/lldb/trunk/source/Commands/CommandObjectReproducer.cpp (diff)N/A
The file was modified/lldb/trunk/source/Commands/Options.td (diff)N/A
The file was modified/llvm/trunk/include/llvm/Support/VirtualFileSystem.h (diff)llvm.src/include/llvm/Support/VirtualFileSystem.h
The file was modified/llvm/trunk/lib/Support/VirtualFileSystem.cpp (diff)llvm.src/lib/Support/VirtualFileSystem.cpp
Revision 371906 by tlively:
[WebAssembly] Narrowing and widening SIMD ops

Summary:
Implements target-specific LLVM intrinsics and clang builtins for
these new SIMD operations, as described at https://github.com/WebAssembly/simd/blob/master/proposals/simd/SIMD.md#integer-to-integer-narrowing.

Reviewers: aheejin

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

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D67425
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/BuiltinsWebAssembly.def (diff)clang.src/include/clang/Basic/BuiltinsWebAssembly.def
The file was modified/cfe/trunk/lib/CodeGen/CGBuiltin.cpp (diff)clang.src/lib/CodeGen/CGBuiltin.cpp
The file was modified/cfe/trunk/test/CodeGen/builtins-wasm.c (diff)clang.src/test/CodeGen/builtins-wasm.c
The file was modified/llvm/trunk/include/llvm/IR/IntrinsicsWebAssembly.td (diff)llvm.src/include/llvm/IR/IntrinsicsWebAssembly.td
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
The file was modified/llvm/trunk/test/CodeGen/WebAssembly/simd-intrinsics.ll (diff)llvm.src/test/CodeGen/WebAssembly/simd-intrinsics.ll
The file was modified/llvm/trunk/test/MC/WebAssembly/simd-encodings.s (diff)llvm.src/test/MC/WebAssembly/simd-encodings.s
Revision 371904 by dyung:
Make test check position independent as they sometimes come out reversed. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/Index/crash-recovery-modules.m (diff)clang.src/test/Index/crash-recovery-modules.m
Revision 371903 by arphaman:
[clang-scan-deps] Fix for headers having the same name as a directory

Scan deps tool crashes when called on a C++ file, containing an include
that has the same name as a directory.
The tool crashes since it finds foo/dir and tries to read that as a file and fails.

Patch by: kousikk (Kousik Kumar)

Differential Revision: https://reviews.llvm.org/D67091
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h (diff)clang.src/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
The file was modified/cfe/trunk/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp (diff)clang.src/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
The file was added/cfe/trunk/test/ClangScanDeps/Inputs/foodirclang.src/test/ClangScanDeps/Inputs/foodir
The file was added/cfe/trunk/test/ClangScanDeps/Inputs/headerwithdirname.jsonclang.src/test/ClangScanDeps/Inputs/headerwithdirname.json
The file was added/cfe/trunk/test/ClangScanDeps/headerwithdirname.cppclang.src/test/ClangScanDeps/headerwithdirname.cpp
Revision 371901 by aemerson:
[GlobalISel] Fix insertion point of new instructions to be after PHIs.

For some reason we sometimes insert new instructions one instruction before
the first non-PHI when legalizing. This can result in having non-PHI
instructions before PHIs, which mean that PHI elimination doesn't catch them.

Differential Revision: https://reviews.llvm.org/D67570
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (diff)llvm.src/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir (diff)llvm.src/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir
Revision 371900 by steven_wu:
[NFC][libLTO] Rearrange declaration in lto.h

Summary:
Rearrange the function declaration in lto.h so they falls in the correct
doxygen group.

Reviewers: tejohnson, bd1976llvm, deadalnix

Reviewed By: tejohnson

Subscribers: mehdi_amini, inglorion, jkorous, dexonsmith, ributzka, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67565
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm-c/lto.h (diff)llvm.src/include/llvm-c/lto.h
Revision 371898 by sanjoy:
Add dependency from Orc to Passes

Summary: Orc uses registerFunctionAnalyses that's defined in Passes.

Reviewers: dblaikie

Subscribers: mcrosier, bixia, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67477
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/ExecutionEngine/Orc/LLVMBuild.txt (diff)llvm.src/lib/ExecutionEngine/Orc/LLVMBuild.txt
Revision 371897 by timshen:
Fix test to use %t for newly created files.

This is both for consistency with other `mkdir`s in tests, and
fixing permission issues with the non-temporary cwd during testing (they
are not always writable).
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/Driver/metadata-with-dots.c (diff)clang.src/test/Driver/metadata-with-dots.c
Revision 371895 by thegameg:
[llvm-opt-report] Improve error handling

* std::move the error extracted from the parsing creation to avoid asserts
* print a newline after the error message
* create the parser from the metadata
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-opt-report/OptReport.cpp (diff)llvm.src/tools/llvm-opt-report/OptReport.cpp
Revision 371894 by ericwf:
Fix C++03 build failures due to >>
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/include/type_traits (diff)libcxx.src/include/type_traits
Revision 371893 by paquette:
[AArch64][GlobalISel] Tail call memory intrinsics

Because memory intrinsics are handled differently than other calls, we need to
check them for tail call eligiblity in the legalizer. This allows us to still
inline them when it's beneficial to do so, but also tail call when possible.

This adds simple tail calling support for when the intrinsic is followed by a
return.

It ports the attribute checks from `TargetLowering::isInTailCallPosition` into
a similarly-named function in LegalizerHelper.cpp. The target-specific
`isUsedByReturnOnly` hook is not ported here.

Update tailcall-mem-intrinsics.ll to show that GlobalISel can now tail call
memory intrinsics.

Update legalize-memcpy-et-al.mir to have a case where we don't tail call.

Differential Revision: https://reviews.llvm.org/D67566
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/CallLowering.h (diff)llvm.src/include/llvm/CodeGen/GlobalISel/CallLowering.h
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (diff)llvm.src/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64CallLowering.cpp (diff)llvm.src/lib/Target/AArch64/AArch64CallLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/legalize-memcpy-et-al.mir (diff)llvm.src/test/CodeGen/AArch64/GlobalISel/legalize-memcpy-et-al.mir
The file was modified/llvm/trunk/test/CodeGen/AArch64/tailcall-mem-intrinsics.ll (diff)llvm.src/test/CodeGen/AArch64/tailcall-mem-intrinsics.ll
Revision 371892 by abataev:
[OPENMP5.0]Add basic support for declare variant directive.

Added basic support for declare variant directive and its match clause
with user context selector.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td (diff)clang.src/include/clang/Basic/DiagnosticParseKinds.td
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (diff)clang.src/include/clang/Basic/DiagnosticSemaKinds.td
The file was modified/cfe/trunk/include/clang/Basic/OpenMPKinds.def (diff)clang.src/include/clang/Basic/OpenMPKinds.def
The file was modified/cfe/trunk/include/clang/Parse/Parser.h (diff)clang.src/include/clang/Parse/Parser.h
The file was modified/cfe/trunk/include/clang/Sema/Sema.h (diff)clang.src/include/clang/Sema/Sema.h
The file was modified/cfe/trunk/lib/Basic/OpenMPKinds.cpp (diff)clang.src/lib/Basic/OpenMPKinds.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGOpenMPRuntime.cpp (diff)clang.src/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp (diff)clang.src/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
The file was modified/cfe/trunk/lib/Parse/ParseOpenMP.cpp (diff)clang.src/lib/Parse/ParseOpenMP.cpp
The file was modified/cfe/trunk/lib/Sema/SemaDecl.cpp (diff)clang.src/lib/Sema/SemaDecl.cpp
The file was modified/cfe/trunk/lib/Sema/SemaOpenMP.cpp (diff)clang.src/lib/Sema/SemaOpenMP.cpp
The file was added/cfe/trunk/test/OpenMP/declare_variant_messages.cclang.src/test/OpenMP/declare_variant_messages.c
The file was added/cfe/trunk/test/OpenMP/declare_variant_messages.cppclang.src/test/OpenMP/declare_variant_messages.cpp
Revision 371890 by Jan Korous:
[Support] Add overload writeFileAtomically(std::function Writer)

Differential Revision: https://reviews.llvm.org/D67424
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Frontend/ASTUnit.cpp (diff)clang.src/lib/Frontend/ASTUnit.cpp
The file was modified/cfe/trunk/lib/Serialization/GlobalModuleIndex.cpp (diff)clang.src/lib/Serialization/GlobalModuleIndex.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/BackgroundIndexStorage.cpp (diff)clang-tools-extra.src/clangd/index/BackgroundIndexStorage.cpp
The file was modified/lldb/trunk/tools/lldb-server/lldb-platform.cpp (diff)N/A
The file was modified/llvm/trunk/include/llvm/Support/FileUtilities.h (diff)llvm.src/include/llvm/Support/FileUtilities.h
The file was modified/llvm/trunk/lib/LTO/ThinLTOCodeGenerator.cpp (diff)llvm.src/lib/LTO/ThinLTOCodeGenerator.cpp
The file was modified/llvm/trunk/lib/Support/FileUtilities.cpp (diff)llvm.src/lib/Support/FileUtilities.cpp
Revision 371889 by dr87:
[Docs] Bug fix for reference to nonexistent document

This commit fixes a bug in which the toctree contained a reference to a non-existent document.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/index.rst (diff)llvm.src/docs/index.rst
Revision 371888 by kpn:
[FPEnv] Document that constrained FP intrinsics cannot be mixed with non-constrained

Reviewed by: andrew.w.kaylor, cameron.mcinally, uweigand
Approved by: andrew.w.kaylor
Differential Revision: https://reviews.llvm.org/D67360
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/LangRef.rst (diff)llvm.src/docs/LangRef.rst
Revision 371887 by spop:
[aarch64] move custom isel of extract_vector_elt to td file - NFC

In preparation for def-pat selection of dot product instructions,
this patch moves the custom instruction selection of extract_vector_elt
to the td file. Without this change it is impossible to catch a pattern that
starts with an extract_vector_elt: the custom cpp code is executed first
ahead of the patterns in the td files that are only executed at the end of
the switch statement in SelectCode(Node).

With this patch applied, it becomes possible to select a different pattern
that starts with extract_vector_elt by selecting a higher complexity than
this pattern.

The patch has been tested on aarch64-linux with make check-all.

Differential Revision: https://reviews.llvm.org/D67497
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp (diff)llvm.src/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.td (diff)llvm.src/lib/Target/AArch64/AArch64InstrInfo.td
Revision 371886 by ericwf:
Mark [[nodiscard]] test as unsupported with GCC 5
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/libcxx/thread/thread.lock/thread.lock.guard/nodiscard.fail.cpp (diff)libcxx.src/test/libcxx/thread/thread.lock/thread.lock.guard/nodiscard.fail.cpp
Revision 371884 by ericwf:
Fix pretty printer test with GCC
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/pretty_printers/gdb_pretty_printer_test.sh.cpp (diff)libcxx.src/test/pretty_printers/gdb_pretty_printer_test.sh.cpp
Revision 371883 by Tim Northover:
AArch64: fix EXPENSIVE_CHECKS for arm64_32.

For some reason I'd decided to mark the end-result of a GOT load as
dead. It's clearly not (necessarily).
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp (diff)llvm.src/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
Revision 371880 by ericwf:
Fix various test failures with GCC
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/include/type_traits (diff)libcxx.src/include/type_traits
The file was modified/libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp (diff)libcxx.src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/deduct.pass.cpp (diff)libcxx.src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/deduct.pass.cpp
Revision 371879 by spatel:
[SLP] add test for vectorization of constant expressions; NFC

Goes with D67362.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/X86/consecutive-access.ll (diff)llvm.src/test/Transforms/SLPVectorizer/X86/consecutive-access.ll
Revision 371878 by manojgupta:
Reland r371785: Add -Wpoison-system-directories warning

When using clang as a cross-compiler, we should not use system
headers to do the compilation.
This CL adds support of a new warning flag -Wpoison-system-directories which
emits warnings if --sysroot is set and headers from common host system location
are used.
By default the warning is disabled.

The intention of the warning is to catch bad includes which are usually
generated by third party build system not targeting cross-compilation.
Such cases happen in Chrome OS when someone imports a new package or upgrade
one to a newer version from upstream.

This is reland of r371785 with a fix to test file.

Patch by: denik (Denis Nikitin)
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticCommonKinds.td (diff)clang.src/include/clang/Basic/DiagnosticCommonKinds.td
The file was modified/cfe/trunk/lib/Frontend/InitHeaderSearch.cpp (diff)clang.src/lib/Frontend/InitHeaderSearch.cpp
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_treeclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/libclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/lib
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/lib/.keepclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/lib/.keep
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usrclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/includeclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/include
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/include/c++clang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/include/c++
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/include/c++/.keepclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/include/c++/.keep
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/libclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/lib
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/lib/gccclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/lib/gcc
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/lib/gcc/.keepclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/lib/gcc/.keep
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/localclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/local
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/local/includeclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/local/include
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/local/include/.keepclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/local/include/.keep
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/local/libclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/local/lib
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/local/lib/.keepclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/local/lib/.keep
The file was added/cfe/trunk/test/Frontend/warning-poison-system-directories.cclang.src/test/Frontend/warning-poison-system-directories.c
Revision 371877 by lebedevri:
[NFC][InstSimplify] Add some more tests for D67498/D67502
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstSimplify/result-of-add-of-negative-is-non-zero-and-no-underflow.ll (diff)llvm.src/test/Transforms/InstSimplify/result-of-add-of-negative-is-non-zero-and-no-underflow.ll
The file was modified/llvm/trunk/test/Transforms/InstSimplify/result-of-usub-is-non-zero-and-no-overflow.ll (diff)llvm.src/test/Transforms/InstSimplify/result-of-usub-is-non-zero-and-no-overflow.ll
Revision 371876 by erichkeane:
Fix build error in 371875

Apparently Clang complains about the name hiding here in a way that my
GCC build does not, so a shocking number of buildbots decided to tell me
about it.  Change the name of the variable to prevent the name hiding
and hope we don't have to fix this again.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/utils/TableGen/ClangAttrEmitter.cpp (diff)clang.src/utils/TableGen/ClangAttrEmitter.cpp
Revision 371875 by erichkeane:
[NFCI]Create CommonAttributeInfo Type as base type of *Attr and ParsedAttr.

In order to enable future improvements to our attribute diagnostics,
this moves info from ParsedAttr into CommonAttributeInfo, then makes
this type the base of the *Attr and ParsedAttr types. Quite a bit of
refactoring took place, including removing a bunch of redundant Spelling
Index propogation.

Differential Revision: https://reviews.llvm.org/D67368
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/Attr.h (diff)clang.src/include/clang/AST/Attr.h
The file was modified/cfe/trunk/include/clang/Basic/Attr.td (diff)clang.src/include/clang/Basic/Attr.td
The file was added/cfe/trunk/include/clang/Basic/AttributeCommonInfo.hclang.src/include/clang/Basic/AttributeCommonInfo.h
The file was modified/cfe/trunk/include/clang/Lex/Preprocessor.h (diff)clang.src/include/clang/Lex/Preprocessor.h
The file was modified/cfe/trunk/include/clang/Sema/ParsedAttr.h (diff)clang.src/include/clang/Sema/ParsedAttr.h
The file was modified/cfe/trunk/include/clang/Sema/Sema.h (diff)clang.src/include/clang/Sema/Sema.h
The file was modified/cfe/trunk/include/clang/Serialization/ASTBitCodes.h (diff)clang.src/include/clang/Serialization/ASTBitCodes.h
The file was modified/cfe/trunk/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp (diff)clang.src/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
The file was modified/cfe/trunk/lib/Lex/PPDirectives.cpp (diff)clang.src/lib/Lex/PPDirectives.cpp
The file was modified/cfe/trunk/lib/Lex/PPLexerChange.cpp (diff)clang.src/lib/Lex/PPLexerChange.cpp
The file was modified/cfe/trunk/lib/Lex/Pragma.cpp (diff)clang.src/lib/Lex/Pragma.cpp
The file was modified/cfe/trunk/lib/Parse/ParseDecl.cpp (diff)clang.src/lib/Parse/ParseDecl.cpp
The file was modified/cfe/trunk/lib/Parse/ParseDeclCXX.cpp (diff)clang.src/lib/Parse/ParseDeclCXX.cpp
The file was modified/cfe/trunk/lib/Parse/ParseExprCXX.cpp (diff)clang.src/lib/Parse/ParseExprCXX.cpp
The file was modified/cfe/trunk/lib/Parse/ParsePragma.cpp (diff)clang.src/lib/Parse/ParsePragma.cpp
The file was modified/cfe/trunk/lib/Parse/Parser.cpp (diff)clang.src/lib/Parse/Parser.cpp
The file was modified/cfe/trunk/lib/Sema/ParsedAttr.cpp (diff)clang.src/lib/Sema/ParsedAttr.cpp
The file was modified/cfe/trunk/lib/Sema/SemaAttr.cpp (diff)clang.src/lib/Sema/SemaAttr.cpp
The file was modified/cfe/trunk/lib/Sema/SemaDecl.cpp (diff)clang.src/lib/Sema/SemaDecl.cpp
The file was modified/cfe/trunk/lib/Sema/SemaDeclAttr.cpp (diff)clang.src/lib/Sema/SemaDeclAttr.cpp
The file was modified/cfe/trunk/lib/Sema/SemaDeclCXX.cpp (diff)clang.src/lib/Sema/SemaDeclCXX.cpp
The file was modified/cfe/trunk/lib/Sema/SemaObjCProperty.cpp (diff)clang.src/lib/Sema/SemaObjCProperty.cpp
The file was modified/cfe/trunk/lib/Sema/SemaOpenMP.cpp (diff)clang.src/lib/Sema/SemaOpenMP.cpp
The file was modified/cfe/trunk/lib/Sema/SemaStmtAttr.cpp (diff)clang.src/lib/Sema/SemaStmtAttr.cpp
The file was modified/cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp (diff)clang.src/lib/Sema/SemaTemplateInstantiate.cpp
The file was modified/cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpp (diff)clang.src/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modified/cfe/trunk/lib/Sema/SemaType.cpp (diff)clang.src/lib/Sema/SemaType.cpp
The file was modified/cfe/trunk/lib/Serialization/ASTReaderDecl.cpp (diff)clang.src/lib/Serialization/ASTReaderDecl.cpp
The file was modified/cfe/trunk/lib/Serialization/ASTWriter.cpp (diff)clang.src/lib/Serialization/ASTWriter.cpp
The file was modified/cfe/trunk/utils/TableGen/ClangAttrEmitter.cpp (diff)clang.src/utils/TableGen/ClangAttrEmitter.cpp
Revision 371874 by ericwf:
Fix failing negative compilation test for some versions of Clang
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/std/containers/sequences/vector/vector.modifiers/resize_not_move_insertable.fail.cpp (diff)libcxx.src/test/std/containers/sequences/vector/vector.modifiers/resize_not_move_insertable.fail.cpp
Revision 371873 by alex-t:
Revert for: [AMDGPU]: PHI Elimination hooks added for custom COPY insertion.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetInstrInfo.h (diff)llvm.src/include/llvm/CodeGen/TargetInstrInfo.h
The file was modified/llvm/trunk/lib/CodeGen/PHIElimination.cpp (diff)llvm.src/lib/CodeGen/PHIElimination.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.h (diff)llvm.src/lib/Target/AMDGPU/SIInstrInfo.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/SILowerControlFlow.cpp (diff)llvm.src/lib/Target/AMDGPU/SILowerControlFlow.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/phi-elimination-assertion.mir (diff)llvm.src/test/CodeGen/AMDGPU/phi-elimination-assertion.mir
The file was removed/llvm/trunk/test/CodeGen/AMDGPU/phi-elimination-end-cf.mirllvm.src/test/CodeGen/AMDGPU/phi-elimination-end-cf.mir
Revision 371872 by delcypher:
Fix bug in `darwin_test_archs()` when the cache variable is set but empty.

Summary:
If the cache variable named in `${valid_archs}` (e.g. `DARWIN_osx_BUILTIN_ARCHS`)
is set in the cache but is empty then the cache check
`if(${valid_archs})` will be false so the function will probe the
compiler but the `set(...)` command at the end of the function to update
the cache variable will be a no-op. This is because `set(...)` will not
update an existing cache variable unless the `FORCE` argument is
provided.

To fix this this patch adds `FORCE` so the cache is always updated.

rdar://problem/55323665

Reviewers: vsk, kubamracek

Subscribers: mgorny, #sanitizers, llvm-commits

Tags: #llvm, #sanitizers

Differential Revision: https://reviews.llvm.org/D67530
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/cmake/Modules/CompilerRTDarwinUtils.cmake (diff)compiler-rt.src/cmake/Modules/CompilerRTDarwinUtils.cmake
Revision 371871 by delcypher:
[CMake] Separate the detection Darwin platforms architectures for the
built-ins from the rest of compiler-rt.

The detection of supported platform (os) architectures for Darwin relies
on the `darwin_test_archs()` CMake function. This is used both for
building the builtins (`builtin-config-ix.cmake`) and for the rest of
the compiler-rt (`config-ix.cmake`).

`darwin_test_archs()`  implements a cache, presumably to speed up CMake
re-configures.  Unfortunately this caching is buggy because it depends
on external global state (i.e. the `TEST_COMPILE_ONLY` variable) and
this is not taken into account. For `config-ix.cmake`
`TEST_COMPILE_ONLY` is not set and for `builtin-config-ix.cmake`
`TEST_COMPILE_ONLY` is set to `On`.  This makes the
`darwin_test_archs()` function racey in the sense that a call from one
calling context will poison the cache for the other calling context.

This is actually an issue George Karpenkov discovered a while back
and had an incomplete patch for (https://reviews.llvm.org/D45337)
but this was never merged.

To workaround this, this patch switches to using a different set of
variables for the platform architecture builtins, i.e.
`DARWIN_<OS>_ARCHS` -> `DARWIN_<OS>_BUILTIN_ARCHS`. This avoids the
cache poisoning problem because the cached variable names are different.
This also has the advantage that the the configured architectures for
builtins and the rest of the compiler-rt are now independent and
can be set differently if necessary.

Note in `darwin_test_archs()` we also now pass `-w` to the compiler
because `try_compile_only()` treats compiler warnings as errors.  This
was extremely fragile because compiler warnings (can easily appear due
to a buggy compiler or SDK headers) would cause compiler-rt to think an
architecture on Darwin wasn't supported.

rdar://problem/48637491
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/cmake/Modules/CompilerRTDarwinUtils.cmake (diff)compiler-rt.src/cmake/Modules/CompilerRTDarwinUtils.cmake
The file was modified/compiler-rt/trunk/cmake/builtin-config-ix.cmake (diff)compiler-rt.src/cmake/builtin-config-ix.cmake
Revision 371870 by thegameg:
[Remarks][NFC] Forward declare ParsedStringTable
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Remarks/RemarkStringTable.h (diff)llvm.src/include/llvm/Remarks/RemarkStringTable.h
The file was modified/llvm/trunk/unittests/Remarks/YAMLRemarksSerializerTest.cpp (diff)llvm.src/unittests/Remarks/YAMLRemarksSerializerTest.cpp
Revision 371869 by thegameg:
[Remarks][NFC] Use StringLiteral for magic numbers
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Remarks/BitstreamRemarkContainer.h (diff)llvm.src/include/llvm/Remarks/BitstreamRemarkContainer.h
The file was modified/llvm/trunk/include/llvm/Remarks/RemarkFormat.h (diff)llvm.src/include/llvm/Remarks/RemarkFormat.h
Revision 371868 by paquette:
[AArch64][GlobalISel] Add support for sibcalling callees with varargs

This adds support for tail calling callees with varargs, equivalent to how it
is done in AArch64ISelLowering.

This only works for sibling calls, and does not add the necessary support for
musttail with varargs. (See r345641 for equivalent ISelLowering support.) This
should be implemented when we stop falling back on musttail.

Update call-translator-tail-call.ll to show that we can now tail call varargs.

Differential Revision: https://reviews.llvm.org/D67518
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64CallLowering.cpp (diff)llvm.src/lib/Target/AArch64/AArch64CallLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/call-translator-tail-call.ll (diff)llvm.src/test/CodeGen/AArch64/GlobalISel/call-translator-tail-call.ll
Revision 371867 by ericwf:
Recommit r370502: Make `vector` unconditionally move elements when
exceptions are disabled.

The patch was reverted due to some confusion about non-movable types. ie
types
that explicitly delete their move constructors. However, such types do
not meet
the requirement for `MoveConstructible`, which is required by
`std::vector`:

Summary:

`std::vector<T>` is free choose between using copy or move operations
when it
needs to resize. The standard only candidates that the correct exception
safety
guarantees are provided. When exceptions are disabled these guarantees
are
trivially satisfied. Meaning vector is free to optimize it's
implementation by
moving instead of copying.

This patch makes `std::vector` unconditionally move elements when
exceptions are
disabled. This optimization is conforming according to the current
standard wording.

There are concerns that moving in `-fno-noexceptions`mode will be a
surprise to
users. For example, a user may be surprised to find their code is slower
with
exceptions enabled than it is disabled. I'm sympathetic to this
surprised, but
I don't think it should block this optimization.

Reviewers: mclow.lists, ldionne, rsmith
Reviewed By: ldionne
Subscribers: zoecarver, christof, dexonsmith, libcxx-commits
Tags: #libc
Differential Revision: https://reviews.llvm.org/D62228
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/include/memory (diff)libcxx.src/include/memory
The file was modified/libcxx/trunk/include/vector (diff)libcxx.src/include/vector
The file was added/libcxx/trunk/test/libcxx/containers/sequences/vector/exception_safety_exceptions_disabled.sh.cpplibcxx.src/test/libcxx/containers/sequences/vector/exception_safety_exceptions_disabled.sh.cpp
The file was removed/libcxx/trunk/test/std/containers/sequences/vector/vector.modifiers/resize.copy_only.pass.sh.cpplibcxx.src/test/std/containers/sequences/vector/vector.modifiers/resize.copy_only.pass.sh.cpp
The file was added/libcxx/trunk/test/std/containers/sequences/vector/vector.modifiers/resize_not_move_insertable.fail.cpplibcxx.src/test/std/containers/sequences/vector/vector.modifiers/resize_not_move_insertable.fail.cpp
Revision 371865 by grimar:
[yaml2obj/ObjectYAML] - Cleanup the error reporting API, add custom errors handlers.

This is a continuation of the YAML library error reporting
refactoring/improvement and the idea by itself was mentioned
in the following thread:
https://reviews.llvm.org/D67182?id=218714#inline-603404

This performs a cleanup of all object emitters in the library.
It allows using the custom one provided by the caller.

One of the nice things is that each tool can now print its tool name,
e.g: "yaml2obj: error: <text>"

Also, the code became a bit simpler.

Differential revision: https://reviews.llvm.org/D67445
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ObjectYAML/yaml2obj.h (diff)llvm.src/include/llvm/ObjectYAML/yaml2obj.h
The file was modified/llvm/trunk/lib/ObjectYAML/COFFEmitter.cpp (diff)llvm.src/lib/ObjectYAML/COFFEmitter.cpp
The file was modified/llvm/trunk/lib/ObjectYAML/ELFEmitter.cpp (diff)llvm.src/lib/ObjectYAML/ELFEmitter.cpp
The file was modified/llvm/trunk/lib/ObjectYAML/MachOEmitter.cpp (diff)llvm.src/lib/ObjectYAML/MachOEmitter.cpp
The file was modified/llvm/trunk/lib/ObjectYAML/MinidumpEmitter.cpp (diff)llvm.src/lib/ObjectYAML/MinidumpEmitter.cpp
The file was modified/llvm/trunk/lib/ObjectYAML/WasmEmitter.cpp (diff)llvm.src/lib/ObjectYAML/WasmEmitter.cpp
The file was modified/llvm/trunk/lib/ObjectYAML/yaml2obj.cpp (diff)llvm.src/lib/ObjectYAML/yaml2obj.cpp
The file was modified/llvm/trunk/test/ObjectYAML/wasm/invalid_section_order.yaml (diff)llvm.src/test/ObjectYAML/wasm/invalid_section_order.yaml
The file was modified/llvm/trunk/test/tools/yaml2obj/coff-invalid-alignment.test (diff)llvm.src/test/tools/yaml2obj/coff-invalid-alignment.test
The file was modified/llvm/trunk/test/tools/yaml2obj/dynsymtab-implicit-sections-size-content.yaml (diff)llvm.src/test/tools/yaml2obj/dynsymtab-implicit-sections-size-content.yaml
The file was modified/llvm/trunk/test/tools/yaml2obj/empty-or-invalid-doc.yaml (diff)llvm.src/test/tools/yaml2obj/empty-or-invalid-doc.yaml
The file was modified/llvm/trunk/test/tools/yaml2obj/invalid-docnum.test (diff)llvm.src/test/tools/yaml2obj/invalid-docnum.test
The file was modified/llvm/trunk/test/tools/yaml2obj/invalid_output_file.test (diff)llvm.src/test/tools/yaml2obj/invalid_output_file.test
The file was modified/llvm/trunk/test/tools/yaml2obj/missing_document_tag.yaml (diff)llvm.src/test/tools/yaml2obj/missing_document_tag.yaml
The file was modified/llvm/trunk/test/tools/yaml2obj/multi-doc.test (diff)llvm.src/test/tools/yaml2obj/multi-doc.test
The file was modified/llvm/trunk/test/tools/yaml2obj/reloc-sec-info.yaml (diff)llvm.src/test/tools/yaml2obj/reloc-sec-info.yaml
The file was modified/llvm/trunk/test/tools/yaml2obj/section-size-content.yaml (diff)llvm.src/test/tools/yaml2obj/section-size-content.yaml
The file was modified/llvm/trunk/tools/llvm-ifs/llvm-ifs.cpp (diff)llvm.src/tools/llvm-ifs/llvm-ifs.cpp
The file was modified/llvm/trunk/tools/yaml2obj/yaml2obj.cpp (diff)llvm.src/tools/yaml2obj/yaml2obj.cpp
The file was modified/llvm/trunk/unittests/ObjectYAML/MinidumpYAMLTest.cpp (diff)llvm.src/unittests/ObjectYAML/MinidumpYAMLTest.cpp
The file was modified/llvm/trunk/unittests/ObjectYAML/YAML2ObjTest.cpp (diff)llvm.src/unittests/ObjectYAML/YAML2ObjTest.cpp
Revision 371864 by marshall:
Only initialize the streams cout/wcout/cerr/wcerr etc once, rather than any time Init::Init is called. Fixes PR#43300
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/src/iostream.cpp (diff)libcxx.src/src/iostream.cpp
The file was added/libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.types/ios_Init/ios_Init.multiple.pass.cpplibcxx.src/test/std/input.output/iostreams.base/ios.base/ios.types/ios_Init/ios_Init.multiple.pass.cpp
Revision 371863 by ericwf:
Fix build in C++20
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/src/experimental/memory_resource.cpp (diff)libcxx.src/src/experimental/memory_resource.cpp
Revision 371862 by jhenderson:
[docs][llvm-readelf][llvm-readobj] Improve --stack-sizes documentation

llvm-readobj's document was missing --stack-sizes entirely from its
document, so this patch adds it. It also adds a note to the llvm-readelf
description that the switch is only implemented for GNU style output
currently. For reference, --stack-sizes was added in r367942.

Reviewed by: MaskRay

Differential Revision: https://reviews.llvm.org/D67548
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-readelf.rst (diff)llvm.src/docs/CommandGuide/llvm-readelf.rst
The file was modified/llvm/trunk/docs/CommandGuide/llvm-readobj.rst (diff)llvm.src/docs/CommandGuide/llvm-readobj.rst
Revision 371861 by ctopper:
[X86] Use incDecVectorConstant to simplify the min/max code in LowerVSETCC.

incDecVectorConstant is used for a similar reason in LowerVSETCCWithSUBUS
so we might as well share the code.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
Revision 371860 by nico:
Fix a few spellos in docs.

(Trying to debug an incremental build thing on a bot...)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/BuildingADistribution.rst (diff)llvm.src/docs/BuildingADistribution.rst
The file was modified/llvm/trunk/docs/CommandGuide/llvm-nm.rst (diff)llvm.src/docs/CommandGuide/llvm-nm.rst
The file was modified/llvm/trunk/docs/LangRef.rst (diff)llvm.src/docs/LangRef.rst
The file was modified/llvm/trunk/docs/ORCv2.rst (diff)llvm.src/docs/ORCv2.rst
The file was modified/llvm/trunk/docs/PDB/MsfFile.rst (diff)llvm.src/docs/PDB/MsfFile.rst
The file was modified/llvm/trunk/docs/SpeculativeLoadHardening.md (diff)llvm.src/docs/SpeculativeLoadHardening.md
The file was modified/llvm/trunk/docs/tutorial/MyFirstLanguageFrontend/LangImpl04.rst (diff)llvm.src/docs/tutorial/MyFirstLanguageFrontend/LangImpl04.rst
The file was modified/llvm/trunk/docs/tutorial/MyFirstLanguageFrontend/LangImpl07.rst (diff)llvm.src/docs/tutorial/MyFirstLanguageFrontend/LangImpl07.rst
Revision 371859 by dgoldman:
[Sema][Typo Correction] Fix potential infite loop on ambiguity checks

Summary:
This fixes a bug introduced in D62648, where Clang could infinite loop
if it became stuck on a single TypoCorrection when it was supposed to
be testing ambiguous corrections. Although not a common case, it could
happen if there are multiple possible corrections with the same edit
distance.

The fix is simply to wipe the TypoExpr from the `TransformCache` so that
the call to `TransformTypoExpr` doesn't use the `CachedEntry`.

Reviewers: rsmith

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D67515
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Sema/SemaExprCXX.cpp (diff)clang.src/lib/Sema/SemaExprCXX.cpp
The file was added/cfe/trunk/test/Sema/typo-correction-ambiguity.cppclang.src/test/Sema/typo-correction-ambiguity.cpp
Revision 371858 by nico:
gn build: pacify "gn format" after 371102
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn (diff)llvm.src/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
Revision 371857 by jsji:
[PowerPC][NFC] Move codegen tests to PowerPC from MIR/PowerPC

All tests with -run-pass !=none should not in MIR/, See MIR/README.

```
Tests for codegen passes should NOT be here but in
test/CodeGen/sometarget. As
a rule of thumb this directory should only contain tests using
'llc -run-pass none'.
```
Change TypePath in RepositoryPath in Workspace
The file was removed/llvm/trunk/test/CodeGen/MIR/PowerPC/ifcvt-diamond-ret.mirllvm.src/test/CodeGen/MIR/PowerPC/ifcvt-diamond-ret.mir
The file was removed/llvm/trunk/test/CodeGen/MIR/PowerPC/machine-backward-cp.mirllvm.src/test/CodeGen/MIR/PowerPC/machine-backward-cp.mir
The file was removed/llvm/trunk/test/CodeGen/MIR/PowerPC/peephole-miscompile-extswsli.mirllvm.src/test/CodeGen/MIR/PowerPC/peephole-miscompile-extswsli.mir
The file was removed/llvm/trunk/test/CodeGen/MIR/PowerPC/prolog_vec_spills.mirllvm.src/test/CodeGen/MIR/PowerPC/prolog_vec_spills.mir
The file was added/llvm/trunk/test/CodeGen/PowerPC/ifcvt-diamond-ret.mirllvm.src/test/CodeGen/PowerPC/ifcvt-diamond-ret.mir
The file was added/llvm/trunk/test/CodeGen/PowerPC/machine-backward-cp.mirllvm.src/test/CodeGen/PowerPC/machine-backward-cp.mir
The file was added/llvm/trunk/test/CodeGen/PowerPC/peephole-miscompile-extswsli.mirllvm.src/test/CodeGen/PowerPC/peephole-miscompile-extswsli.mir
The file was added/llvm/trunk/test/CodeGen/PowerPC/prolog_vec_spills.mirllvm.src/test/CodeGen/PowerPC/prolog_vec_spills.mir
Revision 371856 by d0k:
[ADT] Remove a workaround for old versions of clang
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ADT/DenseMap.h (diff)llvm.src/include/llvm/ADT/DenseMap.h
Revision 371855 by jhenderson:
[docs][llvm-objcopy][llvm-strip] Improve --strip-unneeded description

Behaviour was recently added to this switch to strip debug sections too.
See r369761.

This change also makes the description for the --strip-unneeded switch
consistent between the two docs.

Reviewed by: MaskRay

Differential Revision: https://reviews.llvm.org/D67546
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
Revision 371854 by nico:
clang-format: Add support for formatting (some) lambdas with explicit template parameters.

This patch makes cases work where the lambda's template list doesn't
contain any of + - ! ~ / % << | || && ^ == != >= <= ? : true false
(see added FIXME).

Ports r359967 to clang-format.

Differential Revision: https://reviews.llvm.org/D67246
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Format/TokenAnnotator.cpp (diff)clang.src/lib/Format/TokenAnnotator.cpp
The file was modified/cfe/trunk/lib/Format/UnwrappedLineParser.cpp (diff)clang.src/lib/Format/UnwrappedLineParser.cpp
The file was modified/cfe/trunk/unittests/Format/FormatTest.cpp (diff)clang.src/unittests/Format/FormatTest.cpp
Revision 371853 by lukecheeseman:
Fix depfile name construction

- When using -o, the provided filename is using for constructing the depfile
  name (when -MMD is passed).
- The logic looks for the rightmost '.' character and replaces what comes after
  with 'd'.
- This works incorrectly when the filename has no extension and the directories
  have '.' in them (e.g. out.dir/test)
- This replaces the funciton to just llvm::sys::path functionality

Differential Revision: https://reviews.llvm.org/D67542
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Driver/ToolChains/Clang.cpp (diff)clang.src/lib/Driver/ToolChains/Clang.cpp
The file was added/cfe/trunk/test/Driver/metadata-with-dots.cclang.src/test/Driver/metadata-with-dots.c
Revision 371851 by nico:
gn build: (manually) merge r371834, take 2
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/clang/lib/AST/BUILD.gn (diff)llvm.src/utils/gn/secondary/clang/lib/AST/BUILD.gn
The file was removed/llvm/trunk/utils/gn/secondary/clang/lib/AST/Interpllvm.src/utils/gn/secondary/clang/lib/AST/Interp
The file was modified/llvm/trunk/utils/gn/secondary/clang/utils/TableGen/BUILD.gn (diff)llvm.src/utils/gn/secondary/clang/utils/TableGen/BUILD.gn
Revision 371850 by nico:
Revert "gn build: (manually) merge r371834"

This reverts commit abc7e2b6004cd693cf3b6dedbc7908e099c7ac6a.
The commit was incomplete. I'll revert and reland the full commit,
so that the correct change is a single commit.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/clang/lib/AST/BUILD.gn (diff)llvm.src/utils/gn/secondary/clang/lib/AST/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang/lib/AST/Interpllvm.src/utils/gn/secondary/clang/lib/AST/Interp
The file was added/llvm/trunk/utils/gn/secondary/clang/lib/AST/Interp/BUILD.gnllvm.src/utils/gn/secondary/clang/lib/AST/Interp/BUILD.gn
Revision 371849 by nico:
gn build: (manually) merge r371834
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/clang/lib/AST/BUILD.gn (diff)llvm.src/utils/gn/secondary/clang/lib/AST/BUILD.gn
The file was removed/llvm/trunk/utils/gn/secondary/clang/lib/AST/Interpllvm.src/utils/gn/secondary/clang/lib/AST/Interp
Revision 371848 by nico:
gn build: Merge r371822
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/compiler-rt/include/BUILD.gn (diff)llvm.src/utils/gn/secondary/compiler-rt/include/BUILD.gn
Revision 371847 by nico:
gn build: (manually) merge r371787
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/clang/tools/libclang/BUILD.gn (diff)llvm.src/utils/gn/secondary/clang/tools/libclang/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/clang/unittests/BUILD.gn (diff)llvm.src/utils/gn/secondary/clang/unittests/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang/unittests/libclang/CrashTestsllvm.src/utils/gn/secondary/clang/unittests/libclang/CrashTests
The file was added/llvm/trunk/utils/gn/secondary/clang/unittests/libclang/CrashTests/BUILD.gnllvm.src/utils/gn/secondary/clang/unittests/libclang/CrashTests/BUILD.gn
Revision 371846 by d0k:
[ADT] Make DenseMap use allocate_buffer

This unlocks some goodies like sized deletion and gets the alignment
right on platforms that chose to provide a lower default new alignment.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ADT/DenseMap.h (diff)llvm.src/include/llvm/ADT/DenseMap.h
Revision 371845 by jhenderson:
[llvm-size] Fix spelling errors (Berkely -> Berkeley)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-size/llvm-size.cpp (diff)llvm.src/tools/llvm-size/llvm-size.cpp
Revision 371844 by d0k:
[Orc] Roll back ThreadPool to std::function

MSVC doesn't allow move-only types in std::packaged_task. Boo.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/examples/SpeculativeJIT/SpeculativeJIT.cpp (diff)llvm.src/examples/SpeculativeJIT/SpeculativeJIT.cpp
The file was modified/llvm/trunk/include/llvm/Support/ThreadPool.h (diff)llvm.src/include/llvm/Support/ThreadPool.h
The file was modified/llvm/trunk/lib/ExecutionEngine/Orc/LLJIT.cpp (diff)llvm.src/lib/ExecutionEngine/Orc/LLJIT.cpp
Revision 371843 by d0k:
[Orc] Address the remaining move-capture FIXMEs

This required spreading unique_function a bit more, which I think is a
good thing.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/examples/SpeculativeJIT/SpeculativeJIT.cpp (diff)llvm.src/examples/SpeculativeJIT/SpeculativeJIT.cpp
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/JITSymbol.h (diff)llvm.src/include/llvm/ExecutionEngine/JITSymbol.h
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/Orc/Core.h (diff)llvm.src/include/llvm/ExecutionEngine/Orc/Core.h
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h (diff)llvm.src/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/Orc/RPCSerialization.h (diff)llvm.src/include/llvm/ExecutionEngine/Orc/RPCSerialization.h
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/Orc/RPCUtils.h (diff)llvm.src/include/llvm/ExecutionEngine/Orc/RPCUtils.h
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/Orc/RemoteObjectLayer.h (diff)llvm.src/include/llvm/ExecutionEngine/Orc/RemoteObjectLayer.h
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/RuntimeDyld.h (diff)llvm.src/include/llvm/ExecutionEngine/RuntimeDyld.h
The file was modified/llvm/trunk/include/llvm/Support/ThreadPool.h (diff)llvm.src/include/llvm/Support/ThreadPool.h
The file was modified/llvm/trunk/lib/ExecutionEngine/Orc/LLJIT.cpp (diff)llvm.src/lib/ExecutionEngine/Orc/LLJIT.cpp
The file was modified/llvm/trunk/lib/ExecutionEngine/Orc/Legacy.cpp (diff)llvm.src/lib/ExecutionEngine/Orc/Legacy.cpp
The file was modified/llvm/trunk/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp (diff)llvm.src/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
The file was modified/llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp (diff)llvm.src/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
The file was modified/llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h (diff)llvm.src/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
The file was modified/llvm/trunk/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp (diff)llvm.src/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
Revision 371840 by rksimon:
[X86] negateFMAOpcode - extend to support FMADDSUB/FMSUBADD and output negation. NFCI.

Some prep work for PR42863, this change allows us to move all the FMA opcode mappings into the negateFMAOpcode helper.

For the FMADDSUB/FMSUBADD cases, we can only negate the accumulator - any other negations will result in an error.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
Revision 371839 by martong:
[ASTImporter] Add development internals docs

Reviewers: a_sidorin, shafik, teemperor, gamesh411, balazske, dkrupp, a.sidorin

Subscribers: rnkovacs, Szelethus, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D66336
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/InternalsManual.rst (diff)clang.src/docs/InternalsManual.rst
Revision 371838 by dmgreen:
[ARM] Add earlyclobber for cross beat MVE instructions

rL367544 added @earlyclobbers for the MVE VREV64 instruction. This adds the
same for a number of other 32bit instructions that are similarly unpredictable
if the destination equals the source (due to the cross beat nature of the
instructions).
This includes:
  VCADD.f32
  VCADD.i32
  VCMUL.f32
  VHCADD.s32
  VMULLT/B.s/u32
  VQDMLADH{X}.s32
  VQRDMLADH{X}.s32
  VQDMLSDH{X}.s32
  VQRDMLSDH{X}.s32
  VQDMULLT/B.s32 with Qm and Rm

No tests here as this would require intrinsics (or very interesting codegen) to
manifest. The tests will follow naturally as the intrinsics are added.

Differential Revision: https://reviews.llvm.org/D67462
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
Revision 371834 by nand:
[Clang Interpreter] Initial patch for the constexpr interpreter

Summary:
This patch introduces the skeleton of the constexpr interpreter,
capable of evaluating a simple constexpr functions consisting of
if statements. The interpreter is described in more detail in the
RFC. Further patches will add more features.

Reviewers: Bigcheese, jfb, rsmith

Subscribers: bruno, uenoku, ldionne, Tyker, thegameg, tschuett, dexonsmith, mgorny, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D64146
Change TypePath in RepositoryPath in Workspace
The file was added/cfe/trunk/docs/ConstantInterpreter.rstclang.src/docs/ConstantInterpreter.rst
The file was modified/cfe/trunk/docs/index.rst (diff)clang.src/docs/index.rst
The file was modified/cfe/trunk/include/clang/AST/ASTContext.h (diff)clang.src/include/clang/AST/ASTContext.h
The file was added/cfe/trunk/include/clang/AST/OptionalDiagnostic.hclang.src/include/clang/AST/OptionalDiagnostic.h
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticASTKinds.td (diff)clang.src/include/clang/Basic/DiagnosticASTKinds.td
The file was modified/cfe/trunk/include/clang/Basic/LangOptions.def (diff)clang.src/include/clang/Basic/LangOptions.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/AST/ASTContext.cpp (diff)clang.src/lib/AST/ASTContext.cpp
The file was modified/cfe/trunk/lib/AST/CMakeLists.txt (diff)clang.src/lib/AST/CMakeLists.txt
The file was modified/cfe/trunk/lib/AST/ExprConstant.cpp (diff)clang.src/lib/AST/ExprConstant.cpp
The file was added/cfe/trunk/lib/AST/Interpclang.src/lib/AST/Interp
The file was added/cfe/trunk/lib/AST/Interp/Block.cppclang.src/lib/AST/Interp/Block.cpp
The file was added/cfe/trunk/lib/AST/Interp/Block.hclang.src/lib/AST/Interp/Block.h
The file was added/cfe/trunk/lib/AST/Interp/Boolean.hclang.src/lib/AST/Interp/Boolean.h
The file was added/cfe/trunk/lib/AST/Interp/ByteCodeEmitter.cppclang.src/lib/AST/Interp/ByteCodeEmitter.cpp
The file was added/cfe/trunk/lib/AST/Interp/ByteCodeEmitter.hclang.src/lib/AST/Interp/ByteCodeEmitter.h
The file was added/cfe/trunk/lib/AST/Interp/ByteCodeExprGen.cppclang.src/lib/AST/Interp/ByteCodeExprGen.cpp
The file was added/cfe/trunk/lib/AST/Interp/ByteCodeExprGen.hclang.src/lib/AST/Interp/ByteCodeExprGen.h
The file was added/cfe/trunk/lib/AST/Interp/ByteCodeGenError.cppclang.src/lib/AST/Interp/ByteCodeGenError.cpp
The file was added/cfe/trunk/lib/AST/Interp/ByteCodeGenError.hclang.src/lib/AST/Interp/ByteCodeGenError.h
The file was added/cfe/trunk/lib/AST/Interp/ByteCodeStmtGen.cppclang.src/lib/AST/Interp/ByteCodeStmtGen.cpp
The file was added/cfe/trunk/lib/AST/Interp/ByteCodeStmtGen.hclang.src/lib/AST/Interp/ByteCodeStmtGen.h
The file was added/cfe/trunk/lib/AST/Interp/Context.cppclang.src/lib/AST/Interp/Context.cpp
The file was added/cfe/trunk/lib/AST/Interp/Context.hclang.src/lib/AST/Interp/Context.h
The file was added/cfe/trunk/lib/AST/Interp/Descriptor.cppclang.src/lib/AST/Interp/Descriptor.cpp
The file was added/cfe/trunk/lib/AST/Interp/Descriptor.hclang.src/lib/AST/Interp/Descriptor.h
The file was added/cfe/trunk/lib/AST/Interp/Disasm.cppclang.src/lib/AST/Interp/Disasm.cpp
The file was added/cfe/trunk/lib/AST/Interp/EvalEmitter.cppclang.src/lib/AST/Interp/EvalEmitter.cpp
The file was added/cfe/trunk/lib/AST/Interp/EvalEmitter.hclang.src/lib/AST/Interp/EvalEmitter.h
The file was added/cfe/trunk/lib/AST/Interp/Frame.cppclang.src/lib/AST/Interp/Frame.cpp
The file was added/cfe/trunk/lib/AST/Interp/Frame.hclang.src/lib/AST/Interp/Frame.h
The file was added/cfe/trunk/lib/AST/Interp/Function.cppclang.src/lib/AST/Interp/Function.cpp
The file was added/cfe/trunk/lib/AST/Interp/Function.hclang.src/lib/AST/Interp/Function.h
The file was added/cfe/trunk/lib/AST/Interp/Integral.hclang.src/lib/AST/Interp/Integral.h
The file was added/cfe/trunk/lib/AST/Interp/Interp.cppclang.src/lib/AST/Interp/Interp.cpp
The file was added/cfe/trunk/lib/AST/Interp/Interp.hclang.src/lib/AST/Interp/Interp.h
The file was added/cfe/trunk/lib/AST/Interp/InterpFrame.cppclang.src/lib/AST/Interp/InterpFrame.cpp
The file was added/cfe/trunk/lib/AST/Interp/InterpFrame.hclang.src/lib/AST/Interp/InterpFrame.h
The file was added/cfe/trunk/lib/AST/Interp/InterpStack.cppclang.src/lib/AST/Interp/InterpStack.cpp
The file was added/cfe/trunk/lib/AST/Interp/InterpStack.hclang.src/lib/AST/Interp/InterpStack.h
The file was added/cfe/trunk/lib/AST/Interp/InterpState.cppclang.src/lib/AST/Interp/InterpState.cpp
The file was added/cfe/trunk/lib/AST/Interp/InterpState.hclang.src/lib/AST/Interp/InterpState.h
The file was added/cfe/trunk/lib/AST/Interp/Opcode.hclang.src/lib/AST/Interp/Opcode.h
The file was added/cfe/trunk/lib/AST/Interp/Opcodes.tdclang.src/lib/AST/Interp/Opcodes.td
The file was added/cfe/trunk/lib/AST/Interp/Pointer.cppclang.src/lib/AST/Interp/Pointer.cpp
The file was added/cfe/trunk/lib/AST/Interp/Pointer.hclang.src/lib/AST/Interp/Pointer.h
The file was added/cfe/trunk/lib/AST/Interp/PrimType.cppclang.src/lib/AST/Interp/PrimType.cpp
The file was added/cfe/trunk/lib/AST/Interp/PrimType.hclang.src/lib/AST/Interp/PrimType.h
The file was added/cfe/trunk/lib/AST/Interp/Program.cppclang.src/lib/AST/Interp/Program.cpp
The file was added/cfe/trunk/lib/AST/Interp/Program.hclang.src/lib/AST/Interp/Program.h
The file was added/cfe/trunk/lib/AST/Interp/Record.cppclang.src/lib/AST/Interp/Record.cpp
The file was added/cfe/trunk/lib/AST/Interp/Record.hclang.src/lib/AST/Interp/Record.h
The file was added/cfe/trunk/lib/AST/Interp/Source.cppclang.src/lib/AST/Interp/Source.cpp
The file was added/cfe/trunk/lib/AST/Interp/Source.hclang.src/lib/AST/Interp/Source.h
The file was added/cfe/trunk/lib/AST/Interp/State.cppclang.src/lib/AST/Interp/State.cpp
The file was added/cfe/trunk/lib/AST/Interp/State.hclang.src/lib/AST/Interp/State.h
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/AST/Interpclang.src/test/AST/Interp
The file was added/cfe/trunk/test/AST/Interp/cond.cppclang.src/test/AST/Interp/cond.cpp
The file was modified/cfe/trunk/utils/TableGen/CMakeLists.txt (diff)clang.src/utils/TableGen/CMakeLists.txt
The file was added/cfe/trunk/utils/TableGen/ClangOpcodesEmitter.cppclang.src/utils/TableGen/ClangOpcodesEmitter.cpp
The file was modified/cfe/trunk/utils/TableGen/TableGen.cpp (diff)clang.src/utils/TableGen/TableGen.cpp
The file was modified/cfe/trunk/utils/TableGen/TableGenBackends.h (diff)clang.src/utils/TableGen/TableGenBackends.h
The file was modified/llvm/trunk/include/llvm/Support/MathExtras.h (diff)llvm.src/include/llvm/Support/MathExtras.h
The file was modified/llvm/trunk/utils/gn/secondary/clang/lib/AST/BUILD.gn (diff)llvm.src/utils/gn/secondary/clang/lib/AST/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang/lib/AST/Interpllvm.src/utils/gn/secondary/clang/lib/AST/Interp
The file was added/llvm/trunk/utils/gn/secondary/clang/lib/AST/Interp/BUILD.gnllvm.src/utils/gn/secondary/clang/lib/AST/Interp/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/clang/utils/TableGen/BUILD.gn (diff)llvm.src/utils/gn/secondary/clang/utils/TableGen/BUILD.gn
Revision 371833 by sjoerdmeijer:
[AArch64] More @llvm.fma.f16 tests

Follow up of rL371321 that added FMA FP16 patterns. This adds more tests
for @llvm.fma.f16. This probably shows we miss one fmsub optimisation
opportunity, which I will look into.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/AArch64/fp16_intrinsic_scalar_3op.ll (diff)llvm.src/test/CodeGen/AArch64/fp16_intrinsic_scalar_3op.ll
Revision 371832 by sylvestre:
Fix a perl warning: Scalar value @ArgParts[0] better written as $ArgParts[0] at /usr/share/clang/scan-build-10/libexec/ccc-analyzer line 502.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/tools/scan-build/libexec/ccc-analyzer (diff)clang.src/tools/scan-build/libexec/ccc-analyzer
Revision 371831 by gchatelet:
[Alignment] Introduce llvm::Align to MCSection

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, JDevlieghere

Subscribers: arsenm, sdardis, jvesely, nhaehnle, sbc100, hiraditya, aheejin, jrtc27, atanasyan, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67486
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/MC/MCSection.h (diff)llvm.src/include/llvm/MC/MCSection.h
The file was modified/llvm/trunk/lib/MC/ELFObjectWriter.cpp (diff)llvm.src/lib/MC/ELFObjectWriter.cpp
The file was modified/llvm/trunk/lib/MC/MCELFStreamer.cpp (diff)llvm.src/lib/MC/MCELFStreamer.cpp
The file was modified/llvm/trunk/lib/MC/MCObjectStreamer.cpp (diff)llvm.src/lib/MC/MCObjectStreamer.cpp
The file was modified/llvm/trunk/lib/MC/MCWinCOFFStreamer.cpp (diff)llvm.src/lib/MC/MCWinCOFFStreamer.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp (diff)llvm.src/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsOptionRecord.cpp (diff)llvm.src/lib/Target/Mips/MCTargetDesc/MipsOptionRecord.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp (diff)llvm.src/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
The file was modified/llvm/trunk/tools/dsymutil/DwarfStreamer.cpp (diff)llvm.src/tools/dsymutil/DwarfStreamer.cpp
Revision 371828 by grimar:
[lib/ObjectYAML] - Change interface to return `bool` instead of `int`. NFCI

It was suggested in comments for D67445 to split this part.

Differential revision: https://reviews.llvm.org/D67488
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ObjectYAML/yaml2obj.h (diff)llvm.src/include/llvm/ObjectYAML/yaml2obj.h
The file was modified/llvm/trunk/lib/ObjectYAML/COFFEmitter.cpp (diff)llvm.src/lib/ObjectYAML/COFFEmitter.cpp
The file was modified/llvm/trunk/lib/ObjectYAML/ELFEmitter.cpp (diff)llvm.src/lib/ObjectYAML/ELFEmitter.cpp
The file was modified/llvm/trunk/lib/ObjectYAML/MachOEmitter.cpp (diff)llvm.src/lib/ObjectYAML/MachOEmitter.cpp
The file was modified/llvm/trunk/lib/ObjectYAML/MinidumpEmitter.cpp (diff)llvm.src/lib/ObjectYAML/MinidumpEmitter.cpp
The file was modified/llvm/trunk/lib/ObjectYAML/WasmEmitter.cpp (diff)llvm.src/lib/ObjectYAML/WasmEmitter.cpp
The file was modified/llvm/trunk/lib/ObjectYAML/yaml2obj.cpp (diff)llvm.src/lib/ObjectYAML/yaml2obj.cpp
Revision 371827 by samtebbs:
[ARM] Add support for MVE vmaxv and vminv

This patch adds vecreduce_smax, vecredude_umax, vecreduce_smin, vecreduce_umin and selection for vmaxv and minv.

Differential Revision: https://reviews.llvm.org/D66413
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Target/TargetSelectionDAG.td (diff)llvm.src/include/llvm/Target/TargetSelectionDAG.td
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 added/llvm/trunk/test/CodeGen/Thumb2/mve-vmaxv.llllvm.src/test/CodeGen/Thumb2/mve-vmaxv.ll
Revision 371826 by grimar:
[llvm-objdump] Fix llvm-objdump --all-headers output order

Patch by Justice Adams!

Made llvm-objdump --all-headers output match the order of GNU objdump for compatibility reasons.

Old order of the headers output:
* file header
* section header table
* symbol table
* program header table
* dynamic section

New order of the headers output (GNU compatible):
* file header information
* program header table
* dynamic section
* section header table
* symbol table

(Relevant BugZilla Bug: https://bugs.llvm.org/show_bug.cgi?id=41830)

Differential revision: https://reviews.llvm.org/D67357
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-objdump/all-headers.test (diff)llvm.src/test/tools/llvm-objdump/all-headers.test
The file was modified/llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp (diff)llvm.src/tools/llvm-objdump/llvm-objdump.cpp
Revision 371824 by gribozavr:
Revert "Fix test failures after r371640"

This reverts commit r371645, because r371640 was reverted.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/DebugInfo/WebAssembly/dbg-value-move-reg-stackify.mir (diff)llvm.src/test/DebugInfo/WebAssembly/dbg-value-move-reg-stackify.mir
The file was modified/llvm/trunk/test/DebugInfo/X86/live-debug-vars-discard-invalid.mir (diff)llvm.src/test/DebugInfo/X86/live-debug-vars-discard-invalid.mir
Revision 371822 by pgousseau:
[compiler-rt] Add ubsan interface header.

This is to document __ubsan_default_options().

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D67503
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/include/CMakeLists.txt (diff)compiler-rt.src/include/CMakeLists.txt
The file was added/compiler-rt/trunk/include/sanitizer/ubsan_interface.hcompiler-rt.src/include/sanitizer/ubsan_interface.h
Revision 371820 by balazske:
[Clang][ASTImporter] Added visibility check for FunctionTemplateDecl.

Summary:
ASTImporter makes now difference between function templates with same
name in different translation units if these are not visible outside.

Reviewers: martong, a.sidorin, shafik, a_sidorin

Reviewed By: a_sidorin

Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D67490
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/AST/ASTImporter.cpp (diff)clang.src/lib/AST/ASTImporter.cpp
The file was modified/cfe/trunk/unittests/AST/ASTImporterVisibilityTest.cpp (diff)clang.src/unittests/AST/ASTImporterVisibilityTest.cpp
Revision 371819 by fhahn:
[BasicBlockUtils] Add optional BBName argument, in line with BB:splitBasicBlock

Reviewers: spatel, asbirlea, craig.topper

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D67521
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/Utils/BasicBlockUtils.h (diff)llvm.src/include/llvm/Transforms/Utils/BasicBlockUtils.h
The file was modified/llvm/trunk/lib/Transforms/Utils/BasicBlockUtils.cpp (diff)llvm.src/lib/Transforms/Utils/BasicBlockUtils.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/LoopVersioning.cpp (diff)llvm.src/lib/Transforms/Utils/LoopVersioning.cpp
Revision 371818 by sjoerdmeijer:
[AArch64] MachineCombiner FMA matching. NFC.

Follow-up of rL371321 that added some more FP16 FMA patterns, and an attempt to
reduce the copy-pasting and make this more readable.

Differential Revision: https://reviews.llvm.org/D67403
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.cpp (diff)llvm.src/lib/Target/AArch64/AArch64InstrInfo.cpp
Revision 371817 by rsmith:
For PR17164: split -fno-lax-vector-conversion into three different
levels:

-- none: no lax vector conversions [new GCC default]
-- integer: only conversions between integer vectors [old GCC default]
-- all: all conversions between same-size vectors [Clang default]

For now, Clang still defaults to "all" mode, but per my proposal on
cfe-dev (2019-04-10) the default will be changed to "integer" as soon as
that doesn't break lots of testcases. (Eventually I'd like to change the
default to "none" to match GCC and general sanity.)

Following GCC's behavior, the driver flag -flax-vector-conversions is
translated to -flax-vector-conversions=integer.

This reinstates r371805, reverted in r371813, with an additional fix for
lldb.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/LangOptions.def (diff)clang.src/include/clang/Basic/LangOptions.def
The file was modified/cfe/trunk/include/clang/Basic/LangOptions.h (diff)clang.src/include/clang/Basic/LangOptions.h
The file was modified/cfe/trunk/include/clang/Driver/Options.td (diff)clang.src/include/clang/Driver/Options.td
The file was modified/cfe/trunk/lib/Driver/ToolChains/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 modified/cfe/trunk/lib/Sema/SemaExpr.cpp (diff)clang.src/lib/Sema/SemaExpr.cpp
The file was modified/cfe/trunk/test/CodeGen/builtins-ppc-altivec.c (diff)clang.src/test/CodeGen/builtins-ppc-altivec.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-vector.c (diff)clang.src/test/CodeGen/builtins-systemz-vector.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-vector2.c (diff)clang.src/test/CodeGen/builtins-systemz-vector2.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-vector3.c (diff)clang.src/test/CodeGen/builtins-systemz-vector3.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-zvector-error.c (diff)clang.src/test/CodeGen/builtins-systemz-zvector-error.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-zvector.c (diff)clang.src/test/CodeGen/builtins-systemz-zvector.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-zvector2-error.c (diff)clang.src/test/CodeGen/builtins-systemz-zvector2-error.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-zvector2.c (diff)clang.src/test/CodeGen/builtins-systemz-zvector2.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-zvector3-error.c (diff)clang.src/test/CodeGen/builtins-systemz-zvector3-error.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-zvector3.c (diff)clang.src/test/CodeGen/builtins-systemz-zvector3.c
The file was modified/cfe/trunk/test/CodeGen/builtins-wasm.c (diff)clang.src/test/CodeGen/builtins-wasm.c
The file was modified/cfe/trunk/test/CodeGenCXX/builtins-systemz-zvector.cpp (diff)clang.src/test/CodeGenCXX/builtins-systemz-zvector.cpp
The file was modified/cfe/trunk/test/Headers/altivec-header.c (diff)clang.src/test/Headers/altivec-header.c
The file was modified/cfe/trunk/test/Headers/arm-neon-header.c (diff)clang.src/test/Headers/arm-neon-header.c
The file was modified/cfe/trunk/test/Headers/x86-intrinsics-headers-clean.cpp (diff)clang.src/test/Headers/x86-intrinsics-headers-clean.cpp
The file was modified/cfe/trunk/test/Headers/x86-intrinsics-headers.c (diff)clang.src/test/Headers/x86-intrinsics-headers.c
The file was modified/cfe/trunk/test/Headers/x86intrin-2.c (diff)clang.src/test/Headers/x86intrin-2.c
The file was modified/cfe/trunk/test/Headers/x86intrin.c (diff)clang.src/test/Headers/x86intrin.c
The file was modified/cfe/trunk/test/Sema/ext_vector_casts.c (diff)clang.src/test/Sema/ext_vector_casts.c
The file was modified/cfe/trunk/test/Sema/typedef-retain.c (diff)clang.src/test/Sema/typedef-retain.c
The file was modified/cfe/trunk/test/Sema/zvector.c (diff)clang.src/test/Sema/zvector.c
The file was modified/cfe/trunk/test/Sema/zvector2.c (diff)clang.src/test/Sema/zvector2.c
The file was modified/cfe/trunk/test/SemaCXX/altivec.cpp (diff)clang.src/test/SemaCXX/altivec.cpp
The file was modified/cfe/trunk/test/SemaCXX/vector-no-lax.cpp (diff)clang.src/test/SemaCXX/vector-no-lax.cpp
The file was modified/cfe/trunk/test/SemaCXX/vector.cpp (diff)clang.src/test/SemaCXX/vector.cpp
The file was modified/lldb/trunk/source/Symbol/ClangASTContext.cpp (diff)N/A
Revision 371816 by rsmith:
Fix interaction between r371813 and r371814.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/CodeGen/builtins-ppc-altivec.c (diff)clang.src/test/CodeGen/builtins-ppc-altivec.c
Revision 371815 by ctopper:
[TargetRegisterInfo] Remove SVT argument from getCommonSubClass.

This was added to support fp128 on x86-64, but appears to be
unneeded now. This may be because the FR128 register class
added back then was merged with the VR128 register class later.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetRegisterInfo.h (diff)llvm.src/include/llvm/CodeGen/TargetRegisterInfo.h
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/InstrEmitter.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
The file was modified/llvm/trunk/lib/CodeGen/TargetRegisterInfo.cpp (diff)llvm.src/lib/CodeGen/TargetRegisterInfo.cpp
Revision 371814 by rsmith:
Remove reliance on lax vector conversions from altivec.h and its test.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/BuiltinsPPC.def (diff)clang.src/include/clang/Basic/BuiltinsPPC.def
The file was modified/cfe/trunk/lib/Headers/altivec.h (diff)clang.src/lib/Headers/altivec.h
The file was modified/cfe/trunk/test/CodeGen/builtins-ppc-altivec.c (diff)clang.src/test/CodeGen/builtins-ppc-altivec.c
Revision 371813 by Jonas Devlieghere:
Revert "For PR17164: split -fno-lax-vector-conversion into three different"

This breaks the LLDB build. I tried reaching out to Richard, but haven't
gotten a reply yet.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/LangOptions.def (diff)clang.src/include/clang/Basic/LangOptions.def
The file was modified/cfe/trunk/include/clang/Basic/LangOptions.h (diff)clang.src/include/clang/Basic/LangOptions.h
The file was modified/cfe/trunk/include/clang/Driver/Options.td (diff)clang.src/include/clang/Driver/Options.td
The file was modified/cfe/trunk/lib/Driver/ToolChains/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 modified/cfe/trunk/lib/Sema/SemaExpr.cpp (diff)clang.src/lib/Sema/SemaExpr.cpp
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-vector.c (diff)clang.src/test/CodeGen/builtins-systemz-vector.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-vector2.c (diff)clang.src/test/CodeGen/builtins-systemz-vector2.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-vector3.c (diff)clang.src/test/CodeGen/builtins-systemz-vector3.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-zvector-error.c (diff)clang.src/test/CodeGen/builtins-systemz-zvector-error.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-zvector.c (diff)clang.src/test/CodeGen/builtins-systemz-zvector.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-zvector2-error.c (diff)clang.src/test/CodeGen/builtins-systemz-zvector2-error.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-zvector2.c (diff)clang.src/test/CodeGen/builtins-systemz-zvector2.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-zvector3-error.c (diff)clang.src/test/CodeGen/builtins-systemz-zvector3-error.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-zvector3.c (diff)clang.src/test/CodeGen/builtins-systemz-zvector3.c
The file was modified/cfe/trunk/test/CodeGen/builtins-wasm.c (diff)clang.src/test/CodeGen/builtins-wasm.c
The file was modified/cfe/trunk/test/CodeGenCXX/builtins-systemz-zvector.cpp (diff)clang.src/test/CodeGenCXX/builtins-systemz-zvector.cpp
The file was modified/cfe/trunk/test/Headers/altivec-header.c (diff)clang.src/test/Headers/altivec-header.c
The file was modified/cfe/trunk/test/Headers/arm-neon-header.c (diff)clang.src/test/Headers/arm-neon-header.c
The file was modified/cfe/trunk/test/Headers/x86-intrinsics-headers-clean.cpp (diff)clang.src/test/Headers/x86-intrinsics-headers-clean.cpp
The file was modified/cfe/trunk/test/Headers/x86-intrinsics-headers.c (diff)clang.src/test/Headers/x86-intrinsics-headers.c
The file was modified/cfe/trunk/test/Headers/x86intrin-2.c (diff)clang.src/test/Headers/x86intrin-2.c
The file was modified/cfe/trunk/test/Headers/x86intrin.c (diff)clang.src/test/Headers/x86intrin.c
The file was modified/cfe/trunk/test/Sema/ext_vector_casts.c (diff)clang.src/test/Sema/ext_vector_casts.c
The file was modified/cfe/trunk/test/Sema/typedef-retain.c (diff)clang.src/test/Sema/typedef-retain.c
The file was modified/cfe/trunk/test/Sema/zvector.c (diff)clang.src/test/Sema/zvector.c
The file was modified/cfe/trunk/test/Sema/zvector2.c (diff)clang.src/test/Sema/zvector2.c
The file was modified/cfe/trunk/test/SemaCXX/altivec.cpp (diff)clang.src/test/SemaCXX/altivec.cpp
The file was modified/cfe/trunk/test/SemaCXX/vector-no-lax.cpp (diff)clang.src/test/SemaCXX/vector-no-lax.cpp
The file was modified/cfe/trunk/test/SemaCXX/vector.cpp (diff)clang.src/test/SemaCXX/vector.cpp
Revision 371812 by arsenm:
AMDGPU/GlobalISel: Fix assert on multi-return side effect intrinsics

llvm.amdgcn.else hits this.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
Revision 371811 by arsenm:
AMDGPU/GlobalISel: Legalize s32->s16 G_SITOFP/G_UITOFP
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-sitofp.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-sitofp.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-uitofp.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-uitofp.mir
Revision 371810 by shiva:
[RISCV] Support stack offset exceed 32-bit for RV64

Differential Revision: https://reviews.llvm.org/D61884
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVFrameLowering.cpp (diff)llvm.src/lib/Target/RISCV/RISCVFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVInstrInfo.cpp (diff)llvm.src/lib/Target/RISCV/RISCVInstrInfo.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVInstrInfo.h (diff)llvm.src/lib/Target/RISCV/RISCVInstrInfo.h
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVRegisterInfo.cpp (diff)llvm.src/lib/Target/RISCV/RISCVRegisterInfo.cpp
The file was added/llvm/trunk/test/CodeGen/RISCV/rv64-large-stack.llllvm.src/test/CodeGen/RISCV/rv64-large-stack.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/stack-realignment.ll (diff)llvm.src/test/CodeGen/RISCV/stack-realignment.ll
Revision 371809 by shiva:
Revert "[RISCV] Support stack offset exceed 32-bit for RV64"

This reverts commit 1c340c62058d4115d21e5fa1ce3a0d094d28c792.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVFrameLowering.cpp (diff)llvm.src/lib/Target/RISCV/RISCVFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVInstrInfo.cpp (diff)llvm.src/lib/Target/RISCV/RISCVInstrInfo.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVInstrInfo.h (diff)llvm.src/lib/Target/RISCV/RISCVInstrInfo.h
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVRegisterInfo.cpp (diff)llvm.src/lib/Target/RISCV/RISCVRegisterInfo.cpp
The file was removed/llvm/trunk/test/CodeGen/RISCV/rv64-large-stack.llllvm.src/test/CodeGen/RISCV/rv64-large-stack.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/stack-realignment.ll (diff)llvm.src/test/CodeGen/RISCV/stack-realignment.ll
Revision 371808 by arsenm:
AMDGPU/GlobalISel: Fix RegBankSelect for amdgcn.else
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.else.32.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.else.32.mir
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.else.64.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.else.64.mir
Revision 371807 by arsenm:
AMDGPU/GlobalISel: Select 16-bit VALU bit ops
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/VOP2Instructions.td (diff)llvm.src/lib/Target/AMDGPU/VOP2Instructions.td
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-and.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-and.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-or.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-or.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-xor.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-xor.mir
Revision 371806 by shiva:
[RISCV] Support stack offset exceed 32-bit for RV64

Differential Revision: https://reviews.llvm.org/D61884
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVFrameLowering.cpp (diff)llvm.src/lib/Target/RISCV/RISCVFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVInstrInfo.cpp (diff)llvm.src/lib/Target/RISCV/RISCVInstrInfo.cpp
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVInstrInfo.h (diff)llvm.src/lib/Target/RISCV/RISCVInstrInfo.h
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVRegisterInfo.cpp (diff)llvm.src/lib/Target/RISCV/RISCVRegisterInfo.cpp
The file was added/llvm/trunk/test/CodeGen/RISCV/rv64-large-stack.llllvm.src/test/CodeGen/RISCV/rv64-large-stack.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/stack-realignment.ll (diff)llvm.src/test/CodeGen/RISCV/stack-realignment.ll
Revision 371805 by rsmith:
For PR17164: split -fno-lax-vector-conversion into three different
levels:

-- none: no lax vector conversions [new GCC default]
-- integer: only conversions between integer vectors [old GCC default]
-- all: all conversions between same-size vectors [Clang default]

For now, Clang still defaults to "all" mode, but per my proposal on
cfe-dev (2019-04-10) the default will be changed to "integer" as soon as
that doesn't break lots of testcases. (Eventually I'd like to change the
default to "none" to match GCC and general sanity.)

Following GCC's behavior, the driver flag -flax-vector-conversions is
translated to -flax-vector-conversions=integer.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/LangOptions.def (diff)clang.src/include/clang/Basic/LangOptions.def
The file was modified/cfe/trunk/include/clang/Basic/LangOptions.h (diff)clang.src/include/clang/Basic/LangOptions.h
The file was modified/cfe/trunk/include/clang/Driver/Options.td (diff)clang.src/include/clang/Driver/Options.td
The file was modified/cfe/trunk/lib/Driver/ToolChains/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 modified/cfe/trunk/lib/Sema/SemaExpr.cpp (diff)clang.src/lib/Sema/SemaExpr.cpp
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-vector.c (diff)clang.src/test/CodeGen/builtins-systemz-vector.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-vector2.c (diff)clang.src/test/CodeGen/builtins-systemz-vector2.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-vector3.c (diff)clang.src/test/CodeGen/builtins-systemz-vector3.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-zvector-error.c (diff)clang.src/test/CodeGen/builtins-systemz-zvector-error.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-zvector.c (diff)clang.src/test/CodeGen/builtins-systemz-zvector.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-zvector2-error.c (diff)clang.src/test/CodeGen/builtins-systemz-zvector2-error.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-zvector2.c (diff)clang.src/test/CodeGen/builtins-systemz-zvector2.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-zvector3-error.c (diff)clang.src/test/CodeGen/builtins-systemz-zvector3-error.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-zvector3.c (diff)clang.src/test/CodeGen/builtins-systemz-zvector3.c
The file was modified/cfe/trunk/test/CodeGen/builtins-wasm.c (diff)clang.src/test/CodeGen/builtins-wasm.c
The file was modified/cfe/trunk/test/CodeGenCXX/builtins-systemz-zvector.cpp (diff)clang.src/test/CodeGenCXX/builtins-systemz-zvector.cpp
The file was modified/cfe/trunk/test/Headers/altivec-header.c (diff)clang.src/test/Headers/altivec-header.c
The file was modified/cfe/trunk/test/Headers/arm-neon-header.c (diff)clang.src/test/Headers/arm-neon-header.c
The file was modified/cfe/trunk/test/Headers/x86-intrinsics-headers-clean.cpp (diff)clang.src/test/Headers/x86-intrinsics-headers-clean.cpp
The file was modified/cfe/trunk/test/Headers/x86-intrinsics-headers.c (diff)clang.src/test/Headers/x86-intrinsics-headers.c
The file was modified/cfe/trunk/test/Headers/x86intrin-2.c (diff)clang.src/test/Headers/x86intrin-2.c
The file was modified/cfe/trunk/test/Headers/x86intrin.c (diff)clang.src/test/Headers/x86intrin.c
The file was modified/cfe/trunk/test/Sema/ext_vector_casts.c (diff)clang.src/test/Sema/ext_vector_casts.c
The file was modified/cfe/trunk/test/Sema/typedef-retain.c (diff)clang.src/test/Sema/typedef-retain.c
The file was modified/cfe/trunk/test/Sema/zvector.c (diff)clang.src/test/Sema/zvector.c
The file was modified/cfe/trunk/test/Sema/zvector2.c (diff)clang.src/test/Sema/zvector2.c
The file was modified/cfe/trunk/test/SemaCXX/altivec.cpp (diff)clang.src/test/SemaCXX/altivec.cpp
The file was modified/cfe/trunk/test/SemaCXX/vector-no-lax.cpp (diff)clang.src/test/SemaCXX/vector-no-lax.cpp
The file was modified/cfe/trunk/test/SemaCXX/vector.cpp (diff)clang.src/test/SemaCXX/vector.cpp
Revision 371803 by arsenm:
AMDGPU/GlobalISel: Legalize G_FFLOOR
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-ffloor.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-ffloor.mir
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-ffloor.s16.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-ffloor.s16.mir
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-ffloor.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-ffloor.mir
Revision 371802 by timshen:
Temporarily revert r371640 "LiveIntervals: Split live intervals on multiple dead defs".

It reveals a miscompile on Hexagon. See PR43302 for details.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/LiveIntervals.cpp (diff)llvm.src/lib/CodeGen/LiveIntervals.cpp
The file was removed/llvm/trunk/test/CodeGen/AMDGPU/live-intervals-multiple-dead-defs.mirllvm.src/test/CodeGen/AMDGPU/live-intervals-multiple-dead-defs.mir
Revision 371800 by arsenm:
AMDGPU/GlobalISel: Legalize G_FMAD

Unlike SelectionDAG, treat this as a normally legalizable operation.
In SelectionDAG this is supposed to only ever formed if it's legal,
but I've found that to be restricting. For AMDGPU this is contextually
legal depending on whether denormal flushing is allowed in the use
function.

Technically we currently treat the denormal mode as a subtarget
feature, so custom lowering could be avoided. However I consider this
to be a defect, and this should be contextually dependent on the
controllable rounding mode of the parent function.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h (diff)llvm.src/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h (diff)llvm.src/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (diff)llvm.src/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.h (diff)llvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fmad.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fmad.mir
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fmad.s16.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fmad.s16.mir
Revision 371799 by manojgupta:
Revert r371785.

r371785 is causing fails on clang-hexagon-elf buildbots.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticCommonKinds.td (diff)clang.src/include/clang/Basic/DiagnosticCommonKinds.td
The file was modified/cfe/trunk/lib/Frontend/InitHeaderSearch.cpp (diff)clang.src/lib/Frontend/InitHeaderSearch.cpp
The file was removed/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_treeclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree
The file was removed/cfe/trunk/test/Frontend/warning-poison-system-directories.cclang.src/test/Frontend/warning-poison-system-directories.c
Revision 371798 by arsenm:
AMDGPU/GlobalISel: Select G_CTPOP
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.td (diff)llvm.src/lib/Target/AMDGPU/SIInstrInfo.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstructions.td (diff)llvm.src/lib/Target/AMDGPU/SIInstructions.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/SOPInstructions.td (diff)llvm.src/lib/Target/AMDGPU/SOPInstructions.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/VOP2Instructions.td (diff)llvm.src/lib/Target/AMDGPU/VOP2Instructions.td
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-ctpop.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-ctpop.mir
Revision 371797 by arsenm:
DAG/GlobalISel: Correct type profile of bitcount ops

The result integer does not need to be the same width as the input.
AMDGPU, NVPTX, and Hexagon all have patterns working around the types
matching. GlobalISel defines these as being different type indexes.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Target/TargetSelectionDAG.td (diff)llvm.src/include/llvm/Target/TargetSelectionDAG.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstructions.td (diff)llvm.src/lib/Target/AMDGPU/SIInstructions.td
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonPatterns.td (diff)llvm.src/lib/Target/Hexagon/HexagonPatterns.td
The file was modified/llvm/trunk/lib/Target/NVPTX/NVPTXInstrInfo.td (diff)llvm.src/lib/Target/NVPTX/NVPTXInstrInfo.td
The file was modified/llvm/trunk/lib/Target/Sparc/SparcInstr64Bit.td (diff)llvm.src/lib/Target/Sparc/SparcInstr64Bit.td
The file was modified/llvm/trunk/lib/Target/Sparc/SparcInstrInfo.td (diff)llvm.src/lib/Target/Sparc/SparcInstrInfo.td
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.td (diff)llvm.src/lib/Target/SystemZ/SystemZInstrInfo.td
The file was modified/llvm/trunk/lib/Target/X86/X86InstrAVX512.td (diff)llvm.src/lib/Target/X86/X86InstrAVX512.td
Revision 371794 by Jan Korous:
[libclang] Fix UninstallAbortingLLVMFatalErrorHandler test
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/unittests/libclang/CrashTests/LibclangCrashTest.cpp (diff)clang.src/unittests/libclang/CrashTests/LibclangCrashTest.cpp
Revision 371793 by arsenm:
AMDGPU: Add immarg to llvm.amdgcn.init.exec.from.input

As far as I can tell this has to be a constant.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/IntrinsicsAMDGPU.td (diff)llvm.src/include/llvm/IR/IntrinsicsAMDGPU.td
Revision 371792 by arsenm:
LiveIntervals: Remove assertion

This testcase is invalid, and caught by the verifier. For the verifier
to catch it, the live interval computation needs to complete. Remove
the assert so the verifier catches this, which is less confusing.

In this testcase there is an undefined use of a subregister, and lanes
which aren't used or defined. An equivalent testcase with the
super-register shrunk to have no untouched lanes already hit this
verifier error.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/LiveInterval.cpp (diff)llvm.src/lib/CodeGen/LiveInterval.cpp
The file was added/llvm/trunk/test/CodeGen/AMDGPU/at-least-one-def-value-assert.mirllvm.src/test/CodeGen/AMDGPU/at-least-one-def-value-assert.mir
Revision 371791 by arsenm:
AMDGPU: Inline constant when materalizing FI with add on gfx9

This was relying on the SGPR usable for the carry out clobber to also
be used for the input. There was no carry out on gfx9. With no carry
out clobber to worry about, so the literal can just be directly used
with a VOP2 add.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIRegisterInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/SIRegisterInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/frame-index-elimination.ll (diff)llvm.src/test/CodeGen/AMDGPU/frame-index-elimination.ll
The file was added/llvm/trunk/test/CodeGen/AMDGPU/pei-scavenge-sgpr-gfx9.mirllvm.src/test/CodeGen/AMDGPU/pei-scavenge-sgpr-gfx9.mir
Revision 371790 by reames:
[Test] Restructure check lines to show differences between modes more clearly

With the landing of the previous patch (in particular D66318) there are a lot fewer diffs now.  I added an experimental O0 line, and updated all the tests to group experimental and non-experimental O0/O3 together.

Skimming the remaining diffs, there's only a few which are obviously incorrect.  There's a large number which are questionable, so more todo.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/atomic-unordered.ll (diff)llvm.src/test/CodeGen/X86/atomic-unordered.ll
Revision 371789 by reames:
Rename nonvolatile_load/store to simple_load/store [NFC]

Implement the TODO from D66318.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Target/TargetSelectionDAG.td (diff)llvm.src/include/llvm/Target/TargetSelectionDAG.td
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZInstrFP.td (diff)llvm.src/lib/Target/SystemZ/SystemZInstrFP.td
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.td (diff)llvm.src/lib/Target/SystemZ/SystemZInstrInfo.td
The file was modified/llvm/trunk/lib/Target/X86/X86InstrAVX512.td (diff)llvm.src/lib/Target/X86/X86InstrAVX512.td
The file was modified/llvm/trunk/lib/Target/X86/X86InstrCompiler.td (diff)llvm.src/lib/Target/X86/X86InstrCompiler.td
The file was modified/llvm/trunk/lib/Target/X86/X86InstrMMX.td (diff)llvm.src/lib/Target/X86/X86InstrMMX.td
The file was modified/llvm/trunk/lib/Target/X86/X86InstrSSE.td (diff)llvm.src/lib/Target/X86/X86InstrSSE.td
Revision 371788 by paquette:
[AArch64][GlobalISel] Support tail calling with swiftself parameters

Swiftself uses a callee-saved register. We can tail call when the register used
in the caller and callee is the same.

This behaviour is equivalent to that in `TargetLowering::parametersInCSRMatch`.

Update call-translator-tail-call.ll to verify that we can do this. When we
support inline assembly, we can write a check similar to the one in the
general swiftself.ll. For now, we need to verify that we get the correct COPY
instruction after call lowering.

Differential Revision: https://reviews.llvm.org/D67511
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64CallLowering.cpp (diff)llvm.src/lib/Target/AArch64/AArch64CallLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/call-translator-tail-call.ll (diff)llvm.src/test/CodeGen/AArch64/GlobalISel/call-translator-tail-call.ll
Revision 371787 by Jan Korous:
[libclang] Expose abort()-ing LLVM fatal error handler

Differential Revision: https://reviews.llvm.org/D66775
Change TypePath in RepositoryPath in Workspace
The file was added/cfe/trunk/include/clang-c/FatalErrorHandler.hclang.src/include/clang-c/FatalErrorHandler.h
The file was modified/cfe/trunk/tools/libclang/CIndex.cpp (diff)clang.src/tools/libclang/CIndex.cpp
The file was modified/cfe/trunk/tools/libclang/CMakeLists.txt (diff)clang.src/tools/libclang/CMakeLists.txt
The file was added/cfe/trunk/tools/libclang/FatalErrorHandler.cppclang.src/tools/libclang/FatalErrorHandler.cpp
The file was modified/cfe/trunk/tools/libclang/libclang.exports (diff)clang.src/tools/libclang/libclang.exports
The file was modified/cfe/trunk/unittests/libclang/CMakeLists.txt (diff)clang.src/unittests/libclang/CMakeLists.txt
The file was added/cfe/trunk/unittests/libclang/CrashTestsclang.src/unittests/libclang/CrashTests
The file was added/cfe/trunk/unittests/libclang/CrashTests/CMakeLists.txtclang.src/unittests/libclang/CrashTests/CMakeLists.txt
The file was added/cfe/trunk/unittests/libclang/CrashTests/LibclangCrashTest.cppclang.src/unittests/libclang/CrashTests/LibclangCrashTest.cpp
Revision 371786 by reames:
[SDAG] Update generic code to conservatively check for isAtomic in addition to isVolatile

This is the first sweep of generic code to add isAtomic bailouts where appropriate. The intention here is to have the switch from AtomicSDNode to LoadSDNode/StoreSDNode be close to NFC; that is, I'm not looking to allow additional optimizations at this time. That will come later.  See D66309 for context.

Differential Revision: https://reviews.llvm.org/D66318
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Target/TargetSelectionDAG.td (diff)llvm.src/include/llvm/Target/TargetSelectionDAG.td
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/atomic-unordered.ll (diff)llvm.src/test/CodeGen/X86/atomic-unordered.ll
Revision 371785 by manojgupta:
Add -Wpoison-system-directories warning

When using clang as a cross-compiler, we should not use system
headers to do the compilation.
This CL adds support of a new warning flag -Wpoison-system-directories which
emits warnings if --sysroot is set and headers from common host system location
are used.
By default the warning is disabled.

The intention of the warning is to catch bad includes which are usually
generated by third party build system not targeting cross-compilation.
Such cases happen in Chrome OS when someone imports a new package or upgrade
one to a newer version from upstream.

Patch by: denik (Denis Nikitin)
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticCommonKinds.td (diff)clang.src/include/clang/Basic/DiagnosticCommonKinds.td
The file was modified/cfe/trunk/lib/Frontend/InitHeaderSearch.cpp (diff)clang.src/lib/Frontend/InitHeaderSearch.cpp
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_treeclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/libclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/lib
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/lib/.keepclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/lib/.keep
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usrclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/includeclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/include
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/include/c++clang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/include/c++
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/include/c++/.keepclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/include/c++/.keep
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/libclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/lib
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/lib/gccclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/lib/gcc
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/lib/gcc/.keepclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/lib/gcc/.keep
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/localclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/local
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/local/includeclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/local/include
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/local/include/.keepclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/local/include/.keep
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/local/libclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/local/lib
The file was added/cfe/trunk/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/local/lib/.keepclang.src/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/local/lib/.keep
The file was added/cfe/trunk/test/Frontend/warning-poison-system-directories.cclang.src/test/Frontend/warning-poison-system-directories.c
Revision 371783 by gclayton:
[NFC] Fix file header filename to be Range.h
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/DebugInfo/GSYM/Range.h (diff)llvm.src/include/llvm/DebugInfo/GSYM/Range.h
Revision 371782 by dr87:
[Docs] Adds page for reference docs

Adds a Reference Documentation page for LLVM and API reference documentation.
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/docs/ReferenceDocumentation.rstllvm.src/docs/ReferenceDocumentation.rst
The file was modified/llvm/trunk/docs/UserGuides.rst (diff)llvm.src/docs/UserGuides.rst
The file was modified/llvm/trunk/docs/index.rst (diff)llvm.src/docs/index.rst
Revision 371781 by dergachev:
[analyzer] Fix the 'analyzer-enabled-checkers.c' test on non-linux machines.

'-Xclang -triple' doesn't seem to override the default target triple
as reliably as '--target'. This leads to test failing due to
platform-specific checks getting unexpectedly enabled.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/Analysis/analyzer-enabled-checkers.c (diff)clang.src/test/Analysis/analyzer-enabled-checkers.c
Revision 371780 by paquette:
[AArch64][GlobalISel] Support sibling calls with outgoing arguments

This adds support for lowering sibling calls with outgoing arguments.

e.g

```
define void @foo(i32 %a)
```

Support is ported from AArch64ISelLowering's `isEligibleForTailCallOptimization`.
The only thing that is missing is a full port of
`TargetLowering::parametersInCSRMatch`. So, if we're using swiftself,
we'll never tail call.

- Rename `analyzeCallResult` to `analyzeArgInfo`, since the function is now used
  for both outgoing and incoming arguments
- Teach `OutgoingArgHandler` about tail calls. Tail calls use frame indices for
  stack arguments.
- Teach `lowerFormalArguments` to set the bytes in the caller's stack argument
  area. This is used later to check if the tail call's parameters will fit on
  the caller's stack.
- Add `areCalleeOutgoingArgsTailCallable` to perform the eligibility check on
  the callee's outgoing arguments.

For testing:

- Update call-translator-tail-call to verify that we can now tail call with
  outgoing arguments, use G_FRAME_INDEX for stack arguments, and respect the
  size of the caller's stack
- Remove GISel-specific check lines from speculation-hardening.ll, since GISel
  now tail calls like the other selectors
- Add a GISel test line to tailcall-string-rvo.ll since we can tail call in that
  test now
- Add a GISel test line to tailcall_misched_graph.ll since we tail call there
  now. Add specific check lines for GISel, since the debug output from the
  machine-scheduler differs with GlobalISel. The dependency still holds, but
  the output comes out in a different order.

Differential Revision: https://reviews.llvm.org/D67471
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/CallLowering.h (diff)llvm.src/include/llvm/CodeGen/GlobalISel/CallLowering.h
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/CallLowering.cpp (diff)llvm.src/lib/CodeGen/GlobalISel/CallLowering.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64CallLowering.cpp (diff)llvm.src/lib/Target/AArch64/AArch64CallLowering.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64CallLowering.h (diff)llvm.src/lib/Target/AArch64/AArch64CallLowering.h
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/call-translator-tail-call.ll (diff)llvm.src/test/CodeGen/AArch64/GlobalISel/call-translator-tail-call.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/arm64-call-tailcalls.ll (diff)llvm.src/test/CodeGen/AArch64/arm64-call-tailcalls.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/speculation-hardening.ll (diff)llvm.src/test/CodeGen/AArch64/speculation-hardening.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/tailcall-string-rvo.ll (diff)llvm.src/test/CodeGen/AArch64/tailcall-string-rvo.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/tailcall_misched_graph.ll (diff)llvm.src/test/CodeGen/AArch64/tailcall_misched_graph.ll
Revision 371779 by ctopper:
[PowerPC] Remove the SPE4RC register class and instead add f32 to the GPRC register class.

Summary:
Since the SPE4RC register class contains an identical set of registers
and an identical spill size to the GPRC class its slightly confusing
the tablegen emitter. It's preventing the GPRC_and_GPRC_NOR0 synthesized
register class from inheriting VTs and AltOrders from GPRC or GPRC_NOR0.
This is because SPE4C is found first in the super register class list
when inheriting these properties and it doesn't set the VTs or
AltOrders the same way as GPRC or GPRC_NOR0.

This patch replaces all uses of GPE4RC with GPRC and allows GPRC and
GPRC_NOR0 to contain f32.

The test changes here are because the AltOrders are being inherited
to GPRC_NOR0 now.

Found while trying to determine if getCommonSubClass needs to take
a VT argument. It was originally added to support fp128 on x86-64,
I've changed some things about that so that it might be needed
anymore. But a PowerPC test crashed without it and I think its
due to this subclass issue.

Reviewers: jhibbits, nemanjai, kbarton, hfinkel

Subscribers: wuzish, nemanjai, mehdi_amini, hiraditya, kbarton, MaskRay, dexonsmith, jsji, shchenz, steven.zhang, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67513
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp (diff)llvm.src/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCFastISel.cpp (diff)llvm.src/lib/Target/PowerPC/PPCFastISel.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCFrameLowering.cpp (diff)llvm.src/lib/Target/PowerPC/PPCFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp (diff)llvm.src/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.cpp (diff)llvm.src/lib/Target/PowerPC/PPCInstrInfo.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.td (diff)llvm.src/lib/Target/PowerPC/PPCInstrInfo.td
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCRegisterInfo.cpp (diff)llvm.src/lib/Target/PowerPC/PPCRegisterInfo.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCRegisterInfo.td (diff)llvm.src/lib/Target/PowerPC/PPCRegisterInfo.td
The file was modified/llvm/trunk/test/CodeGen/PowerPC/inc-of-add.ll (diff)llvm.src/test/CodeGen/PowerPC/inc-of-add.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/sub-of-not.ll (diff)llvm.src/test/CodeGen/PowerPC/sub-of-not.ll
Revision 371777 by reames:
Remove a duplicate test

Turns out I'd already added exactly the same test under the name non_unit_stride.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/LoopVectorize/X86/load-deref-pred.ll (diff)llvm.src/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
Revision 371776 by reames:
[SCEV] Add smin support to getRangeRef

We were failing to compute trip counts (both exact and maximum) for any loop which involved a comparison against either an umin or smin. It looks like this simply got missed when we added smin/umin to SCEV.  (Note: umin was submitted separately earlier today.  Turned out two folks hit this at the same time.)

Differential Revision: https://reviews.llvm.org/D67514
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/ScalarEvolution.cpp (diff)llvm.src/lib/Analysis/ScalarEvolution.cpp
The file was modified/llvm/trunk/test/Analysis/ScalarEvolution/max-expr-cache.ll (diff)llvm.src/test/Analysis/ScalarEvolution/max-expr-cache.ll
The file was modified/llvm/trunk/test/Analysis/ScalarEvolution/trip-count15.ll (diff)llvm.src/test/Analysis/ScalarEvolution/trip-count15.ll
The file was modified/llvm/trunk/test/Transforms/IRCE/rc-negative-bound.ll (diff)llvm.src/test/Transforms/IRCE/rc-negative-bound.ll
Revision 371775 by ctopper:
[DAGCombiner][X86] Pass the CmpOpVT to reduceSelectOfFPConstantLoads so X86 can exclude fp128 compares.

The X86 decision assumes the compare will produce a result in an XMM
register, but that can't happen for an fp128 compare since those
go to a libcall the returns an i32. Pass the VT so X86 can check
the type.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetLowering.h (diff)llvm.src/include/llvm/CodeGen/TargetLowering.h
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.h (diff)llvm.src/lib/Target/X86/X86ISelLowering.h
The file was modified/llvm/trunk/test/CodeGen/X86/fp128-i128.ll (diff)llvm.src/test/CodeGen/X86/fp128-i128.ll
Revision 371774 by evandro:
[ConstantFolding] Expand folding of some library functions

Expanding the folding of `nearbyint()`, `rint()` and `trunc()` to library
functions, in addition to the current support for intrinsics.

Differential revision: https://reviews.llvm.org/D67468
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/ConstantFolding.cpp (diff)llvm.src/lib/Analysis/ConstantFolding.cpp
The file was added/llvm/trunk/test/Analysis/ConstantFolding/rint.llllvm.src/test/Analysis/ConstantFolding/rint.ll
The file was added/llvm/trunk/test/Analysis/ConstantFolding/round.llllvm.src/test/Analysis/ConstantFolding/round.ll
The file was added/llvm/trunk/test/Analysis/ConstantFolding/trunc.llllvm.src/test/Analysis/ConstantFolding/trunc.ll
The file was removed/llvm/trunk/test/Transforms/InstCombine/round.llllvm.src/test/Transforms/InstCombine/round.ll
Revision 371773 by timshen:
[ClangTidy] Adjust the name getCheckName to getCheckerName due to API change.
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clang-tidy/ClangTidy.cpp (diff)clang-tools-extra.src/clang-tidy/ClangTidy.cpp