FailedChanges

Summary

  1. [sanitizer] Fix fuchsia and windows build.
  2. [WebAssembly] Add atomics target option Reviewers: tlively Subscribers: dschuff, sbc100, jgravelle-google, sunfish, jfb, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D57798
  3. [sanitizer] Decorate /proc/self/maps better. Summary: Refactor the way /proc/self/maps entries are annotated to support most (all?) posix platforms, with a special implementation for Android. Extend the set of decorated Mmap* calls. Replace shm_open with internal_open("/dev/shm/%s"). Shm_open is problematic because it calls libc open() which may be intercepted. Generic implementation has limits (max number of files under /dev/shm is 64K on my machine), which can be conceivably reached when sanitizing multiple programs at once. Android implemenation is essentially free, and enabled by default. The test in sanitizer_common is copied to hwasan and not reused directly because hwasan fails way too many common tests at the moment. Reviewers: pcc, vitalybuka Subscribers: srhines, kubamracek, jfb, llvm-commits, kcc Differential Revision: https://reviews.llvm.org/D57720
  4. [x86] add tests for extract+sitofp; NFC
  5. [WebAssembly] Tidy up `let` statements in .td files (NFC) Summary: - Delete {} for one-line `let` statements - Don't indent within `let` blocks - Add comments after `let` block's closing braces Reviewers: tlively Subscribers: dschuff, sbc100, jgravelle-google, sunfish, jfb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57730
  6. Fix MSVC constructor call extension after b92d290e48e9 (r353181). The assert added to EmitCall there was triggering in Windows Chromium builds, due to a mismatch of the return type. The MSVC constructor call extension (`this->Foo::Foo()`) was emitting the constructor call from 'EmitCXXMemberOrOperatorMemberCallExpr' via calling 'EmitCXXMemberOrOperatorCall', instead of 'EmitCXXConstructorCall'. On targets where HasThisReturn is true, that was failing to set the proper return type in the call info. Switching to calling EmitCXXConstructorCall also allowed removing some code e.g. the trivial copy/move support, which is already handled in EmitCXXConstructorCall. Ref: https://bugs.chromium.org/p/chromium/issues/detail?id=928861 Differential Revision: https://reviews.llvm.org/D57794
  7. [BasicAA] Cache nonEscapingLocalObjects for alias() calls. Summary: Use a small cache for Values tested by nonEscapingLocalObject(). Since the calls to PointerMayBeCaptured are fairly expensive, this saves a good amount of compile time for anything relying heavily on BasicAA.alias() calls. This uses the same approach as the AliasCache, i.e. the cache is reset after each alias() call. The cache is not used or updated by modRefInfo calls since it's harder to know when to reset the cache. Testcases that show improvements with this patch are too large to include. Example compile time improvement: 7s to 6s. Reviewers: chandlerc, sunfish Subscribers: sanjoy, jlebar, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57627
  8. gn build: Fix clang-tidy build Not depending on //clang/lib/StaticAnalyzer/Core and //clang/lib/StaticAnalyzer/Frontend causes a linker error even if ClangSACheckers are not supported. Undefined symbols for architecture x86_64: "clang::ento::CreateAnalysisConsumer(clang::CompilerInstance&)", referenced from: clang::tidy::ClangTidyASTConsumerFactory::CreateASTConsumer( clang::CompilerInstance&, llvm::StringRef) in libclangTidy.a(libclangTidy.ClangTidy.o) Patch from Mirko Bonadei <mbonadei@webrtc.org>! Differential Revision: https://reviews.llvm.org/D57777
  9. [HotColdSplit] Do not split out `resume` instructions Resumes that are not reachable from a cleanup landing pad are considered to be unreachable. It’s not safe to split them out. rdar://47808235
  10. Orc: Simplify RPC naming system by using function-local statics The existing scheme of class template static members for Name and NameMutex is a bit verbose, involves global ctors (even if they're cheap for string and mutex, still not entirely free), and (importantly/my immediate motivation here) trips over a bug in LLVM's modules implementation that's a bit involved (hmm, sounds like Mr. Smith has a fix for the modules thing - but I'm still inclined to commit this patch as general goodness).
  11. [modules] Fix handling of initializers for templated global variables. For global variables with unordered initialization that are instantiated within a module, we previously did not emit the global (or its initializer) at all unless it was used in the importing translation unit (and sometimes not even then!), leading to misbehavior and link errors. We now emit the initializer for an instantiated global variable with unordered initialization with side-effects in a module into every translation unit that imports the module. This is unfortunate, but mostly matches the behavior of a non-modular compilation and seems to be the best that we can reasonably do.
  12. Fixup test on Windows with a case-insensitive filesystem due to path printing changes from r352704.
  13. [ADT] Add a fallible_iterator wrapper. A fallible iterator is one whose increment or decrement operations may fail. This would usually be supported by replacing the ++ and -- operators with methods that return error: class MyFallibleIterator { public: // ... Error inc(); Errro dec(); // ... }; The downside of this style is that it no longer conforms to the C++ iterator concept, and can not make use of standard algorithms and features such as range-based for loops. The fallible_iterator wrapper takes an iterator written in the style above and adapts it to (mostly) conform with the C++ iterator concept. It does this by providing standard ++ and -- operator implementations, returning any errors generated via a side channel (an Error reference passed into the wrapper at construction time), and immediately jumping the iterator to a known 'end' value upon error. It also marks the Error as checked any time an iterator is compared with a known end value and found to be inequal, allowing early exit from loops without redundant error checking*. Usage looks like: MyFallibleIterator I = ..., E = ...; Error Err = Error::success(); for (auto &Elem : make_fallible_range(I, E, Err)) { // Loop body is only entered when safe. // Early exits from loop body permitted without checking Err. if (SomeCondition) return; } if (Err) // Handle error. * Since failure causes a fallible iterator to jump to end, testing that a fallible iterator is not an end value implicitly verifies that the error is a success value, and so is equivalent to an error check. Reviewers: dblaikie, rupprecht Subscribers: mgorny, dexonsmith, kristina, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57618
  14. [WebAssembly] Add a comment about why v128.const test was disabled (NFC)
  15. [InstCombine] limit extracting shuffle transform based on uses As discussed in D53037, this can lead to worse codegen, and we don't generally expect the backend to be able to optimize arbitrary shuffles. If there's only one use of the 1st shuffle, that means it's getting removed, so that should always be safe.
  16. [WebAssembly] Disable a v128.const test line temporarily r353131 caused failures in v128.const test for clang-ppc64be-linux-lnt and clang-s390x-linux bots. This temporarily disables that line until it is fixed.
  17. [InstCombine] split shuffle test to show extra use constraint; NFC As discussed in D53037, this transform can cause codegen problems if the 1st shuffle has multiple uses.
  18. Basic CUDA-10 support. Differential Revision: https://reviews.llvm.org/D57771
  19. [Preprocessor] Add a note with framework location for "file not found" error. When a framework with the same name is available at multiple framework search paths, we use the first matching location. If a framework at this location doesn't have all the headers, it can be confusing for developers because they see only an error `'Foo/Foo.h' file not found`, can find the complete framework with required header, and don't know the incomplete framework was used instead. Add a note explaining a framework without required header was found. Also mention framework directory path to make it easier to find the incomplete framework. rdar://problem/39246514 Reviewers: arphaman, erik.pilkington, jkorous Reviewed By: jkorous Subscribers: jkorous, dexonsmith, cfe-commits Differential Revision: https://reviews.llvm.org/D56561
  20. [PGO] Use a function for creating variable for profile file name. NFC. Factored out the code for creating variable for profile file name to a function.
  21. [analyzer] Document RetainCountChecker behavior and annotations Differential Revision: https://reviews.llvm.org/D57721
  22. [analyzer] [testing] Inside CmpRuns.py output also print the filename of the first item in the path Differential Revision: https://reviews.llvm.org/D57783
  23. [analyzer] [RetainCountChecker] Bugfix: in non-OSObject-mode, do not track CXX method calls Differential Revision: https://reviews.llvm.org/D57782
  24. [elfabi] Fix the type of the variable formated for error output Change the format type of Dyn.SONameOffset to PRIx64 since it is a uint64_t. The problem was detected on mips builds, where it was printing junk values and causing test failure. Patch by Milos Stojanovic. Differential Revision: https://reviews.llvm.org/D57676
  25. Update the ioctl(2) list in sanitizers with NetBSD 8.99.34
  26. [NFC][GlobalISel]: Add a convenience method to MachineInstrBuilder to simplify getOperand(i).getReg() https://reviews.llvm.org/D57608 It's a common pattern in GISel to have a MachineInstrBuilder from which we get various regs (commonly MIB->getOperand(0).getReg()). This adds a helper method and the above can be replaced with MIB.getReg(0).
  27. [X86] Regenerate tests missed in r353061. NFC We now print the implicit %st register on these instruction, but since they occur at the end of the line, FileCheck didn't see they were missing.
  28. [InstrProf] Merge COFF .lprof* and .lcovmap sections into .data/.rdata There is no reason for these sections to remain separate in the final DLL or EXE. I have not yet added a InstrProfilingPlatformWindows.c for these, since avoiding dynamic profile data registration is a larger project for later.
  29. Fix a missing word in comment
  30. [MC] Don't error on numberless .file directives on MachO Summary: Before r349976, MC ignored such directives when producing an object file and asserted when re-producing textual assembly output. I turned this assertion into a hard error in both cases in r349976, but this makes it unnecessarily difficult to write a single assembly file that supports both MachO and other object formats that support .file. A user reported this as PR40578, and we decided to go back to ignoring the directive. Fixes PR40578 Reviewers: mstorsjo Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57772
  31. [llvm-readobj] Display sections that do not belong to a segment in the section-mapping Summary: The following patch adds the "None" line to the section to segment mapping dump. That line lists the sections that do not belong to any segment. I realize that this change differs from GNU readelf which does not display the latter information. I'd rather not add this "feature" under a command line option. I think that might introduce confusion, since users would have to make an additional decision as to if they want to see all of the section-to-segment map or just a subset of it. Another option is to only print the "None" line if the `--section-mapping` option is passed; however, that might also introduce some confusion, because the section-to-segment map would be different between`--program-headers` and the `--section-mapping` output. While the difference is just the "None" line, it seems that if we choose to display the segment-to-section mapping, then we should always display the whole map including the sections that do not belong to segments. ``` Section to Segment mapping: Segment Sections... 00 01 .interp 02 .interp .note.ABI-tag .gnu.hash 03 .init_array .fini_array .dynamic 04 .dynamic 05 .note.ABI-tag 06 .eh_frame_hdr 07 08 .init_array .fini_array .dynamic .got None .comment .symtab .strtab .shstrtab <--- THIS LINE ``` Reviewers: grimar, rupprecht, jhenderson, espindola Reviewed By: rupprecht Subscribers: khemant, emaste, arichardson, llvm-commits Differential Revision: https://reviews.llvm.org/D57700
  32. [WebAssembly] Lower memmove to memory.copy Summary: The lowering is identical to the memcpy lowering. Reviewers: aheejin Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57727
  33. [libc++] Fix XFAILs when exceptions are disabled It turns out that I un-XFAILed too many tests in r353210: some tests actually fail whether exceptions are enabled or not because they use types that are marked as unavailable even when exceptions are disabled.
  34. [DOCS]Support for emission of the debug info for the Cuda devices, NFC.
  35. [TargetLibraryInfo] Regroup run time functions for Windows (NFC) Regroup supported and unsupported functions by precision and C standard.
  36. Do not use frame pointer by default for MSP430 This is suggested by 3.3.9 of MSP430 EABI document. We do allow user to manually enable frame pointer. GCC toolchain uses the same behavior. Patch by Dmitry Mikushev! Differential Revision: https://reviews.llvm.org/D56925
  37. Move some llvm-mc tests where they belong
  38. [libc++] Fix XFAILs on macOS when exceptions are disabled Some tests are marked as failing on platforms where the dylib does not provide the required exception classes. However, when testing with exceptions disabled, those tests shouldn't be marked as failing.
  39. GlobalISel: Verify G_GEP
  40. [CMake] Support compiler-rt builtins library in tests We're building tests with -nostdlib which means that we need to explicitly include the builtins library. When using libgcc (default) we can simply include -lgcc_s on the link line, but when using compiler-rt builtins we need a complete path to the builtins library. This path is already available in CMake as <PROJECT>_BUILTINS_LIBRARY, so we just need to pass that path to lit and if config.compiler_rt is true, link it to the test. Prior to this patch, running tests when compiler-rt is being used as the builtins library was broken as all tests would fail to link, but with this change running tests when compiler-rt bultins library is being used should be supported. Differential Revision: https://reviews.llvm.org/D56701
  41. [AMDGPU] Consider XOR in waterfall loop as a terminator Ensure the XOR in the waterfall loop for indirect addressing is considered a terminator. Differential Revision: https://reviews.llvm.org/D57703
  42. [libc++] Use UNSUPPORTED instead of TEST_STD_VER #ifdef When the whole test only works starting at some version of the Standard, use UNSUPPORTED lit markup instead of #ifdef TEST_STD_VER. This provides more visibility into the test suite. Reviewed as https://reviews.llvm.org/D57704. Thanks to Andrey Maksimov for the patch.
  43. [sanitizer] Fix unused function 'unpoison_passwd'
  44. [DEBUG_INFO][NVPTX] Generate correct data about variable address class. Summary: Added ability to generate correct debug info data about the variable address class. Currently, for all the locals and globals the default values are used, ADDR_local_space(6) for locals and ADDR_global_space(5) for globals. The values are taken from the table in https://docs.nvidia.com/cuda/archive/10.0/ptx-writers-guide-to-interoperability/index.html#cuda-specific-dwarf. We need to emit correct data for address classes of, at least, shared and constant globals. Currently, all these variables are treated by the cuda-gdb debugger as the variables in the global address space and, thus, it require manual data type casting. Reviewers: echristo, probinson Subscribers: jholewinski, aprantl, cfe-commits Differential Revision: https://reviews.llvm.org/D57162
  45. [DEBUG_INFO][NVPTX] Generate DW_AT_address_class to get the values in debugger. Summary: According to https://docs.nvidia.com/cuda/archive/10.0/ptx-writers-guide-to-interoperability/index.html#cuda-specific-dwarf, the compiler should emit the DW_AT_address_class attribute for all variable and parameter. It means, that DW_AT_address_class attribute should be used in the non-standard way to support compatibility with the cuda-gdb debugger. Clang is able to generate the information about the variable address class. This information is emitted as the expression sequence `DW_OP_constu <DWARF Address Space> DW_OP_swap DW_OP_xderef`. The patch tries to find all such expressions and transform them into `DW_AT_address_class <DWARF Address Space>` if target is NVPTX and the debugger is gdb. If the expression is not found, then default values are used. For the local variables <DWARF Address Space> is set to ADDR_local_space(6), for the globals <DWARF Address Space> is set to ADDR_global_space(5). The values are taken from the table in the same section 5.2. CUDA-Specific DWARF Definitions. Reviewers: echristo, probinson Subscribers: jholewinski, aprantl, llvm-commits Differential Revision: https://reviews.llvm.org/D57157
  46. AMDGPU: Fix assert on trunc from bitcast of build_vector The v2i64 argument is lowered to a bitcast of v4i32 build_vector. This would then attempt to use the i32-element as the source of the vector truncate. This really would need to collect 2 elements from the build_vector to produce the intended truncate.
  47. [libcxx] Start defining lit features for tests depending on availability This patch removes some vendor-specific availability XFAILs from the test suite. In the future, when a new feature is introduced in the dylib, an availability macro should be created and a matching lit feature should be created. That way, the test suite can XFAIL whenever the implementation lacks the necessary feature instead of being cluttered by vendor-specific annotations. Right now, those vendor-specific annotations are still somewhat cluttering the test suite by being in `config.py`, but at least they are localized. In the future, we could design a way to define those less intrusively or even automatically based on the availability macros that already exist in <__config>.
  48. [opaque pointer types] More trivial changes to pass FunctionType to CallInst. Change various functions to use FunctionCallee or Function*. Pass function type through __builtin_dump_struct's dumpRecord helper.
  49. [X86][SSE] Disable ZERO_EXTEND shuffle combining rL352997 enabled ZERO_EXTEND from non-shuffle-able value types. I've disabled it for now to fix a regression identified by @asbirlea until I can fix this properly.
  50. Minor cleanup: remove CGBuild::CreateConst*ByteGEP overloads taking a Value*.
  51. [PGO] Fix the type of the formated variable Change the format type of Value to PRIu64 since it is a uint64_t. The problem was detected on mips boards building 32-bit binaries, where it was printing junk values and causing test failure. Patch by Milos Stojanovic. Differential Revision: https://reviews.llvm.org/D57583
  52. [LLVM-C] Add Bindings to GlobalIFunc Summary: Adds the standard gauntlet of accessors for global indirect functions and updates the echo test. Now it would be nice to have a target abstraction so one could know if they have access to a suitable ELF linker and runtime. Reviewers: whitequark, deadalnix Reviewed By: whitequark Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D56177
  53. Enable integrated assembler on MSP430 by default. Patch by Kristina Bessonova! Differential Revision: https://reviews.llvm.org/D56787
  54. [AArch64][Outliner] Don't outline BTI instructions We can't outline BTI instructions, because they need to be the very first instruction executed after an indirect call or branch. If we outline them, then an indirect call might go to the branch to the outlined function, which will fault. Differential revision: https://reviews.llvm.org/D57753
  55. [X86][AVX] Attempt to combine shuffles to subvector broadcast load
  56. AArch64/GlobalISel: Don't clamp from 2 to 2 This is equivalent to clampMaxNumElements, but saves a check.
  57. [OPENMP] issue error messages for multiple teams contructs in a target construct The fix is to issue error messages if there are more than one teams construct inside a target constructs. #pragma omp target { #pragma omp teams { ... } #pragma omp teams { ... } }
  58. [libc++] Control whether exceptions are enabled in the macOS trunk testing script
  59. [opaque pointer types] Pass function types for runtime function calls. Emit{Nounwind,}RuntimeCall{,OrInvoke} have been modified to take a FunctionCallee as an argument, and CreateRuntimeFunction has been modified to return a FunctionCallee. All callers have been updated. Additionally, CreateBuiltinFunction is removed, as it was redundant with CreateRuntimeFunction after some previous changes. Differential Revision: https://reviews.llvm.org/D57668
  60. [WebAssembly] Object: Remove redundant method. NFC. Differential Revision: https://reviews.llvm.org/D57719
  61. [X86][AVX] Add PR34041 subvector broadcast test cases
  62. [opaque pointer types] Fix the CallInfo passed to EmitCall in some edge cases. Currently, EmitCall emits a call instruction with a function type derived from the pointee-type of the callee. This *should* be the same as the type created from the CallInfo parameter, but in some cases an incorrect CallInfo was being passed. All of these fixes were discovered by the addition of the assert in EmitCall which verifies that the passed-in CallInfo matches the Callee's function type. As far as I know, these issues caused no bugs at the moment, as the correct types were ultimately being emitted. But, some would become problematic when pointee types are removed. List of fixes: * arrangeCXXConstructorCall was passing an incorrect value for the number of Required args, when calling an inheriting constructor where the inherited constructor is variadic. (The inheriting constructor doesn't actually get passed any of the user's args, but the code was calculating it as if it did). * arrangeFreeFunctionLikeCall was not including the count of the pass_object_size arguments in the count of required args. * OpenCL uses other address spaces for the "this" pointer. However, commonEmitCXXMemberOrOperatorCall was not annotating the address space on the "this" argument of the call. * Destructor calls were being created with EmitCXXMemberOrOperatorCall instead of EmitCXXDestructorCall in a few places. This was a problem because the calling convention sometimes has destructors returning "this" rather than void, and the latter function knows about that, and sets up the types properly (through calling arrangeCXXStructorDeclaration), while the former does not. * generateObjCGetterBody: the 'objc_getProperty' function returns type 'id', but was being called as if it returned the particular property's type. (That is of course the *dynamic* return type, and there's a downcast immediately after.) * OpenMP user-defined reduction functions (#pragma omp declare reduction) can be called with a subclass of the declared type. In such case, the call was being setup as if the function had been actually declared to take the subtype, rather than the base type. Differential Revision: https://reviews.llvm.org/D57664
  63. [NFC][libc++] Reindent function
  64. [CGP] add test for unsigned subtract of 1 with overflow; NFC
  65. [AArch64][x86] add tests for unsigned subtract with overflow; NFC
  66. gn build: BUILD.gn files for clang-tidy and clang-apply-replacements Patch from Mirko Bonadei <mbonadei@webrtc.org>! Differential Revision: https://reviews.llvm.org/D57329
  67. Fix typo in comment, NFCI
  68. gn build: Merge r353072
  69. Recommit: Detect incorrect FileCheck variable CLI definition Summary: While the backend code of FileCheck relies on definition of variable from the command-line to have an equal sign '=' and a variable name before that, the frontend does not actually enforce it. This leads to FileCheck crashing when invoked with invalid syntax for the -D option. This patch adds the missing validation in the frontend. It also makes the -D option an AlwaysPrefix option to be able to detect -D=FOO as being a define without variable and -D as missing its value. Copyright: - Linaro (changes in version 2 of revision D55940) - GraphCore (changes in later versions) Reviewers: jdenny Subscribers: JonChesterfield, hiraditya, kristina, probinson, llvm-commits Differential Revision: https://reviews.llvm.org/D55940
  70. Recommit: Add support for prefix-only CLI options Summary: Add support for options that always prefix their value, giving an error if the value is in the next argument or if the option is given a value assignment (ie. opt=val). This is the desired behavior for the -D option of FileCheck for instance. Copyright: - Linaro (changes in version 2 of revision D55940) - GraphCore (changes in later versions and introduced when creating D56549) Reviewers: jdenny Subscribers: llvm-commits, probinson, kristina, hiraditya, JonChesterfield Differential Revision: https://reviews.llvm.org/D56549
  71. [X86][SSE] Rename SimplifyDemandedVectorElts BLENDV tests I'm going to be adding SimplifyDemandedBits tests shortly.
  72. [MCA] Moved the logic that updates register dependencies from DispatchStage to RegisterFile. NFC DispatchStage should always delegate to an object of class RegisterFile the task of updating data dependencies. ReadState and WriteState objects should not be modified directly by DispatchStage. This patch also renames stage IS_AVAILABLE to IS_DISPATCHED.
  73. gn build: Fix Python 3 write_vcsrevision script compatibility Trivial fix: decode was not called for all subprocess.check_output calls. Commited on behalf of Andrew Boyarshin Differential Revision: https://reviews.llvm.org/D57505
  74. [X86][SSE] Add SimplifyDemandedVectorElts support for X86ISD::BLENDV
  75. [X86][SSE] Add tests showing missing SimplifyDemandedVectorElts support for X86ISD::BLENDV
  76. [NFC] Explicitly add -std=c++14 option to tests that rely on the C++14 default When Clang/LLVM is built with the CLANG_DEFAULT_STD_CXX CMake macro that sets the default standard to something other than C++14, there are a number of lit tests that fail as they rely on the C++14 default. This patch just adds the language standard option explicitly to such test cases. Differential revision: https://reviews.llvm.org/D57581
  77. [MCA] Simplify the logic in method WriteState::addUser. NFCI In some cases, it is faster to just grow the set of 'Users' rather than performing a llvm::find_if every time a new user is added to the set. No functional change intended.
  78. Fix ICE on reference binding with mismatching addr spaces. When we attempt to add an addr space qual to a type already qualified by an addr space ICE is triggered. Before creating a type with new address space, remove the old addr space. Fixing PR38614! Differential Revision: https://reviews.llvm.org/D57524
  79. [DebugInfo][NFCI] Split salvageDebugInfo into helper functions Some use cases are appearing where salvaging is needed that does not correspond to an instruction being deleted -- for example an instruction being sunk, or a Value not being available in a block being isel'd. Enable more fine grained control over how salavging occurs by splitting the logic into helper functions, separating things that are specific to working on DbgVariableIntrinsics from those specific to interpreting IR and building DIExpressions. Differential Revision: https://reviews.llvm.org/D57696
  80. Fix format string in bindings/go/llvm/ir_test.go (PR40561) The test started failing for me recently. I don't see any changes around this code, so maybe it's my local go version that changed or something. The error seems real to me: we're trying to print an Attribute with %d. The test talks about "attribute masks" I'm not sure what that refers to, but I suppose we could print the raw pointer value, since that's what the test seems to be comparing. Differential revision: https://reviews.llvm.org/D57672
  81. [X86][AVX] Attempt to share broadcasts of different widths (PR39454) If we have broadcasts of different vector widths, keep the longest vector width and extract subvectors for the shorter vectors (which should be free). Differential Revision: https://reviews.llvm.org/D57663
  82. [CostModel][X86] Add UMUL fixed point cost tests
  83. [CGP] Add support for sinking operands to their users, if they are free. This patch improves code generation for some AArch64 ACLE intrinsics. It adds support to CGP to duplicate and sink operands to their user, if they can be folded into a target instruction, like zexts and sub into usubl. It adds a TargetLowering hook shouldSinkOperands, which looks at the operands of instructions to see if sinking is profitable. I decided to add a new target hook, as for the sinking to be profitable, at least on AArch64, we have to look at multiple operands of an instruction, instead of looking at the users of a zext for example. The sinking is done in CGP, because it works around an instruction selection limitation. If instruction selection is not limited to a single basic block, this patch should not be needed any longer. Alternatively this could be done in the LoopSink pass, which tries to undo LICM for instructions in blocks that are not executed frequently. Note that we do not force the operands to sink to have a single user, because we duplicate them before sinking. Therefore this is only desirable if they really can be done for free. Additionally we could consider the impact on live ranges later on. This should fix https://bugs.llvm.org/show_bug.cgi?id=40025. As for performance, we have internal code that uses intrinsics and can be speed up by 10% by this change. Reviewers: SjoerdMeijer, t.p.northover, samparker, efriedma, RKSimon, spatel Reviewed By: samparker Differential Revision: https://reviews.llvm.org/D57377
  84. [ARM GlobalISel] Support G_GEP for Thumb2 Same as ARM, but use a different opcode in the instruction selection.
  85. Fix the sphinx buildbot after D54429
  86. Previously if the user configured their build but then changed LLVM_ENABLED_PROJECT and reconfigured it had no effect on what projects were actually built. This was very confusing behaviour. The reason for this is that the value of the `LLVM_TOOL_<PROJECT>_BUILD` variables are already set. The problem here is that we have two sources of truth: * The projects listed in LLVM_ENABLE_PROJECTS. * The projects enabled/disabled with LLVM_TOOL_<PROJECT>_BUILD. At configure time we have no real way of knowing which source of truth the user wants so we apply the following heuristic: If the user ever sets `LLVM_ENABLE_PROJECTS` in the CMakeCache then that is used as the single source of truth and we force the `LLVM_TOOL_<PROJECT>_BUILD` CMake cache variables to have the appropriate values that match the contents of the `LLVM_ENABLE_PROJECTS`. If the user never sets `LLVM_ENABLE_PROJECTS` then they can continue to use and set the `LLVM_TOOL_<PROJECT>_BUILD` variables as the "source of truth". The problem with this approach is that if the user ever tries to use both `LLVM_ENABLE_PROJECTS` and `LLVM_TOOL_<PROJECT>_BUILD` for the same build directory then any user set value for `LLVM_TOOL_<PROJECT>_BUILD` variables will get overwriten, likely without the user noticing. Hopefully the above shouldn't matter in practice because the LLVM_TOOL_<PROJECT>_BUILD variables are not documented, but LLVM_ENABLE_PROJECTS is. We should probably deprecate the `LLVM_TOOL_<PROJECT>_BUILD` variables at some point by turning them into to regular CMake variables that don't live in the CMake cache. Differential Revision: https://reviews.llvm.org/D57535
  87. [NFC] fix trivial typos in comments
  88. [DAG][NFC] Add unit tests. In preparation for D57541.
  89. [DAG] BaseIndexOffset: FrameIndexSDNodes with the same FrameIndex compare equal. Reviewers: niravd Subscribers: arphaman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57692
Revision 353261 by eugenis:
[sanitizer] Fix fuchsia and windows build.
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_fuchsia.cc (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_fuchsia.cc
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_win.cc (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_win.cc
Revision 353260 by aheejin:
[WebAssembly] Add atomics target option

Reviewers: tlively

Subscribers: dschuff, sbc100, jgravelle-google, sunfish, jfb, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D57798
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Driver/Options.td (diff)clang.src/include/clang/Driver/Options.td
The file was modified/cfe/trunk/lib/Basic/Targets/WebAssembly.cpp (diff)clang.src/lib/Basic/Targets/WebAssembly.cpp
The file was modified/cfe/trunk/lib/Basic/Targets/WebAssembly.h (diff)clang.src/lib/Basic/Targets/WebAssembly.h
The file was modified/cfe/trunk/test/Preprocessor/wasm-target-features.c (diff)clang.src/test/Preprocessor/wasm-target-features.c
Revision 353255 by eugenis:
[sanitizer] Decorate /proc/self/maps better.

Summary:
Refactor the way /proc/self/maps entries are annotated to support most
(all?) posix platforms, with a special implementation for Android.
Extend the set of decorated Mmap* calls.

Replace shm_open with internal_open("/dev/shm/%s"). Shm_open is
problematic because it calls libc open() which may be intercepted.

Generic implementation has limits (max number of files under /dev/shm is
64K on my machine), which can be conceivably reached when sanitizing
multiple programs at once. Android implemenation is essentially free, and
enabled by default.

The test in sanitizer_common is copied to hwasan and not reused directly
because hwasan fails way too many common tests at the moment.

Reviewers: pcc, vitalybuka

Subscribers: srhines, kubamracek, jfb, llvm-commits, kcc

Differential Revision: https://reviews.llvm.org/D57720
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/cfi/cfi.cc (diff)compiler-rt.src/lib/cfi/cfi.cc
The file was modified/compiler-rt/trunk/lib/hwasan/hwasan.cc (diff)compiler-rt.src/lib/hwasan/hwasan.cc
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator_primary64.h (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_allocator_primary64.h
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_common.h (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_common.h
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_flags.inc (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_flags.inc
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_posix.cc (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_posix.cc
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_posix.h (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_posix.h
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_posix_libcdep.cc (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_posix_libcdep.cc
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_win.cc (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_win.cc
The file was added/compiler-rt/trunk/test/hwasan/TestCases/Linux/decorate-proc-maps.ccompiler-rt.src/test/hwasan/TestCases/Linux/decorate-proc-maps.c
Revision 353249 by spatel:
[x86] add tests for extract+sitofp; NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/vec_int_to_fp.ll (diff)llvm.src/test/CodeGen/X86/vec_int_to_fp.ll
Revision 353248 by aheejin:
[WebAssembly] Tidy up `let` statements in .td files (NFC)

Summary:
- Delete {} for one-line `let` statements
- Don't indent within `let` blocks
- Add comments after `let` block's closing braces

Reviewers: tlively

Subscribers: dschuff, sbc100, jgravelle-google, sunfish, jfb, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D57730
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrAtomics.td (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyInstrAtomics.td
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrCall.td (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyInstrCall.td
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrControl.td (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyInstrControl.td
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrInfo.td (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
Revision 353246 by jyknight:
Fix MSVC constructor call extension after b92d290e48e9 (r353181).

The assert added to EmitCall there was triggering in Windows Chromium
builds, due to a mismatch of the return type.

The MSVC constructor call extension (`this->Foo::Foo()`) was emitting
the constructor call from 'EmitCXXMemberOrOperatorMemberCallExpr' via
calling 'EmitCXXMemberOrOperatorCall', instead of
'EmitCXXConstructorCall'. On targets where HasThisReturn is true, that
was failing to set the proper return type in the call info.

Switching to calling EmitCXXConstructorCall also allowed removing some
code e.g. the trivial copy/move support, which is already handled in
EmitCXXConstructorCall.

Ref: https://bugs.chromium.org/p/chromium/issues/detail?id=928861
Differential Revision: https://reviews.llvm.org/D57794
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGExprCXX.cpp (diff)clang.src/lib/CodeGen/CGExprCXX.cpp
The file was modified/cfe/trunk/test/CodeGenCXX/constructor-direct-call.cpp (diff)clang.src/test/CodeGenCXX/constructor-direct-call.cpp
Revision 353245 by asbirlea:
[BasicAA] Cache nonEscapingLocalObjects for alias() calls.

Summary:
Use a small cache for Values tested by nonEscapingLocalObject().
Since the calls to PointerMayBeCaptured are fairly expensive, this saves
a good amount of compile time for anything relying heavily on
BasicAA.alias() calls.

This uses the same approach as the AliasCache, i.e. the cache is reset
after each alias() call. The cache is not used or updated by modRefInfo
calls since it's harder to know when to reset the cache.

Testcases that show improvements with this patch are too large to
include. Example compile time improvement: 7s to 6s.

Reviewers: chandlerc, sunfish

Subscribers: sanjoy, jlebar, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D57627
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Analysis/BasicAliasAnalysis.h (diff)llvm.src/include/llvm/Analysis/BasicAliasAnalysis.h
The file was modified/llvm/trunk/lib/Analysis/BasicAliasAnalysis.cpp (diff)llvm.src/lib/Analysis/BasicAliasAnalysis.cpp
Revision 353244 by nico:
gn build: Fix clang-tidy build

Not depending on //clang/lib/StaticAnalyzer/Core and
//clang/lib/StaticAnalyzer/Frontend causes a linker error even if
ClangSACheckers are not supported.

Undefined symbols for architecture x86_64:
  "clang::ento::CreateAnalysisConsumer(clang::CompilerInstance&)", referenced from:
      clang::tidy::ClangTidyASTConsumerFactory::CreateASTConsumer(
              clang::CompilerInstance&, llvm::StringRef)
          in libclangTidy.a(libclangTidy.ClangTidy.o)

Patch from Mirko Bonadei <mbonadei@webrtc.org>!

Differential Revision: https://reviews.llvm.org/D57777
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/BUILD.gn (diff)llvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/BUILD.gn
Revision 353242 by Vedant Kumar:
[HotColdSplit] Do not split out `resume` instructions

Resumes that are not reachable from a cleanup landing pad are considered
to be unreachable. It’s not safe to split them out.

rdar://47808235
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/IPO/HotColdSplitting.cpp (diff)llvm.src/lib/Transforms/IPO/HotColdSplitting.cpp
The file was modified/llvm/trunk/test/Transforms/HotColdSplit/resume.ll (diff)llvm.src/test/Transforms/HotColdSplit/resume.ll
The file was modified/llvm/trunk/test/Transforms/HotColdSplit/unwind.ll (diff)llvm.src/test/Transforms/HotColdSplit/unwind.ll
Revision 353241 by dblaikie:
Orc: Simplify RPC naming system by using function-local statics

The existing scheme of class template static members for Name and
NameMutex is a bit verbose, involves global ctors (even if they're cheap
for string and mutex, still not entirely free), and (importantly/my
immediate motivation here) trips over a bug in LLVM's modules
implementation that's a bit involved (hmm, sounds like Mr. Smith has a
fix for the modules thing - but I'm still inclined to commit this patch
as general goodness).
Change TypePath in RepositoryPath in Workspace
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
Revision 353240 by rsmith:
[modules] Fix handling of initializers for templated global variables.

For global variables with unordered initialization that are instantiated
within a module, we previously did not emit the global (or its
initializer) at all unless it was used in the importing translation unit
(and sometimes not even then!), leading to misbehavior and link errors.

We now emit the initializer for an instantiated global variable with
unordered initialization with side-effects in a module into every
translation unit that imports the module. This is unfortunate, but
mostly matches the behavior of a non-modular compilation and seems to be
the best that we can reasonably do.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/AST/TextNodeDumper.cpp (diff)clang.src/lib/AST/TextNodeDumper.cpp
The file was modified/cfe/trunk/lib/Serialization/ASTCommon.h (diff)clang.src/lib/Serialization/ASTCommon.h
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/ASTWriterDecl.cpp (diff)clang.src/lib/Serialization/ASTWriterDecl.cpp
The file was added/cfe/trunk/test/Modules/initializers.cppclang.src/test/Modules/initializers.cpp
Revision 353238 by dyung:
Fixup test on Windows with a case-insensitive filesystem due to path printing changes from r352704.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/FileCheck/defines.txt (diff)llvm.src/test/FileCheck/defines.txt
Revision 353237 by Lang Hames:
[ADT] Add a fallible_iterator wrapper.

A fallible iterator is one whose increment or decrement operations may fail.
This would usually be supported by replacing the ++ and -- operators with
methods that return error:

    class MyFallibleIterator {
    public:
      // ...
      Error inc();
      Errro dec();
      // ...
    };

The downside of this style is that it no longer conforms to the C++ iterator
concept, and can not make use of standard algorithms and features such as
range-based for loops.

The fallible_iterator wrapper takes an iterator written in the style above
and adapts it to (mostly) conform with the C++ iterator concept. It does this
by providing standard ++ and -- operator implementations, returning any errors
generated via a side channel (an Error reference passed into the wrapper at
construction time), and immediately jumping the iterator to a known 'end'
value upon error. It also marks the Error as checked any time an iterator is
compared with a known end value and found to be inequal, allowing early exit
from loops without redundant error checking*.

Usage looks like:

    MyFallibleIterator I = ..., E = ...;

    Error Err = Error::success();
    for (auto &Elem : make_fallible_range(I, E, Err)) {
      // Loop body is only entered when safe.

      // Early exits from loop body permitted without checking Err.
      if (SomeCondition)
        return;

    }
    if (Err)
      // Handle error.

* Since failure causes a fallible iterator to jump to end, testing that a
  fallible iterator is not an end value implicitly verifies that the error is a
  success value, and so is equivalent to an error check.

Reviewers: dblaikie, rupprecht

Subscribers: mgorny, dexonsmith, kristina, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D57618
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/ProgrammersManual.rst (diff)llvm.src/docs/ProgrammersManual.rst
The file was added/llvm/trunk/include/llvm/ADT/fallible_iterator.hllvm.src/include/llvm/ADT/fallible_iterator.h
The file was modified/llvm/trunk/include/llvm/Object/Archive.h (diff)llvm.src/include/llvm/Object/Archive.h
The file was modified/llvm/trunk/lib/Object/Archive.cpp (diff)llvm.src/lib/Object/Archive.cpp
The file was modified/llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpp (diff)llvm.src/tools/llvm-objcopy/llvm-objcopy.cpp
The file was modified/llvm/trunk/unittests/ADT/CMakeLists.txt (diff)llvm.src/unittests/ADT/CMakeLists.txt
The file was added/llvm/trunk/unittests/ADT/FallibleIteratorTest.cppllvm.src/unittests/ADT/FallibleIteratorTest.cpp
Revision 353236 by aheejin:
[WebAssembly] Add a comment about why v128.const test was disabled (NFC)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/MC/Disassembler/WebAssembly/wasm.txt (diff)llvm.src/test/MC/Disassembler/WebAssembly/wasm.txt
Revision 353235 by spatel:
[InstCombine] limit extracting shuffle transform based on uses

As discussed in D53037, this can lead to worse codegen, and we
don't generally expect the backend to be able to optimize
arbitrary shuffles. If there's only one use of the 1st shuffle,
that means it's getting removed, so that should always be
safe.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineVectorOps.cpp (diff)llvm.src/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
The file was modified/llvm/trunk/test/Transforms/InstCombine/vec_shuffle.ll (diff)llvm.src/test/Transforms/InstCombine/vec_shuffle.ll
Revision 353234 by aheejin:
[WebAssembly] Disable a v128.const test line temporarily

r353131 caused failures in v128.const test for clang-ppc64be-linux-lnt
and clang-s390x-linux bots. This temporarily disables that line until
it is fixed.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/MC/Disassembler/WebAssembly/wasm.txt (diff)llvm.src/test/MC/Disassembler/WebAssembly/wasm.txt
Revision 353233 by spatel:
[InstCombine] split shuffle test to show extra use constraint; NFC

As discussed in D53037, this transform can cause codegen problems
if the 1st shuffle has multiple uses.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstCombine/vec_shuffle.ll (diff)llvm.src/test/Transforms/InstCombine/vec_shuffle.ll
Revision 353232 by tra:
Basic CUDA-10 support.

Differential Revision: https://reviews.llvm.org/D57771
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/Cuda.h (diff)clang.src/include/clang/Basic/Cuda.h
The file was modified/cfe/trunk/lib/Basic/Cuda.cpp (diff)clang.src/lib/Basic/Cuda.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGCUDANV.cpp (diff)clang.src/lib/CodeGen/CGCUDANV.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/Cuda.cpp (diff)clang.src/lib/Driver/ToolChains/Cuda.cpp
The file was modified/cfe/trunk/lib/Headers/__clang_cuda_runtime_wrapper.h (diff)clang.src/lib/Headers/__clang_cuda_runtime_wrapper.h
Revision 353231 by vsapsai:
[Preprocessor] Add a note with framework location for "file not found" error.

When a framework with the same name is available at multiple framework
search paths, we use the first matching location. If a framework at this
location doesn't have all the headers, it can be confusing for
developers because they see only an error `'Foo/Foo.h' file not found`,
can find the complete framework with required header, and don't know the
incomplete framework was used instead.

Add a note explaining a framework without required header was found.
Also mention framework directory path to make it easier to find the
incomplete framework.

rdar://problem/39246514

Reviewers: arphaman, erik.pilkington, jkorous

Reviewed By: jkorous

Subscribers: jkorous, dexonsmith, cfe-commits

Differential Revision: https://reviews.llvm.org/D56561
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td (diff)clang.src/include/clang/Basic/DiagnosticLexKinds.td
The file was modified/cfe/trunk/include/clang/Lex/DirectoryLookup.h (diff)clang.src/include/clang/Lex/DirectoryLookup.h
The file was modified/cfe/trunk/include/clang/Lex/HeaderSearch.h (diff)clang.src/include/clang/Lex/HeaderSearch.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/lib/Frontend/FrontendActions.cpp (diff)clang.src/lib/Frontend/FrontendActions.cpp
The file was modified/cfe/trunk/lib/Frontend/Rewrite/InclusionRewriter.cpp (diff)clang.src/lib/Frontend/Rewrite/InclusionRewriter.cpp
The file was modified/cfe/trunk/lib/Frontend/VerifyDiagnosticConsumer.cpp (diff)clang.src/lib/Frontend/VerifyDiagnosticConsumer.cpp
The file was modified/cfe/trunk/lib/Lex/HeaderSearch.cpp (diff)clang.src/lib/Lex/HeaderSearch.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/PPMacroExpansion.cpp (diff)clang.src/lib/Lex/PPMacroExpansion.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/Lex/Preprocessor.cpp (diff)clang.src/lib/Lex/Preprocessor.cpp
The file was added/cfe/trunk/test/Preprocessor/include-header-missing-in-framework.cclang.src/test/Preprocessor/include-header-missing-in-framework.c
Revision 353230 by xur:
[PGO] Use a function for creating variable for profile file name. NFC.

Factored out the code for creating variable for profile file name to
a function.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ProfileData/InstrProf.h (diff)llvm.src/include/llvm/ProfileData/InstrProf.h
The file was modified/llvm/trunk/lib/ProfileData/InstrProf.cpp (diff)llvm.src/lib/ProfileData/InstrProf.cpp
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/InstrProfiling.cpp (diff)llvm.src/lib/Transforms/Instrumentation/InstrProfiling.cpp
Revision 353229 by George Karpenkov:
[analyzer] Document RetainCountChecker behavior and annotations

Differential Revision: https://reviews.llvm.org/D57721
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/www/analyzer/annotations.html (diff)clang.src/www/analyzer/annotations.html
Revision 353228 by George Karpenkov:
[analyzer] [testing] Inside CmpRuns.py output also print the filename of the first item in the path

Differential Revision: https://reviews.llvm.org/D57783
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/utils/analyzer/CmpRuns.py (diff)clang.src/utils/analyzer/CmpRuns.py
Revision 353227 by George Karpenkov:
[analyzer] [RetainCountChecker] Bugfix: in non-OSObject-mode, do not track CXX method calls

Differential Revision: https://reviews.llvm.org/D57782
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Analysis/RetainSummaryManager.cpp (diff)clang.src/lib/Analysis/RetainSummaryManager.cpp
The file was modified/cfe/trunk/test/Analysis/retain-release.mm (diff)clang.src/test/Analysis/retain-release.mm
Revision 353225 by petarj:
[elfabi] Fix the type of the variable formated for error output

Change the format type of Dyn.SONameOffset to PRIx64 since it is a uint64_t.
The problem was detected on mips builds, where it was printing junk values
and causing test failure.

Patch by Milos Stojanovic.

Differential Revision: https://reviews.llvm.org/D57676
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-elfabi/ELFObjHandler.cpp (diff)llvm.src/tools/llvm-elfabi/ELFObjHandler.cpp
Revision 353224 by kamil:
Update the ioctl(2) list in sanitizers with NetBSD 8.99.34
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_interceptors_ioctl_netbsd.inc (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_interceptors_ioctl_netbsd.inc
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cc (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cc
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h
The file was modified/compiler-rt/trunk/utils/generate_netbsd_ioctls.awk (diff)compiler-rt.src/utils/generate_netbsd_ioctls.awk
Revision 353223 by aditya_nandakumar:
[NFC][GlobalISel]: Add a convenience method to MachineInstrBuilder to simplify getOperand(i).getReg()

https://reviews.llvm.org/D57608

It's a common pattern in GISel to have a MachineInstrBuilder from which we get various regs
(commonly MIB->getOperand(0).getReg()). This adds a helper method and the above can be
replaced with MIB.getReg(0).
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/MachineInstrBuilder.h (diff)llvm.src/include/llvm/CodeGen/MachineInstrBuilder.h
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64InstructionSelector.cpp (diff)llvm.src/lib/Target/AArch64/AArch64InstructionSelector.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64LegalizerInfo.cpp (diff)llvm.src/lib/Target/AArch64/AArch64LegalizerInfo.cpp
Revision 353222 by ctopper:
[X86] Regenerate tests missed in r353061. NFC

We now print the implicit %st register on these instruction, but since they occur at the end of the line, FileCheck didn't see they were missing.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/fp-cvt.ll (diff)llvm.src/test/CodeGen/X86/fp-cvt.ll
The file was modified/llvm/trunk/test/CodeGen/X86/scalar-fp-to-i64.ll (diff)llvm.src/test/CodeGen/X86/scalar-fp-to-i64.ll
Revision 353221 by rnk:
[InstrProf] Merge COFF .lprof* and .lcovmap sections into .data/.rdata

There is no reason for these sections to remain separate in the final
DLL or EXE.

I have not yet added a InstrProfilingPlatformWindows.c for these, since
avoiding dynamic profile data registration is a larger project for
later.
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/profile/InstrProfilingPlatformOther.c (diff)compiler-rt.src/lib/profile/InstrProfilingPlatformOther.c
Revision 353219 by Adrian Prantl:
Fix a missing word in comment
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGDebugInfo.cpp (diff)clang.src/lib/CodeGen/CGDebugInfo.cpp
Revision 353218 by rnk:
[MC] Don't error on numberless .file directives on MachO

Summary:
Before r349976, MC ignored such directives when producing an object file
and asserted when re-producing textual assembly output. I turned this
assertion into a hard error in both cases in r349976, but this makes it
unnecessarily difficult to write a single assembly file that supports
both MachO and other object formats that support .file. A user reported
this as PR40578, and we decided to go back to ignoring the directive.

Fixes PR40578

Reviewers: mstorsjo

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D57772
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/MC/MCParser/AsmParser.cpp (diff)llvm.src/lib/MC/MCParser/AsmParser.cpp
The file was removed/llvm/trunk/test/MC/MachO/file-single.sllvm.src/test/MC/MachO/file-single.s
The file was modified/llvm/trunk/test/MC/MachO/file.s (diff)llvm.src/test/MC/MachO/file.s
Revision 353217 by mattd:
[llvm-readobj] Display sections that do not belong to a segment in the section-mapping

Summary:
The following patch adds the "None" line to the section to segment mapping dump.
That line lists the sections that do not belong to any segment.
I realize that this change differs from GNU readelf which does not display the latter information.

I'd rather not add this "feature" under a command line option.  I think that might introduce confusion, since users would have to
make an additional decision as to if they want to see all of the section-to-segment map or just a subset of it.

Another option is to only print the "None" line if the `--section-mapping` option is passed; however,
that might also introduce some confusion, because the section-to-segment map would be different between`--program-headers`
and the `--section-mapping` output.  While the difference is just the "None" line, it seems that if we choose to display
the segment-to-section mapping, then we should always display the whole map including the sections
that do not belong to segments.

```
Section to Segment mapping:
  Segment Sections...
   00
   01     .interp
   02     .interp .note.ABI-tag .gnu.hash
   03     .init_array .fini_array .dynamic
   04     .dynamic
   05     .note.ABI-tag
   06     .eh_frame_hdr
   07
   08     .init_array .fini_array .dynamic .got
   None   .comment .symtab .strtab .shstrtab <--- THIS LINE
```

Reviewers: grimar, rupprecht, jhenderson, espindola

Reviewed By: rupprecht

Subscribers: khemant, emaste, arichardson, llvm-commits

Differential Revision: https://reviews.llvm.org/D57700
Change TypePath in RepositoryPath in Workspace
The file was modified/lld/trunk/test/ELF/linkerscript/segment-none.s (diff)N/A
The file was modified/llvm/trunk/test/tools/llvm-readobj/gnu-phdrs.test (diff)llvm.src/test/tools/llvm-readobj/gnu-phdrs.test
The file was modified/llvm/trunk/tools/llvm-readobj/ELFDumper.cpp (diff)llvm.src/tools/llvm-readobj/ELFDumper.cpp
Revision 353216 by tlively:
[WebAssembly] Lower memmove to memory.copy

Summary: The lowering is identical to the memcpy lowering.

Reviewers: aheejin

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

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D57727
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp (diff)llvm.src/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.h (diff)llvm.src/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.h
The file was modified/llvm/trunk/test/CodeGen/WebAssembly/bulk-memory.ll (diff)llvm.src/test/CodeGen/WebAssembly/bulk-memory.ll
Revision 353215 by Louis Dionne:
[libc++] Fix XFAILs when exceptions are disabled

It turns out that I un-XFAILed too many tests in r353210: some tests
actually fail whether exceptions are enabled or not because they use
types that are marked as unavailable even when exceptions are disabled.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.bad_optional_access/default.pass.cpp (diff)libcxx.src/test/std/utilities/optional/optional.bad_optional_access/default.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.bad_optional_access/derive.pass.cpp (diff)libcxx.src/test/std/utilities/optional/optional.bad_optional_access/derive.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp
Revision 353214 by abataev:
[DOCS]Support for emission of the debug info for the Cuda devices, NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/OpenMPSupport.rst (diff)clang.src/docs/OpenMPSupport.rst
The file was modified/cfe/trunk/docs/ReleaseNotes.rst (diff)clang.src/docs/ReleaseNotes.rst
Revision 353213 by evandro:
[TargetLibraryInfo] Regroup run time functions for Windows (NFC)

Regroup supported and unsupported functions by precision and C standard.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/TargetLibraryInfo.cpp (diff)llvm.src/lib/Analysis/TargetLibraryInfo.cpp
Revision 353212 by asl:
Do not use frame pointer by default for MSP430

This is suggested by 3.3.9 of MSP430 EABI document.
We do allow user to manually enable frame pointer. GCC toolchain uses the same behavior.

Patch by Dmitry Mikushev!

Differential Revision: https://reviews.llvm.org/D56925
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/CodeGen/msp430-fp-elim.cclang.src/test/CodeGen/msp430-fp-elim.c
Revision 353211 by arsenm:
Move some llvm-mc tests where they belong
Change TypePath in RepositoryPath in Workspace
The file was removed/llvm/trunk/test/Assembler/empty-string.sllvm.src/test/Assembler/empty-string.s
The file was removed/llvm/trunk/test/Assembler/return-column.sllvm.src/test/Assembler/return-column.s
The file was added/llvm/trunk/test/MC/RISCV/empty-string.sllvm.src/test/MC/RISCV/empty-string.s
The file was added/llvm/trunk/test/MC/X86/return-column.sllvm.src/test/MC/X86/return-column.s
Revision 353210 by Louis Dionne:
[libc++] Fix XFAILs on macOS when exceptions are disabled

Some tests are marked as failing on platforms where the dylib does not
provide the required exception classes. However, when testing with
exceptions disabled, those tests shouldn't be marked as failing.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.assign/copy.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.class/any.assign/copy.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.assign/move.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.class/any.assign/move.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.assign/value.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.class/any.assign/value.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.cons/copy.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.class/any.cons/copy.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.cons/move.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.class/any.cons/move.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.cons/value.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.class/any.cons/value.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/reset.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.class/any.modifiers/reset.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/swap.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.class/any.modifiers/swap.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.nonmembers/any.cast/any_cast_pointer.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.nonmembers/any.cast/any_cast_pointer.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.nonmembers/make_any.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.nonmembers/make_any.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.nonmembers/swap.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.nonmembers/swap.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.bad_optional_access/default.pass.cpp (diff)libcxx.src/test/std/utilities/optional/optional.bad_optional_access/default.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.bad_optional_access/derive.pass.cpp (diff)libcxx.src/test/std/utilities/optional/optional.bad_optional_access/derive.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp (diff)libcxx.src/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp (diff)libcxx.src/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp (diff)libcxx.src/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp (diff)libcxx.src/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value.pass.cpp (diff)libcxx.src/test/std/utilities/optional/optional.object/optional.object.observe/value.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_const.pass.cpp (diff)libcxx.src/test/std/utilities/optional/optional.object/optional.object.observe/value_const.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_const_rvalue.pass.cpp (diff)libcxx.src/test/std/utilities/optional/optional.object/optional.object.observe/value_const_rvalue.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp (diff)libcxx.src/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.specalg/make_optional.pass.cpp (diff)libcxx.src/test/std/utilities/optional/optional.specalg/make_optional.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.get/get_index.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.get/get_index.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.get/get_type.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.get/get_type.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_init_list_args.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_init_list_args.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_init_list_args.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_init_list_args.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.visit/visit.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.visit/visit.pass.cpp
Revision 353209 by arsenm:
GlobalISel: Verify G_GEP
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/MachineVerifier.cpp (diff)llvm.src/lib/CodeGen/MachineVerifier.cpp
The file was added/llvm/trunk/test/Verifier/test_g_gep.mirllvm.src/test/Verifier/test_g_gep.mir
Revision 353208 by phosek:
[CMake] Support compiler-rt builtins library in tests

We're building tests with -nostdlib which means that we need to
explicitly include the builtins library. When using libgcc (default)
we can simply include -lgcc_s on the link line, but when using
compiler-rt builtins we need a complete path to the builtins library.

This path is already available in CMake as <PROJECT>_BUILTINS_LIBRARY,
so we just need to pass that path to lit and if config.compiler_rt is
true, link it to the test.

Prior to this patch, running tests when compiler-rt is being used as
the builtins library was broken as all tests would fail to link, but
with this change running tests when compiler-rt bultins library is
being used should be supported.

Differential Revision: https://reviews.llvm.org/D56701
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/docs/TestingLibcxx.rst (diff)libcxx.src/docs/TestingLibcxx.rst
The file was modified/libcxx/trunk/test/lit.site.cfg.in (diff)libcxx.src/test/lit.site.cfg.in
The file was modified/libcxx/trunk/utils/libcxx/test/target_info.py (diff)libcxx.src/utils/libcxx/test/target_info.py
The file was modified/libcxxabi/trunk/test/lit.site.cfg.in (diff)N/A
The file was modified/libunwind/trunk/test/lit.site.cfg.in (diff)N/A
Revision 353207 by scott.linder:
[AMDGPU] Consider XOR in waterfall loop as a terminator

Ensure the XOR in the waterfall loop for indirect addressing is considered a terminator.

Differential Revision: https://reviews.llvm.org/D57703
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cpp (diff)llvm.src/lib/Target/AMDGPU/SIISelLowering.cpp
The file was added/llvm/trunk/test/CodeGen/AMDGPU/indirect-addressing-term.llllvm.src/test/CodeGen/AMDGPU/indirect-addressing-term.ll
Revision 353206 by Louis Dionne:
[libc++] Use UNSUPPORTED instead of TEST_STD_VER #ifdef

When the whole test only works starting at some version of the Standard,
use UNSUPPORTED lit markup instead of #ifdef TEST_STD_VER. This provides
more visibility into the test suite.

Reviewed as https://reviews.llvm.org/D57704.
Thanks to Andrey Maksimov for the patch.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/std/input.output/iostream.format/quoted.manip/quoted.pass.cpp (diff)libcxx.src/test/std/input.output/iostream.format/quoted.manip/quoted.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.types/allocator_pointers.pass.cpp (diff)libcxx.src/test/std/utilities/allocator.adaptor/allocator.adaptor.types/allocator_pointers.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/memory/default.allocator/allocator_pointers.pass.cpp (diff)libcxx.src/test/std/utilities/memory/default.allocator/allocator_pointers.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.cat/nullptr.pass.cpp (diff)libcxx.src/test/std/utilities/meta/meta.unary/meta.unary.cat/nullptr.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/tuple/tuple.tuple/TupleFunction.pass.cpp (diff)libcxx.src/test/std/utilities/tuple/tuple.tuple/TupleFunction.pass.cpp
Revision 353205 by Vitaly Buka:
[sanitizer] Fix unused function 'unpoison_passwd'
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_common_interceptors.inc
Revision 353204 by abataev:
[DEBUG_INFO][NVPTX] Generate correct data about variable address class.

Summary:
Added ability to generate correct debug info data about the variable
address class. Currently, for all the locals and globals the default
values are used, ADDR_local_space(6) for locals and ADDR_global_space(5)
for globals. The values are taken from the table in
  https://docs.nvidia.com/cuda/archive/10.0/ptx-writers-guide-to-interoperability/index.html#cuda-specific-dwarf.
  We need to emit correct data for address classes of, at least, shared
  and constant globals. Currently, all these variables are treated by
  the cuda-gdb debugger as the variables in the global address space
  and, thus, it require manual data type casting.

Reviewers: echristo, probinson

Subscribers: jholewinski, aprantl, cfe-commits

Differential Revision: https://reviews.llvm.org/D57162
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Basic/Targets/NVPTX.h (diff)clang.src/lib/Basic/Targets/NVPTX.h
The file was modified/cfe/trunk/lib/CodeGen/CGDebugInfo.cpp (diff)clang.src/lib/CodeGen/CGDebugInfo.cpp
The file was added/cfe/trunk/test/CodeGenCUDA/debug-info-address-class.cuclang.src/test/CodeGenCUDA/debug-info-address-class.cu
Revision 353203 by abataev:
[DEBUG_INFO][NVPTX] Generate DW_AT_address_class to get the values in debugger.

Summary:
According to
https://docs.nvidia.com/cuda/archive/10.0/ptx-writers-guide-to-interoperability/index.html#cuda-specific-dwarf,
the compiler should emit the DW_AT_address_class attribute for all
variable and parameter. It means, that DW_AT_address_class attribute
should be used in the non-standard way to support compatibility with the
cuda-gdb debugger.
Clang is able to generate the information about the variable address
class. This information is emitted as the expression sequence
`DW_OP_constu <DWARF Address Space> DW_OP_swap DW_OP_xderef`. The patch
tries to find all such expressions and transform them into
`DW_AT_address_class <DWARF Address Space>` if target is NVPTX and the debugger is gdb.
If the expression is not found, then default values are used. For the
local variables <DWARF Address Space> is set to ADDR_local_space(6), for
the globals <DWARF Address Space> is set to ADDR_global_space(5). The
values are taken from the table in the same section 5.2. CUDA-Specific
DWARF Definitions.

Reviewers: echristo, probinson

Subscribers: jholewinski, aprantl, llvm-commits

Differential Revision: https://reviews.llvm.org/D57157
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/DebugInfoMetadata.h (diff)llvm.src/include/llvm/IR/DebugInfoMetadata.h
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp (diff)llvm.src/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
The file was modified/llvm/trunk/lib/IR/DebugInfoMetadata.cpp (diff)llvm.src/lib/IR/DebugInfoMetadata.cpp
The file was modified/llvm/trunk/test/DebugInfo/NVPTX/dbg-declare-alloca.ll (diff)llvm.src/test/DebugInfo/NVPTX/dbg-declare-alloca.ll
The file was added/llvm/trunk/test/DebugInfo/NVPTX/debug-addr-class.llllvm.src/test/DebugInfo/NVPTX/debug-addr-class.ll
Revision 353202 by arsenm:
AMDGPU: Fix assert on trunc from bitcast of build_vector

The v2i64 argument is lowered to a bitcast of v4i32 build_vector.
This would then attempt to use the i32-element as the source of the
vector truncate. This really would need to collect 2 elements from the
build_vector to produce the intended truncate.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUISelLowering.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/trunc-combine.ll (diff)llvm.src/test/CodeGen/AMDGPU/trunc-combine.ll
Revision 353201 by Louis Dionne:
[libcxx] Start defining lit features for tests depending on availability

This patch removes some vendor-specific availability XFAILs from the
test suite. In the future, when a new feature is introduced in the
dylib, an availability macro should be created and a matching lit
feature should be created. That way, the test suite can XFAIL whenever
the implementation lacks the necessary feature instead of being
cluttered by vendor-specific annotations.

Right now, those vendor-specific annotations are still somewhat cluttering
the test suite by being in `config.py`, but at least they are localized.
In the future, we could design a way to define those less intrusively or
even automatically based on the availability macros that already exist
in <__config>.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/docs/DesignDocs/AvailabilityMarkup.rst (diff)libcxx.src/docs/DesignDocs/AvailabilityMarkup.rst
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.assign/copy.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.class/any.assign/copy.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.assign/move.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.class/any.assign/move.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.assign/value.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.class/any.assign/value.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.cons/copy.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.class/any.cons/copy.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.cons/move.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.class/any.cons/move.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.cons/value.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.class/any.cons/value.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/reset.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.class/any.modifiers/reset.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/swap.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.class/any.modifiers/swap.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.nonmembers/any.cast/any_cast_pointer.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.nonmembers/any.cast/any_cast_pointer.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.nonmembers/make_any.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.nonmembers/make_any.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.nonmembers/swap.pass.cpp (diff)libcxx.src/test/std/utilities/any/any.nonmembers/swap.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.bad_optional_access/default.pass.cpp (diff)libcxx.src/test/std/utilities/optional/optional.bad_optional_access/default.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.bad_optional_access/derive.pass.cpp (diff)libcxx.src/test/std/utilities/optional/optional.bad_optional_access/derive.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp (diff)libcxx.src/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp (diff)libcxx.src/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp (diff)libcxx.src/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp (diff)libcxx.src/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value.pass.cpp (diff)libcxx.src/test/std/utilities/optional/optional.object/optional.object.observe/value.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_const.pass.cpp (diff)libcxx.src/test/std/utilities/optional/optional.object/optional.object.observe/value_const.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_const_rvalue.pass.cpp (diff)libcxx.src/test/std/utilities/optional/optional.object/optional.object.observe/value_const_rvalue.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp (diff)libcxx.src/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.specalg/make_optional.pass.cpp (diff)libcxx.src/test/std/utilities/optional/optional.specalg/make_optional.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.get/get_index.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.get/get_index.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.get/get_type.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.get/get_type.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_init_list_args.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_init_list_args.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_init_list_args.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_init_list_args.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.visit/visit.pass.cpp (diff)libcxx.src/test/std/utilities/variant/variant.visit/visit.pass.cpp
The file was modified/libcxx/trunk/utils/libcxx/test/config.py (diff)libcxx.src/utils/libcxx/test/config.py
Revision 353199 by jyknight:
[opaque pointer types] More trivial changes to pass FunctionType to CallInst.

Change various functions to use FunctionCallee or Function*.

Pass function type through __builtin_dump_struct's dumpRecord helper.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGBuiltin.cpp (diff)clang.src/lib/CodeGen/CGBuiltin.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGDecl.cpp (diff)clang.src/lib/CodeGen/CGDecl.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGVTables.cpp (diff)clang.src/lib/CodeGen/CGVTables.cpp
The file was modified/cfe/trunk/lib/CodeGen/CodeGenFunction.h (diff)clang.src/lib/CodeGen/CodeGenFunction.h
The file was modified/cfe/trunk/lib/CodeGen/CodeGenModule.h (diff)clang.src/lib/CodeGen/CodeGenModule.h
The file was modified/cfe/trunk/lib/CodeGen/MicrosoftCXXABI.cpp (diff)clang.src/lib/CodeGen/MicrosoftCXXABI.cpp
Revision 353198 by rksimon:
[X86][SSE] Disable ZERO_EXTEND shuffle combining

rL352997 enabled ZERO_EXTEND from non-shuffle-able value types. I've disabled it for now to fix a regression identified by @asbirlea until I can fix this properly.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-256-v8.ll (diff)llvm.src/test/CodeGen/X86/vector-shuffle-256-v8.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-combining-avx2.ll (diff)llvm.src/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
Revision 353197 by jyknight:
Minor cleanup: remove CGBuild::CreateConst*ByteGEP overloads taking a Value*.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGBuilder.h (diff)clang.src/lib/CodeGen/CGBuilder.h
The file was modified/cfe/trunk/lib/CodeGen/TargetInfo.cpp (diff)clang.src/lib/CodeGen/TargetInfo.cpp
Revision 353194 by petarj:
[PGO] Fix the type of the formated variable

Change the format type of Value to PRIu64 since it is a uint64_t.
The problem was detected on mips boards building 32-bit binaries,
where it was printing junk values and causing test failure.

Patch by Milos Stojanovic.

Differential Revision: https://reviews.llvm.org/D57583
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-profdata/llvm-profdata.cpp (diff)llvm.src/tools/llvm-profdata/llvm-profdata.cpp
Revision 353193 by codafi:
[LLVM-C] Add Bindings to GlobalIFunc

Summary:
Adds the standard gauntlet of accessors for global indirect functions and updates the echo test.

Now it would be nice to have a target abstraction so one could know if they have access to a suitable ELF linker and runtime.

Reviewers: whitequark, deadalnix

Reviewed By: whitequark

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D56177
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm-c/Core.h (diff)llvm.src/include/llvm-c/Core.h
The file was modified/llvm/trunk/lib/IR/Core.cpp (diff)llvm.src/lib/IR/Core.cpp
The file was modified/llvm/trunk/test/Bindings/llvm-c/echo.ll (diff)llvm.src/test/Bindings/llvm-c/echo.ll
The file was modified/llvm/trunk/tools/llvm-c-test/echo.cpp (diff)llvm.src/tools/llvm-c-test/echo.cpp
Revision 353192 by asl:
Enable integrated assembler on MSP430 by default.

Patch by Kristina Bessonova!

Differential Revision: https://reviews.llvm.org/D56787
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp (diff)llvm.src/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/MSP430/mult-alt-generic-msp430.ll (diff)llvm.src/test/CodeGen/MSP430/mult-alt-generic-msp430.ll
Revision 353190 by olista01:
[AArch64][Outliner] Don't outline BTI instructions

We can't outline BTI instructions, because they need to be the very first
instruction executed after an indirect call or branch. If we outline them, then
an indirect call might go to the branch to the outlined function, which will
fault.

Differential revision: https://reviews.llvm.org/D57753
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
The file was added/llvm/trunk/test/CodeGen/AArch64/machine-outliner-outline-bti.llllvm.src/test/CodeGen/AArch64/machine-outliner-outline-bti.ll
Revision 353189 by rksimon:
[X86][AVX] Attempt to combine shuffles to subvector broadcast load
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/subvector-broadcast.ll (diff)llvm.src/test/CodeGen/X86/subvector-broadcast.ll
Revision 353188 by arsenm:
AArch64/GlobalISel: Don't clamp from 2 to 2

This is equivalent to clampMaxNumElements, but saves a check.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64LegalizerInfo.cpp (diff)llvm.src/lib/Target/AArch64/AArch64LegalizerInfo.cpp
Revision 353186 by kli:
[OPENMP] issue error messages for multiple teams contructs in a target construct

The fix is to issue error messages if there are more than one
teams construct inside a target constructs.

#pragma omp target
{
  #pragma omp teams
  {  ...  }

  #pragma omp teams
  { ... }
}
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Sema/SemaOpenMP.cpp (diff)clang.src/lib/Sema/SemaOpenMP.cpp
The file was modified/cfe/trunk/test/OpenMP/nesting_of_regions.cpp (diff)clang.src/test/OpenMP/nesting_of_regions.cpp
Revision 353185 by Louis Dionne:
[libc++] Control whether exceptions are enabled in the macOS trunk testing script
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/utils/ci/macos-trunk.sh (diff)libcxx.src/utils/ci/macos-trunk.sh
Revision 353184 by jyknight:
[opaque pointer types] Pass function types for runtime function calls.

Emit{Nounwind,}RuntimeCall{,OrInvoke} have been modified to take a
FunctionCallee as an argument, and CreateRuntimeFunction has been
modified to return a FunctionCallee. All callers have been updated.

Additionally, CreateBuiltinFunction is removed, as it was redundant
with CreateRuntimeFunction after some previous changes.

Differential Revision: https://reviews.llvm.org/D57668
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGAtomic.cpp (diff)clang.src/lib/CodeGen/CGAtomic.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGBlocks.cpp (diff)clang.src/lib/CodeGen/CGBlocks.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGBuiltin.cpp (diff)clang.src/lib/CodeGen/CGBuiltin.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGCUDANV.cpp (diff)clang.src/lib/CodeGen/CGCUDANV.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGCall.cpp (diff)clang.src/lib/CodeGen/CGCall.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGCall.h (diff)clang.src/lib/CodeGen/CGCall.h
The file was modified/cfe/trunk/lib/CodeGen/CGClass.cpp (diff)clang.src/lib/CodeGen/CGClass.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGDeclCXX.cpp (diff)clang.src/lib/CodeGen/CGDeclCXX.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGException.cpp (diff)clang.src/lib/CodeGen/CGException.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGExpr.cpp (diff)clang.src/lib/CodeGen/CGExpr.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGExprComplex.cpp (diff)clang.src/lib/CodeGen/CGExprComplex.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGExprScalar.cpp (diff)clang.src/lib/CodeGen/CGExprScalar.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGObjC.cpp (diff)clang.src/lib/CodeGen/CGObjC.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGObjCGNU.cpp (diff)clang.src/lib/CodeGen/CGObjCGNU.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGObjCMac.cpp (diff)clang.src/lib/CodeGen/CGObjCMac.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGObjCRuntime.cpp (diff)clang.src/lib/CodeGen/CGObjCRuntime.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGObjCRuntime.h (diff)clang.src/lib/CodeGen/CGObjCRuntime.h
The file was modified/cfe/trunk/lib/CodeGen/CGOpenMPRuntime.cpp (diff)clang.src/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGOpenMPRuntime.h (diff)clang.src/lib/CodeGen/CGOpenMPRuntime.h
The file was modified/cfe/trunk/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp (diff)clang.src/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGOpenMPRuntimeNVPTX.h (diff)clang.src/lib/CodeGen/CGOpenMPRuntimeNVPTX.h
The file was modified/cfe/trunk/lib/CodeGen/CGStmtOpenMP.cpp (diff)clang.src/lib/CodeGen/CGStmtOpenMP.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGVTables.cpp (diff)clang.src/lib/CodeGen/CGVTables.cpp
The file was modified/cfe/trunk/lib/CodeGen/CodeGenFunction.h (diff)clang.src/lib/CodeGen/CodeGenFunction.h
The file was modified/cfe/trunk/lib/CodeGen/CodeGenModule.cpp (diff)clang.src/lib/CodeGen/CodeGenModule.cpp
The file was modified/cfe/trunk/lib/CodeGen/CodeGenModule.h (diff)clang.src/lib/CodeGen/CodeGenModule.h
The file was modified/cfe/trunk/lib/CodeGen/ItaniumCXXABI.cpp (diff)clang.src/lib/CodeGen/ItaniumCXXABI.cpp
The file was modified/cfe/trunk/lib/CodeGen/MicrosoftCXXABI.cpp (diff)clang.src/lib/CodeGen/MicrosoftCXXABI.cpp
Revision 353183 by sbc:
[WebAssembly] Object: Remove redundant method. NFC.

Differential Revision: https://reviews.llvm.org/D57719
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Object/Wasm.h (diff)llvm.src/include/llvm/Object/Wasm.h
The file was modified/llvm/trunk/lib/Object/WasmObjectFile.cpp (diff)llvm.src/lib/Object/WasmObjectFile.cpp
Revision 353182 by rksimon:
[X86][AVX] Add PR34041 subvector broadcast test cases
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/subvector-broadcast.ll (diff)llvm.src/test/CodeGen/X86/subvector-broadcast.ll
Revision 353181 by jyknight:
[opaque pointer types] Fix the CallInfo passed to EmitCall in some
edge cases.

Currently, EmitCall emits a call instruction with a function type
derived from the pointee-type of the callee. This *should* be the same
as the type created from the CallInfo parameter, but in some cases an
incorrect CallInfo was being passed.

All of these fixes were discovered by the addition of the assert in
EmitCall which verifies that the passed-in CallInfo matches the
Callee's function type.

As far as I know, these issues caused no bugs at the moment, as the
correct types were ultimately being emitted. But, some would become
problematic when pointee types are removed.

List of fixes:

* arrangeCXXConstructorCall was passing an incorrect value for the
  number of Required args, when calling an inheriting constructor
  where the inherited constructor is variadic. (The inheriting
  constructor doesn't actually get passed any of the user's args, but
  the code was calculating it as if it did).

* arrangeFreeFunctionLikeCall was not including the count of the
  pass_object_size arguments in the count of required args.

* OpenCL uses other address spaces for the "this" pointer. However,
  commonEmitCXXMemberOrOperatorCall was not annotating the address
  space on the "this" argument of the call.

* Destructor calls were being created with EmitCXXMemberOrOperatorCall
  instead of EmitCXXDestructorCall in a few places. This was a problem
  because the calling convention sometimes has destructors returning
  "this" rather than void, and the latter function knows about that,
  and sets up the types properly (through calling
  arrangeCXXStructorDeclaration), while the former does not.

* generateObjCGetterBody: the 'objc_getProperty' function returns type
  'id', but was being called as if it returned the particular
  property's type. (That is of course the *dynamic* return type, and
  there's a downcast immediately after.)

* OpenMP user-defined reduction functions (#pragma omp declare
  reduction) can be called with a subclass of the declared type. In
  such case, the call was being setup as if the function had been
  actually declared to take the subtype, rather than the base type.

Differential Revision: https://reviews.llvm.org/D57664
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGCall.cpp (diff)clang.src/lib/CodeGen/CGCall.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGExprCXX.cpp (diff)clang.src/lib/CodeGen/CGExprCXX.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGObjC.cpp (diff)clang.src/lib/CodeGen/CGObjC.cpp
The file was modified/cfe/trunk/lib/CodeGen/CodeGenTypes.h (diff)clang.src/lib/CodeGen/CodeGenTypes.h
The file was modified/cfe/trunk/lib/CodeGen/ItaniumCXXABI.cpp (diff)clang.src/lib/CodeGen/ItaniumCXXABI.cpp
The file was modified/cfe/trunk/lib/Sema/SemaOpenMP.cpp (diff)clang.src/lib/Sema/SemaOpenMP.cpp
The file was modified/cfe/trunk/test/CodeGenObjC/getter-property-mismatch.m (diff)clang.src/test/CodeGenObjC/getter-property-mismatch.m
Revision 353180 by Louis Dionne:
[NFC][libc++] Reindent function
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/include/filesystem (diff)libcxx.src/include/filesystem
Revision 353179 by spatel:
[CGP] add test for unsigned subtract of 1 with overflow; NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/CodeGenPrepare/X86/overflow-intrinsics.ll (diff)llvm.src/test/Transforms/CodeGenPrepare/X86/overflow-intrinsics.ll
Revision 353178 by spatel:
[AArch64][x86] add tests for unsigned subtract with overflow; NFC
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/CodeGen/AArch64/cgp-usubo.llllvm.src/test/CodeGen/AArch64/cgp-usubo.ll
The file was added/llvm/trunk/test/CodeGen/X86/cgp-usubo.llllvm.src/test/CodeGen/X86/cgp-usubo.ll
Revision 353177 by nico:
gn build: BUILD.gn files for clang-tidy and clang-apply-replacements

Patch from Mirko Bonadei <mbonadei@webrtc.org>!

Differential Revision: https://reviews.llvm.org/D57329
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/BUILD.gn (diff)llvm.src/utils/gn/secondary/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extrallvm.src/utils/gn/secondary/clang-tools-extra
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-apply-replacementsllvm.src/utils/gn/secondary/clang-tools-extra/clang-apply-replacements
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-apply-replacements/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-apply-replacements/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-apply-replacements/toolllvm.src/utils/gn/secondary/clang-tools-extra/clang-apply-replacements/tool
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-apply-replacements/tool/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-apply-replacements/tool/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidyllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/abseilllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/abseil
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/abseil/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/abseil/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/androidllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/android
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/android/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/android/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/boostllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/boost
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/boost/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/boost/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/bugpronellvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/certllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/cert
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/cert/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/cert/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/cppcoreguidelinesllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/cppcoreguidelines
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/cppcoreguidelines/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/cppcoreguidelines/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/fuchsiallvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/fuchsia
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/fuchsia/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/fuchsia/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/googlellvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/google
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/google/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/google/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/hicppllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/hicpp
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/hicpp/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/hicpp/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/llvmllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/llvm
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/llvm/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/llvm/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/miscllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/misc
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/misc/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/misc/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/modernizellvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/mpillvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/mpi
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/mpi/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/mpi/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/objcllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/objc
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/objc/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/objc/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/performancellvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/performance
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/performance/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/performance/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/pluginllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/plugin
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/plugin/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/plugin/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/portabilityllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/portability
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/portability/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/portability/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/readabilityllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/readability
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/toolllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/tool
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/tool/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/tool/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/utilsllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/utils
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/utils/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/utils/BUILD.gn
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/zirconllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/zircon
The file was added/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-tidy/zircon/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clang-tidy/zircon/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/utils/TableGen/tablegen.gni (diff)llvm.src/utils/gn/secondary/llvm/utils/TableGen/tablegen.gni
Revision 353176 by krasimir:
Fix typo in comment, NFCI
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/TableGen/WebAssemblyDisassemblerEmitter.cpp (diff)llvm.src/utils/TableGen/WebAssemblyDisassemblerEmitter.cpp
Revision 353175 by nico:
gn build: Merge r353072
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/unittests/CodeGen/GlobalISel/BUILD.gn (diff)llvm.src/utils/gn/secondary/llvm/unittests/CodeGen/GlobalISel/BUILD.gn
Revision 353173 by thopre:
Recommit: Detect incorrect FileCheck variable CLI definition

Summary:
While the backend code of FileCheck relies on definition of variable
from the command-line to have an equal sign '=' and a variable name
before that, the frontend does not actually enforce it. This leads to
FileCheck crashing when invoked with invalid syntax for the -D option.

This patch adds the missing validation in the frontend. It also makes
the -D option an AlwaysPrefix option to be able to detect -D=FOO as
being a define without variable and -D as missing its value.

Copyright:
- Linaro (changes in version 2 of revision D55940)
- GraphCore (changes in later versions)

Reviewers: jdenny

Subscribers: JonChesterfield, hiraditya, kristina, probinson,
llvm-commits

Differential Revision: https://reviews.llvm.org/D55940
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/FileCheck/defines.txt (diff)llvm.src/test/FileCheck/defines.txt
The file was modified/llvm/trunk/utils/FileCheck/FileCheck.cpp (diff)llvm.src/utils/FileCheck/FileCheck.cpp
Revision 353172 by thopre:
Recommit: Add support for prefix-only CLI options

Summary:
Add support for options that always prefix their value, giving an error
if the value is in the next argument or if the option is given a value
assignment (ie. opt=val). This is the desired behavior for the -D option
of FileCheck for instance.

Copyright:
- Linaro (changes in version 2 of revision D55940)
- GraphCore (changes in later versions and introduced when creating
  D56549)

Reviewers: jdenny

Subscribers: llvm-commits, probinson, kristina, hiraditya,
JonChesterfield

Differential Revision: https://reviews.llvm.org/D56549
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Support/CommandLine.h (diff)llvm.src/include/llvm/Support/CommandLine.h
The file was modified/llvm/trunk/lib/Support/CommandLine.cpp (diff)llvm.src/lib/Support/CommandLine.cpp
The file was modified/llvm/trunk/unittests/Support/CommandLineTest.cpp (diff)llvm.src/unittests/Support/CommandLineTest.cpp
Revision 353171 by rksimon:
[X86][SSE] Rename SimplifyDemandedVectorElts BLENDV tests

I'm going to be adding SimplifyDemandedBits tests shortly.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/combine-sse41-intrinsics.ll (diff)llvm.src/test/CodeGen/X86/combine-sse41-intrinsics.ll
Revision 353170 by adibiagio:
[MCA] Moved the logic that updates register dependencies from DispatchStage to RegisterFile. NFC

DispatchStage should always delegate to an object of class RegisterFile the task
of updating data dependencies.  ReadState and WriteState objects should not be
modified directly by DispatchStage.
This patch also renames stage IS_AVAILABLE to IS_DISPATCHED.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/MCA/HardwareUnits/RegisterFile.h (diff)llvm.src/include/llvm/MCA/HardwareUnits/RegisterFile.h
The file was modified/llvm/trunk/include/llvm/MCA/HardwareUnits/Scheduler.h (diff)llvm.src/include/llvm/MCA/HardwareUnits/Scheduler.h
The file was modified/llvm/trunk/include/llvm/MCA/Instruction.h (diff)llvm.src/include/llvm/MCA/Instruction.h
The file was modified/llvm/trunk/include/llvm/MCA/Stages/DispatchStage.h (diff)llvm.src/include/llvm/MCA/Stages/DispatchStage.h
The file was modified/llvm/trunk/lib/MCA/HardwareUnits/RegisterFile.cpp (diff)llvm.src/lib/MCA/HardwareUnits/RegisterFile.cpp
The file was modified/llvm/trunk/lib/MCA/Instruction.cpp (diff)llvm.src/lib/MCA/Instruction.cpp
The file was modified/llvm/trunk/lib/MCA/Stages/DispatchStage.cpp (diff)llvm.src/lib/MCA/Stages/DispatchStage.cpp
Revision 353168 by serge_sans_paille:
gn build: Fix Python 3 write_vcsrevision script compatibility

Trivial fix: decode was not called for all subprocess.check_output calls.

Commited on behalf of Andrew Boyarshin

Differential Revision: https://reviews.llvm.org/D57505
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/build/write_vcsrevision.py (diff)llvm.src/utils/gn/build/write_vcsrevision.py
Revision 353165 by rksimon:
[X86][SSE] Add SimplifyDemandedVectorElts support for X86ISD::BLENDV
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/combine-sse41-intrinsics.ll (diff)llvm.src/test/CodeGen/X86/combine-sse41-intrinsics.ll
Revision 353164 by rksimon:
[X86][SSE] Add tests showing missing SimplifyDemandedVectorElts support for X86ISD::BLENDV
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/combine-sse41-intrinsics.ll (diff)llvm.src/test/CodeGen/X86/combine-sse41-intrinsics.ll
Revision 353163 by nemanjai:
[NFC] Explicitly add -std=c++14 option to tests that rely on the C++14 default

When Clang/LLVM is built with the CLANG_DEFAULT_STD_CXX CMake macro that sets
the default standard to something other than C++14, there are a number of lit
tests that fail as they rely on the C++14 default.
This patch just adds the language standard option explicitly to such test cases.

Differential revision: https://reviews.llvm.org/D57581
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/CodeCompletion/crash-skipped-bodies-template-inst.cpp (diff)clang.src/test/CodeCompletion/crash-skipped-bodies-template-inst.cpp
The file was modified/cfe/trunk/test/CodeCompletion/skip-auto-funcs.cpp (diff)clang.src/test/CodeCompletion/skip-auto-funcs.cpp
The file was modified/cfe/trunk/test/CodeGenCXX/auto-var-init.cpp (diff)clang.src/test/CodeGenCXX/auto-var-init.cpp
The file was modified/cfe/trunk/test/CodeGenCXX/dllexport-no-dllexport-inlines.cpp (diff)clang.src/test/CodeGenCXX/dllexport-no-dllexport-inlines.cpp
The file was modified/cfe/trunk/test/CodeGenCXX/new-overflow.cpp (diff)clang.src/test/CodeGenCXX/new-overflow.cpp
The file was modified/cfe/trunk/test/CodeGenCXX/new.cpp (diff)clang.src/test/CodeGenCXX/new.cpp
The file was modified/cfe/trunk/test/Lexer/cxx-features.cpp (diff)clang.src/test/Lexer/cxx-features.cpp
The file was modified/cfe/trunk/test/Lexer/half-literal.cpp (diff)clang.src/test/Lexer/half-literal.cpp
The file was modified/cfe/trunk/test/Modules/friend-definition-2.cpp (diff)clang.src/test/Modules/friend-definition-2.cpp
The file was modified/cfe/trunk/test/Modules/merge-lambdas.cpp (diff)clang.src/test/Modules/merge-lambdas.cpp
The file was modified/cfe/trunk/test/SemaCXX/int-ptr-cast-SFINAE.cpp (diff)clang.src/test/SemaCXX/int-ptr-cast-SFINAE.cpp
The file was modified/cfe/trunk/test/SemaTemplate/argument-dependent-lookup.cpp (diff)clang.src/test/SemaTemplate/argument-dependent-lookup.cpp
The file was modified/cfe/trunk/test/SemaTemplate/class-template-decl.cpp (diff)clang.src/test/SemaTemplate/class-template-decl.cpp
The file was modified/cfe/trunk/test/SemaTemplate/typo-dependent-name.cpp (diff)clang.src/test/SemaTemplate/typo-dependent-name.cpp
Revision 353162 by adibiagio:
[MCA] Simplify the logic in method WriteState::addUser. NFCI

In some cases, it is faster to just grow the set of 'Users' rather than
performing a llvm::find_if every time a new user is added to
the set. No functional change intended.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/MCA/Instruction.cpp (diff)llvm.src/lib/MCA/Instruction.cpp
Revision 353160 by stulova:
Fix ICE on reference binding with mismatching addr spaces.

When we attempt to add an addr space qual to a type already
qualified by an addr space ICE is triggered. Before creating
a type with new address space, remove the old addr space.

Fixing PR38614!

Differential Revision: https://reviews.llvm.org/D57524
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Sema/SemaInit.cpp (diff)clang.src/lib/Sema/SemaInit.cpp
The file was added/cfe/trunk/test/SemaOpenCLCXX/address-space-of-this.clclang.src/test/SemaOpenCLCXX/address-space-of-this.cl
Revision 353156 by jmorse:
[DebugInfo][NFCI] Split salvageDebugInfo into helper functions

Some use cases are appearing where salvaging is needed that does not
correspond to an instruction being deleted -- for example an instruction
being sunk, or a Value not being available in a block being isel'd.

Enable more fine grained control over how salavging occurs by splitting
the logic into helper functions, separating things that are specific to
working on DbgVariableIntrinsics from those specific to interpreting IR
and building DIExpressions.

Differential Revision: https://reviews.llvm.org/D57696
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/Utils/Local.h (diff)llvm.src/include/llvm/Transforms/Utils/Local.h
The file was modified/llvm/trunk/lib/Transforms/Utils/Local.cpp (diff)llvm.src/lib/Transforms/Utils/Local.cpp
Revision 353155 by hans:
Fix format string in bindings/go/llvm/ir_test.go (PR40561)

The test started failing for me recently. I don't see any changes around
this code, so maybe it's my local go version that changed or something.

The error seems real to me: we're trying to print an Attribute with %d.
The test talks about "attribute masks" I'm not sure what that refers to,
but I suppose we could print the raw pointer value, since that's
what the test seems to be comparing.

Differential revision: https://reviews.llvm.org/D57672
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/bindings/go/llvm/ir_test.go (diff)llvm.src/bindings/go/llvm/ir_test.go
Revision 353154 by rksimon:
[X86][AVX] Attempt to share broadcasts of different widths (PR39454)

If we have broadcasts of different vector widths, keep the longest vector width and extract subvectors for the shorter vectors (which should be free).

Differential Revision: https://reviews.llvm.org/D57663
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/broadcast-elm-cross-splat-vec.ll (diff)llvm.src/test/CodeGen/X86/broadcast-elm-cross-splat-vec.ll
The file was modified/llvm/trunk/test/CodeGen/X86/oddshuffles.ll (diff)llvm.src/test/CodeGen/X86/oddshuffles.ll
Revision 353153 by rksimon:
[CostModel][X86] Add UMUL fixed point cost tests
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Analysis/CostModel/X86/arith-fix.ll (diff)llvm.src/test/Analysis/CostModel/X86/arith-fix.ll
Revision 353152 by fhahn:
[CGP] Add support for sinking operands to their users, if they are free.

This patch improves code generation for some AArch64 ACLE intrinsics. It adds
support to CGP to duplicate and sink operands to their user, if they can be
folded into a target instruction, like zexts and sub into usubl. It adds a
TargetLowering hook shouldSinkOperands, which looks at the operands of
instructions to see if sinking is profitable.

I decided to add a new target hook, as for the sinking to be profitable,
at least on AArch64, we have to look at multiple operands of an
instruction, instead of looking at the users of a zext for example.

The sinking is done in CGP, because it works around an instruction
selection limitation. If instruction selection is not limited to a
single basic block, this patch should not be needed any longer.

Alternatively this could be done in the LoopSink pass, which tries to
undo LICM for instructions in blocks that are not executed frequently.

Note that we do not force the operands to sink to have a single user,
because we duplicate them before sinking. Therefore this is only
desirable if they really can be done for free. Additionally we could
consider the impact on live ranges later on.

This should fix https://bugs.llvm.org/show_bug.cgi?id=40025.

As for performance, we have internal code that uses intrinsics and can
be speed up by 10% by this change.

Reviewers: SjoerdMeijer, t.p.northover, samparker, efriedma, RKSimon, spatel

Reviewed By: samparker

Differential Revision: https://reviews.llvm.org/D57377
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/CodeGenPrepare.cpp (diff)llvm.src/lib/CodeGen/CodeGenPrepare.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64ISelLowering.cpp (diff)llvm.src/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64ISelLowering.h (diff)llvm.src/lib/Target/AArch64/AArch64ISelLowering.h
The file was added/llvm/trunk/test/Transforms/CodeGenPrepare/AArch64/sink-free-instructions.llllvm.src/test/Transforms/CodeGenPrepare/AArch64/sink-free-instructions.ll
Revision 353151 by rovka:
[ARM GlobalISel] Support G_GEP for Thumb2

Same as ARM, but use a different opcode in the instruction selection.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstructionSelector.cpp (diff)llvm.src/lib/Target/ARM/ARMInstructionSelector.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMLegalizerInfo.cpp (diff)llvm.src/lib/Target/ARM/ARMLegalizerInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/ARM/GlobalISel/arm-legalize-load-store.mir (diff)llvm.src/test/CodeGen/ARM/GlobalISel/arm-legalize-load-store.mir
The file was modified/llvm/trunk/test/CodeGen/ARM/GlobalISel/arm-legalizer.mir (diff)llvm.src/test/CodeGen/ARM/GlobalISel/arm-legalizer.mir
The file was modified/llvm/trunk/test/CodeGen/ARM/GlobalISel/thumb-select-load-store.mir (diff)llvm.src/test/CodeGen/ARM/GlobalISel/thumb-select-load-store.mir
Revision 353150 by szelethus:
Fix the sphinx buildbot after D54429
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/analyzer/checkers.rst (diff)clang.src/docs/analyzer/checkers.rst
Revision 353148 by delcypher:
Previously if the user configured their build but then changed
LLVM_ENABLED_PROJECT and reconfigured it had no effect on what
projects were actually built. This was very confusing behaviour. The
reason for this is that the value of the `LLVM_TOOL_<PROJECT>_BUILD`
variables are already set.

The problem here is that we have two sources of truth:

* The projects listed in LLVM_ENABLE_PROJECTS.
* The projects enabled/disabled with LLVM_TOOL_<PROJECT>_BUILD.

At configure time we have no real way of knowing which source of truth
the user wants so we apply the following heuristic:

If the user ever sets `LLVM_ENABLE_PROJECTS` in the CMakeCache then that
is used as the single source of truth and we force the
`LLVM_TOOL_<PROJECT>_BUILD` CMake cache variables to have the
appropriate values that match the contents of the
`LLVM_ENABLE_PROJECTS`. If the user never sets `LLVM_ENABLE_PROJECTS`
then they can continue to use and set the `LLVM_TOOL_<PROJECT>_BUILD`
variables as the "source of truth".

The problem with this approach is that if the user ever tries to use
both `LLVM_ENABLE_PROJECTS` and `LLVM_TOOL_<PROJECT>_BUILD` for the same
build directory then any user set value for `LLVM_TOOL_<PROJECT>_BUILD`
variables will get overwriten, likely without the user noticing.

Hopefully the above shouldn't matter in practice because the
LLVM_TOOL_<PROJECT>_BUILD variables are not documented, but
LLVM_ENABLE_PROJECTS is.

We should probably deprecate the `LLVM_TOOL_<PROJECT>_BUILD`
variables at some point by turning them into to regular CMake
variables that don't live in the CMake cache.

Differential Revision: https://reviews.llvm.org/D57535
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/CMakeLists.txt (diff)llvm.src/CMakeLists.txt
Revision 353147 by inouehrs:
[NFC] fix trivial typos in comments
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/BasicAliasAnalysis.cpp (diff)llvm.src/lib/Analysis/BasicAliasAnalysis.cpp
The file was modified/llvm/trunk/lib/Analysis/GlobalsModRef.cpp (diff)llvm.src/lib/Analysis/GlobalsModRef.cpp
The file was modified/llvm/trunk/lib/Analysis/IVDescriptors.cpp (diff)llvm.src/lib/Analysis/IVDescriptors.cpp
The file was modified/llvm/trunk/lib/Analysis/InlineCost.cpp (diff)llvm.src/lib/Analysis/InlineCost.cpp
The file was modified/llvm/trunk/lib/Analysis/LazyValueInfo.cpp (diff)llvm.src/lib/Analysis/LazyValueInfo.cpp
The file was modified/llvm/trunk/lib/Analysis/LoopAccessAnalysis.cpp (diff)llvm.src/lib/Analysis/LoopAccessAnalysis.cpp
The file was modified/llvm/trunk/lib/Analysis/MemorySSAUpdater.cpp (diff)llvm.src/lib/Analysis/MemorySSAUpdater.cpp
The file was modified/llvm/trunk/lib/Analysis/VectorUtils.cpp (diff)llvm.src/lib/Analysis/VectorUtils.cpp
Revision 353144 by courbet:
[DAG][NFC] Add unit tests.

In preparation for D57541.
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/CodeGen/X86/swap.llllvm.src/test/CodeGen/X86/swap.ll
Revision 353143 by courbet:
[DAG] BaseIndexOffset: FrameIndexSDNodes with the same FrameIndex compare equal.

Reviewers: niravd

Subscribers: arphaman, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D57692
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp