SuccessChanges

Summary

  1. [TSan] Enable fiber tests on iOS simulator These tests *do not* work on device, but they *do* work in the simulator. rdar://53403778
  2. Temporarily Revert "[Attributor] Liveness analysis." as it's breaking the build. This reverts commit 9285295f75a231dc446fa7cbc10a0a391b3434a5.
  3. [Attributor] Liveness analysis. Liveness analysis abstract attribute used to indicate which BasicBlocks are dead and can therefore be ignored. Right now we are only looking at noreturn calls. Reviewers: jdoerfert, uenoku Subscribers: hiraditya, llvm-commits Differential revision: https://reviews.llvm.org/D64162
  4. [NFC][libc++] Add missing EXPLICIT to pair and tuple synopsis The constructors for std::pair and std::tuple have been made conditionally explicit, however the synopsis in the headers do not reflect that.
  5. [runtimes] Don't depend on libpthread on Android r362048 added support for ELF dependent libraries, but broke Android build since Android does not have libpthread. Remove the dependency on the Android build. Differential Revision: https://reviews.llvm.org/D65098
  6. [X86] When using AND+PACKUS in lowerV16I8Shuffle, generate the build vector directly in v16i8 with the correct 0x00 or 0xFF elements rather than using another VT and bitcasting it. The build_vector will become a constant pool load. By using the desired type initially, it ensures we don't generate a bitcast of the constant pool load which will need to be folded with the load. While experimenting with another patch, I noticed that when the load type and the constant pool type don't match, then SimplifyDemandedBits can't handle it. While we should probably fix that, this was a simple way to fix the issue I saw.
  7. [NFC][PowerPC]Change ADDIStocHA to ADDIStocHA8 to follow 64-bit naming convention Summary: Since we are planning to add ADDIStocHA for 32bit in later patch, we decided to change 64bit one first to follow naming convention with 8 behind opcode. Patch by: Xiangling_L Differential Revision: https://reviews.llvm.org/D64814
  8. [libc++] Set __file_ to 0 in basic_filebuf::close() even if fclose fails This issue was detected by ASan in one of our tests. This test manually invokes basic_filebuf::cloe(). fclose(__h.release() returned a non-zero exit status, so __file_ wasn't set to 0. Later when basic_filebuf destructor ran, we would enter the if (__file_) block again leading to heap-use-after-free error. The POSIX specification for fclose says that independently of the return value, fclose closes the underlying file descriptor and any further access (including another call to fclose()) to the stream results in undefined behavior. This is exactly what happened in our test case. To avoid this issue, we have to always set __file_ to 0 independently of the fclose return value. Differential Revision: https://reviews.llvm.org/D64979
  9. [Attributor] NoAlias on return values. Porting function return value attribute noalias to attributor. This will be followed with a patch for callsite and function argumets. Reviewers: jdoerfert Subscribers: lebedev.ri, hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D63067
  10. Stubs out TLOF for AIX and add support for common vars in assembly output. Stubs out a TargetLoweringObjectFileXCOFF class, implementing only SelectSectionForGlobal for common symbols. Also adds an override of EmitGlobalVariable in PPCAIXAsmPrinter which adds a number of defensive errors and adds support for emitting common globals.
  11. [SafeStack] Insert the deref after the offset While debugging code that uses SafeStack, we've noticed that LLVM produces an invalid DWARF. Concretely, in the following example: int main(int argc, char* argv[]) { std::string value = ""; printf("%s\n", value.c_str()); return 0; } DWARF would describe the value variable as being located at: DW_OP_breg14 R14+0, DW_OP_deref, DW_OP_constu 0x20, DW_OP_minus The assembly to get this variable is: leaq -32(%r14), %rbx The order of operations in the DWARF symbols is incorrect in this case. Specifically, the deref is incorrect; this appears to be incorrectly re-inserted in repalceOneDbgValueForAlloca. With this change which inserts the deref after the offset instead of before it, LLVM produces correct DWARF: DW_OP_breg14 R14-32 Differential Revision: https://reviews.llvm.org/D64971
  12. WholeProgramDevirt: Teach the pass to respect the global's alignment. The bytes inserted before an overaligned global need to be padded according to the alignment set on the original global in order for the initializer to meet the global's alignment requirements. The previous implementation that padded to the pointer width happened to be correct for vtables on most platforms but may do the wrong thing if the vtable has a larger alignment. This issue is visible with a prototype implementation of HWASAN for globals, which will overalign all globals including vtables to 16 bytes. There is also no padding requirement for the bytes inserted after the global because they are never read from nor are they significant for alignment purposes, so stop inserting padding there. Differential Revision: https://reviews.llvm.org/D65031
  13. [PowerPC] Fix comment on MO_PLT Target Operand Flag. [NFC] Patch by Xiangling Liao.
  14. [Object][XCOFF] Remove extra includes from XCOFF related files. [NFC] Differential Revision: https://reviews.llvm.org/D60885
  15. LowerTypeTests: Teach the pass to respect global alignments. We were previously ignoring alignment entirely when combining globals together in this pass. There are two main things that we need to do here: add additional padding before each global to meet the alignment requirements, and set the combined global's alignment to the maximum of all of the original globals' alignments. Since we now need to calculate layout as we go anyway, use the calculated layout to produce GlobalLayout instead of using StructLayout. Differential Revision: https://reviews.llvm.org/D65033
  16. Changes to emit CodeView debug info nested type records properly using MCStreamer directives
  17. Adds support for formatting NS_CLOSED_ENUM and CF_CLOSED_ENUM alongside NS_ENUM and CF_ENUM. Summary: Addresses the formatting of NS_CLOSED_ENUM and CF_CLOSED_ENUM, introduced in Swift 5. Before: ``` typedef NS_CLOSED_ENUM(NSInteger, Foo){FooValueOne = 1, FooValueTwo, FooValueThree}; ``` After: ``` typedef NS_CLOSED_ENUM(NSInteger, Foo) { FooValueOne = 1, FooValueTwo, FooValueThree }; ``` Contributed by heijink. Reviewers: benhamilton, krasimir Reviewed By: benhamilton Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D65012
  18. [AMDGPU] Test update. NFC.
  19. [SLPVectorizer] Fix some MSVC/cppcheck uninitialized variable warnings. NFCI.
  20. Revert "Reland [ELF] Loose a condition for relocation with a symbol" This reverts commit r366686 as it appears to be causing buildbot failures on sanitizer-x86_64-linux-android and sanitizer-x86_64-linux.
  21. [OPENMP][MSVC]Enable /openmp[:experimental] to compile OpenMP. Mapped /openmp[:experimental] to -fopenmp option and /openmp- option to -fno-openmp
  22. [libc++] Do not infer support for C++17 in GCC < 7 libc++'s lit configuration infers the C++ language dialect when it is not provided by checking which -std= flags that a compiler supports. GCC 5 and GCC 6 have a -std=c++17 flag, however, they do not have full C++17 support. The lit configuration has hardcoded logic that removes -std=c++1z as an option to test for GCC < 7, but not -std=c++17. This leads to a bunch of failures when running libc++ tests with GCC 5 or GCC 6. This patch adds -std=c++17 to the list of flags that are discarded for GCC < 7 by lit's language dialect inference. Thanks to Bryce Adelstein Lelbach for the patch. Differential Revision: https://reviews.llvm.org/D62874
  23. [X86] Remove const from some intrinsics that shouldn't have them
  24. [clangd] Add dlog()s for SelectionTree, enabling -debug-only=SelectionTree.cpp Summary: SelectionTree is a RecursiveASTVisitor which processes getSourceRange() for every node. This is a lot of surface area with the AST, as getSourceRange() is specialized for *many* node types. And the resulting SelectionTree depends on the source ranges of many visited nodes, and the order of traversal. Put together, this means we really need a traversal log to debug when we get an unexpected SelectionTree. I've built this ad-hoc a few times, now it's time to check it in. Example output: ``` D[14:07:44.184] Computing selection for </usr/local/google/home/sammccall/test.cc:1:7, col:8> D[14:07:44.184] push: VarDecl const auto x = 42 D[14:07:44.184] claimRange: </usr/local/google/home/sammccall/test.cc:1:12, col:13> D[14:07:44.184] push: NestedNameSpecifierLoc (empty NestedNameSpecifierLoc) D[14:07:44.184] pop: NestedNameSpecifierLoc (empty NestedNameSpecifierLoc) D[14:07:44.184] push: QualifiedTypeLoc const auto D[14:07:44.184] pop: QualifiedTypeLoc const auto D[14:07:44.184] claimRange: </usr/local/google/home/sammccall/test.cc:1:7, col:11> D[14:07:44.184] hit selection: </usr/local/google/home/sammccall/test.cc:1:7, col:8> D[14:07:44.184] skip: IntegerLiteral 42 D[14:07:44.184] skipped range = </usr/local/google/home/sammccall/test.cc:1:16> D[14:07:44.184] pop: VarDecl const auto x = 42 D[14:07:44.184] claimRange: </usr/local/google/home/sammccall/test.cc:1:1, col:18> D[14:07:44.184] skip: VarDecl int y = 43 D[14:07:44.184] skipped range = </usr/local/google/home/sammccall/test.cc:2:1, col:9> D[14:07:44.184] Built selection tree TranslationUnitDecl VarDecl const auto x = 42 .QualifiedTypeLoc const auto ``` Reviewers: hokein Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65073
  25. [Polly] Clang complains about missing virtual destructor Summary: Feel free to reassign if needed. Reviewers: mhalk, bollu, jdoerfert Reviewed By: jdoerfert Subscribers: jdoerfert, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64786
  26. Update c++2a status page with post-Cologne information
  27. TableGen: Support physical register inputs > 255 This was truncating register value that didn't fit in unsigned char. Switch AMDGPU sendmsg intrinsics to using a tablegen pattern.
  28. [NFC] Relaxed regression tests for PR42665 Following up on the buildbot failures, this commits relaxes some tests: instead of checking for specific IR output, it now ensures that the underlying issue (the crash), and only that, doesn't happen.
  29. [ARM][LowOverheadLoops] Revert remaining pseudos ARMLowOverheadLoops would assert a failure if it did not find all the pseudo instructions that comprise the hardware loop. Instead of doing this, iterate through all the instructions of the function and revert any remaining pseudo instructions that haven't been converted. Differential Revision: https://reviews.llvm.org/D65080
  30. [OPENMP]Add support for analysis of firstprivate variables. Summary: Firstprivate variables are the variables, for which the private copies must be created in the OpenMP regions and must be initialized with the original values. Thus, we must report if the uninitialized variable is used as firstprivate. Reviewers: NoQ Subscribers: guansong, jdoerfert, caomhin, kkwli0, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64765
  31. AMDGPU/GlobalISel: Fix broken tests
  32. Update documentation for all CERT checks that correspond to a recommendation. CERT removed their C++ secure coding recommendations from public view and so the links within that documentation are stale. This updates various pieces of documentation to make this more clear, and to help add substance where our docs deferred to CERT's wiki.
  33. Reland [ELF] Loose a condition for relocation with a symbol This patch was not the reason of the buildbot failure. Deleted code was introduced as a work around for a bug in the gold linker (http://sourceware.org/PR16794). Test case that was given as a reason for this part of code, the one on previous link, now works for the gold. This condition is too strict and when a code is compiled with debug info it forces generation of numerous relocations with symbol for architectures that do not have relocation addend. Reviewers: arsenm, espindola Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D64327
  34. AMDGPU/GlobalISel: Remove unnecessary code The minnum/maxnum case are dead, and the cvt is handled by the default.
  35. [ARM] Fix for MVE VPT block pass We need to ensure that the number of T's is correct when adding multiple instructions into the same VPT block. Differential revision: https://reviews.llvm.org/D65049
  36. Updated the signature for some stack related intrinsics (CLANG) Modified the intrinsics int_addressofreturnaddress, int_frameaddress & int_sponentry. This commit depends on the changes in rL366679 Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D64563
  37. Revert the change to the [[nodiscard]] feature test macro value. This value only gets bumped once both P1301 and P1771 are implemented.
  38. [X86] EltsFromConsecutiveLoads - support common source loads (REAPPLIED) This patch enables us to find the source loads for each element, splitting them into a Load and ByteOffset, and attempts to recognise consecutive loads that are in fact from the same source load. A helper function, findEltLoadSrc, recurses to find a LoadSDNode and determines the element's byte offset within it. When attempting to match consecutive loads, byte offsetted loads then attempt to matched against a previous load that has already been confirmed to be a consecutive match. Next step towards PR16739 - after this we just need to account for shuffling/repeated elements to create a vector load + shuffle. Fixed out of bounds load assert identified in rL366501 Differential Revision: https://reviews.llvm.org/D64551
  39. AMDGPU/GlobalISel: Fix tests without asserts The legality check is only done under NDEBUG, so the failure cases are different in a release build.
  40. Added address-space mangling for stack related intrinsics Modified the following 3 intrinsics: int_addressofreturnaddress, int_frameaddress & int_sponentry. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D64561
  41. [X86][SSE] Add EltsFromConsecutiveLoads test case identified in rL366501 Test case that led to rL366441 being reverted at rL366501
  42. [yaml2obj] - Change how we handle implicit sections. Instead of having the special list of implicit sections, that are mixed with the sections read from YAML on late stages, I just create the placeholders and add them to the main sections list early. That allows to significantly simplify the code. Differential revision: https://reviews.llvm.org/D64999
  43. [ARM][test] Improve tests Delete trailing 2>&1 that is not piped to another command. Add --no-show-raw-insn to objdump -d commands.
  44. [clangd] Set buffer name for main file. NFCI
  45. [clangd] Log input code of failed highlighting tests. NFC
  46. [AST] Treat semantic form of InitListExpr as implicit code in traversals Summary: In particular, do not traverse the semantic form if shouldVisitImplicitCode() returns false. This simplifies the common case of traversals, avoiding the need to worry about some expressions being traversed twice. No tests break after the change, the change would allow to simplify at least one of the usages, i.e. r366070 which had to handle this in clangd. Reviewers: gribozavr Reviewed By: gribozavr Subscribers: kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64762
  47. Add location of SVN staging dir to git-llvm error output Summary: In pre-monorepo times the svn staging directory was `.git/svn`. The below error message wasn't mentioning the new name yet. Example before: ``` Can't push git rev 104cfa289d9 because svn status is not empty: ! llvm/trunk/include/llvm ``` Example after: ``` Can't push git rev 104cfa289d9 because status in svn staging dir (.git/llvm-upstream-svn) is not empty: ! llvm/trunk/include/llvm ``` Reviewers: mehdi_amini, jlebar, teemperor Reviewed By: mehdi_amini Subscribers: llvm-commits, #llvm Tags: #llvm Differential Revision: https://reviews.llvm.org/D65038
  48. [OpenCL] Improve destructor support in C++ for OpenCL This re-applies r366422 with a fix for Bug PR42665 and a new regression test.
  49. [IPRA][ARM] Make use of the "returned" parameter attribute ARM has code to recognise uses of the "returned" function parameter attribute which guarantee that the value passed to the function in r0 will be returned in r0 unmodified. IPRA replaces the regmask on call instructions, so needs to be told about this to avoid reverting the optimisation. Differential revision: https://reviews.llvm.org/D64986
  50. [llvm-readobj] - Stop using precompiled objects in file-headers.test This converts all sub-tests except one to YAML instead of precompiled inputs. Differential revision: https://reviews.llvm.org/D64800
  51. [AMDGPU] Save some work when an atomic op has no uses Summary: In the atomic optimizer, save doing a bunch of work and generating a bunch of dead IR in the fairly common case where the result of an atomic op (i.e. the value that was in memory before the atomic op was performed) is not used. NFC. Reviewers: arsenm, dstuttard, tpr Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, t-tye, hiraditya, jfb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64981
  52. [PowerPC][NFC] Precommit a test case where ppc-mi-peepholes miscompiles extswsli Added a test case to show codegen differences.
  53. [Loop Peeling] Fix the handling of branch weights of peeled off branches. Current algorithm to update branch weights of latch block and its copies is based on the assumption that number of peeling iterations is approximately equal to trip count. However it is not correct. According to profitability check in one case we can decide to peel in case it helps to reduce the number of phi nodes. In this case the number of peeled iteration can be less then estimated trip count. This patch introduces another way to set the branch weights to peeled of branches. Let F is a weight of the edge from latch to header. Let E is a weight of the edge from latch to exit. F/(F+E) is a probability to go to loop and E/(F+E) is a probability to go to exit. Then, Estimated TripCount = F / E. For I-th (counting from 0) peeled off iteration we set the the weights for the peeled latch as (TC - I, 1). It gives us reasonable distribution, The probability to go to exit 1/(TC-I) increases. At the same time the estimated trip count of remaining loop reduces by I. As a result after peeling off N iteration the weights will be (F - N * E, E) and trip count of loop becomes F / E - N or TC - N. The idea is taken from the review of the patch D63918 proposed by Philip. Reviewers: reames, mkuper, iajbar, fhahn Reviewed By: reames Subscribers: hiraditya, zzheng, llvm-commits Differential Revision: https://reviews.llvm.org/D64235
  54. [utils] Clean up UpdateTestChecks/common.py
  55. [analyzer] Fix -Wunused-function in NDEBUG builds with #ifdef LLVM_DUMP_METHOD
  56. [InstCombine] Add foldAndOfICmps test cases inspired by PR42691. icmp ne %x, INT_MIN can be treated similarly to icmp sgt %x, INT_MIN. icmp ne %x, INT_MAX can be treated similarly to icmp slt %x, INT_MAX. icmp ne %x, UINT_MAX can be treated similarly to icmp ult %x, UINT_MAX. We already treat icmp ne %x, 0 similarly to icmp ugt %x, 0
Revision 366738 by yln:
[TSan] Enable fiber tests on iOS simulator

These tests *do not* work on device, but they *do* work in the
simulator.

rdar://53403778
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/test/tsan/fiber_from_thread.cc (diff)compiler-rt.src/test/tsan/fiber_from_thread.cc
The file was modified/compiler-rt/trunk/test/tsan/fiber_longjmp.cc (diff)compiler-rt.src/test/tsan/fiber_longjmp.cc
The file was modified/compiler-rt/trunk/test/tsan/fiber_race.cc (diff)compiler-rt.src/test/tsan/fiber_race.cc
The file was modified/compiler-rt/trunk/test/tsan/fiber_simple.cc (diff)compiler-rt.src/test/tsan/fiber_simple.cc
The file was modified/compiler-rt/trunk/test/tsan/fiber_two_threads.cc (diff)compiler-rt.src/test/tsan/fiber_two_threads.cc
Revision 366737 by echristo:
Temporarily Revert "[Attributor] Liveness analysis." as it's breaking the build.

This reverts commit 9285295f75a231dc446fa7cbc10a0a391b3434a5.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/IPO/Attributor.h (diff)llvm.src/include/llvm/Transforms/IPO/Attributor.h
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/IPO/Attributor.cpp (diff)llvm.src/lib/Transforms/IPO/Attributor.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/Local.cpp (diff)llvm.src/lib/Transforms/Utils/Local.cpp
The file was removed/llvm/trunk/test/Transforms/FunctionAttrs/liveness.llllvm.src/test/Transforms/FunctionAttrs/liveness.ll
Revision 366736 by sstefan:
[Attributor] Liveness analysis.

Liveness analysis abstract attribute used to indicate which BasicBlocks are dead and can therefore be ignored.
Right now we are only looking at noreturn calls.

Reviewers: jdoerfert, uenoku

Subscribers: hiraditya, llvm-commits

Differential revision: https://reviews.llvm.org/D64162
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/IPO/Attributor.h (diff)llvm.src/include/llvm/Transforms/IPO/Attributor.h
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/IPO/Attributor.cpp (diff)llvm.src/lib/Transforms/IPO/Attributor.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/Local.cpp (diff)llvm.src/lib/Transforms/Utils/Local.cpp
The file was added/llvm/trunk/test/Transforms/FunctionAttrs/liveness.llllvm.src/test/Transforms/FunctionAttrs/liveness.ll
Revision 366735 by Louis Dionne:
[NFC][libc++] Add missing EXPLICIT to pair and tuple synopsis

The constructors for std::pair and std::tuple have been made conditionally
explicit, however the synopsis in the headers do not reflect that.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/include/tuple (diff)libcxx.src/include/tuple
The file was modified/libcxx/trunk/include/utility (diff)libcxx.src/include/utility
Revision 366734 by kongyi:
[runtimes] Don't depend on libpthread on Android

r362048 added support for ELF dependent libraries, but broke Android
build since Android does not have libpthread. Remove the dependency on
the Android build.

Differential Revision: https://reviews.llvm.org/D65098
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/src/algorithm.cpp (diff)libcxx.src/src/algorithm.cpp
The file was modified/libcxx/trunk/src/chrono.cpp (diff)libcxx.src/src/chrono.cpp
The file was modified/libcxx/trunk/src/condition_variable.cpp (diff)libcxx.src/src/condition_variable.cpp
The file was modified/libcxx/trunk/src/debug.cpp (diff)libcxx.src/src/debug.cpp
The file was modified/libcxx/trunk/src/experimental/memory_resource.cpp (diff)libcxx.src/src/experimental/memory_resource.cpp
The file was modified/libcxx/trunk/src/filesystem/operations.cpp (diff)libcxx.src/src/filesystem/operations.cpp
The file was modified/libcxx/trunk/src/memory.cpp (diff)libcxx.src/src/memory.cpp
The file was modified/libcxx/trunk/src/mutex.cpp (diff)libcxx.src/src/mutex.cpp
The file was modified/libcxx/trunk/src/shared_mutex.cpp (diff)libcxx.src/src/shared_mutex.cpp
The file was modified/libcxx/trunk/src/thread.cpp (diff)libcxx.src/src/thread.cpp
The file was modified/libcxxabi/trunk/src/cxa_exception_storage.cpp (diff)N/A
The file was modified/libcxxabi/trunk/src/cxa_guard_impl.h (diff)N/A
The file was modified/libcxxabi/trunk/src/cxa_thread_atexit.cpp (diff)N/A
The file was modified/libcxxabi/trunk/src/fallback_malloc.cpp (diff)N/A
The file was modified/libunwind/trunk/src/AddressSpace.hpp (diff)N/A
The file was modified/libunwind/trunk/src/RWMutex.hpp (diff)N/A
Revision 366732 by ctopper:
[X86] When using AND+PACKUS in lowerV16I8Shuffle, generate the build vector directly in v16i8 with the correct 0x00 or 0xFF elements rather than using another VT and bitcasting it.

The build_vector will become a constant pool load. By using the
desired type initially, it ensures we don't generate a bitcast
of the constant pool load which will need to be folded with
the load.

While experimenting with another patch, I noticed that when the
load type and the constant pool type don't match, then
SimplifyDemandedBits can't handle it. While we should probably
fix that, this was a simple way to fix the issue I saw.
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/avg.ll (diff)llvm.src/test/CodeGen/X86/avg.ll
The file was modified/llvm/trunk/test/CodeGen/X86/masked_store_trunc.ll (diff)llvm.src/test/CodeGen/X86/masked_store_trunc.ll
The file was modified/llvm/trunk/test/CodeGen/X86/mmx-arith.ll (diff)llvm.src/test/CodeGen/X86/mmx-arith.ll
The file was modified/llvm/trunk/test/CodeGen/X86/oddshuffles.ll (diff)llvm.src/test/CodeGen/X86/oddshuffles.ll
The file was modified/llvm/trunk/test/CodeGen/X86/oddsubvector.ll (diff)llvm.src/test/CodeGen/X86/oddsubvector.ll
The file was modified/llvm/trunk/test/CodeGen/X86/psubus.ll (diff)llvm.src/test/CodeGen/X86/psubus.ll
The file was modified/llvm/trunk/test/CodeGen/X86/sse2-intrinsics-canonical.ll (diff)llvm.src/test/CodeGen/X86/sse2-intrinsics-canonical.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-and-bool.ll (diff)llvm.src/test/CodeGen/X86/vector-reduce-and-bool.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-or-bool.ll (diff)llvm.src/test/CodeGen/X86/vector-reduce-or-bool.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-xor-bool.ll (diff)llvm.src/test/CodeGen/X86/vector-reduce-xor-bool.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-128-v16.ll (diff)llvm.src/test/CodeGen/X86/vector-shuffle-128-v16.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-trunc-math-widen.ll (diff)llvm.src/test/CodeGen/X86/vector-trunc-math-widen.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-trunc-math.ll (diff)llvm.src/test/CodeGen/X86/vector-trunc-math.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-trunc-widen.ll (diff)llvm.src/test/CodeGen/X86/vector-trunc-widen.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-trunc.ll (diff)llvm.src/test/CodeGen/X86/vector-trunc.ll
Revision 366731 by jasonliu:
[NFC][PowerPC]Change ADDIStocHA to ADDIStocHA8 to follow 64-bit naming convention

Summary:

Since we are planning to add ADDIStocHA for 32bit in later patch, we decided
to change 64bit one first to follow naming convention with 8 behind opcode.

Patch by: Xiangling_L

Differential Revision: https://reviews.llvm.org/D64814
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/PowerPC/P9InstrResources.td (diff)llvm.src/lib/Target/PowerPC/P9InstrResources.td
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp (diff)llvm.src/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCFastISel.cpp (diff)llvm.src/lib/Target/PowerPC/PPCFastISel.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCISelDAGToDAG.cpp (diff)llvm.src/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp (diff)llvm.src/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCInstr64Bit.td (diff)llvm.src/lib/Target/PowerPC/PPCInstr64Bit.td
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.cpp (diff)llvm.src/lib/Target/PowerPC/PPCInstrInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/PowerPC/2013-07-01-PHIElimBug.mir (diff)llvm.src/test/CodeGen/PowerPC/2013-07-01-PHIElimBug.mir
The file was modified/llvm/trunk/test/CodeGen/PowerPC/aantidep-def-ec.mir (diff)llvm.src/test/CodeGen/PowerPC/aantidep-def-ec.mir
The file was modified/llvm/trunk/test/CodeGen/PowerPC/licm-tocReg.ll (diff)llvm.src/test/CodeGen/PowerPC/licm-tocReg.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/no-rlwimi-trivial-commute.mir (diff)llvm.src/test/CodeGen/PowerPC/no-rlwimi-trivial-commute.mir
The file was modified/llvm/trunk/test/CodeGen/PowerPC/remove-copy-crunsetcrbit.mir (diff)llvm.src/test/CodeGen/PowerPC/remove-copy-crunsetcrbit.mir
Revision 366730 by phosek:
[libc++] Set __file_ to 0 in basic_filebuf::close() even if fclose fails

This issue was detected by ASan in one of our tests. This test manually
invokes basic_filebuf::cloe(). fclose(__h.release() returned a non-zero
exit status, so __file_ wasn't set to 0. Later when basic_filebuf
destructor ran, we would enter the if (__file_) block again leading to
heap-use-after-free error.

The POSIX specification for fclose says that independently of the return
value, fclose closes the underlying file descriptor and any further
access (including another call to fclose()) to the stream results in
undefined behavior. This is exactly what happened in our test case.

To avoid this issue, we have to always set __file_ to 0 independently of
the fclose return value.

Differential Revision: https://reviews.llvm.org/D64979
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/include/fstream (diff)libcxx.src/include/fstream
The file was added/libcxx/trunk/test/std/input.output/file.streams/fstreams/filebuf.members/close.pass.cpplibcxx.src/test/std/input.output/file.streams/fstreams/filebuf.members/close.pass.cpp
Revision 366728 by sstefan:
[Attributor] NoAlias on return values.

Porting function return value attribute noalias to attributor.
This will be followed with a patch for callsite and function argumets.

Reviewers: jdoerfert

Subscribers: lebedev.ri, hiraditya, llvm-commits

Differential Revision: https://reviews.llvm.org/D63067
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/IPO/Attributor.h (diff)llvm.src/include/llvm/Transforms/IPO/Attributor.h
The file was modified/llvm/trunk/lib/Transforms/IPO/Attributor.cpp (diff)llvm.src/lib/Transforms/IPO/Attributor.cpp
The file was added/llvm/trunk/test/Transforms/FunctionAttrs/noalias_returned.llllvm.src/test/Transforms/FunctionAttrs/noalias_returned.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/nonnull.ll (diff)llvm.src/test/Transforms/FunctionAttrs/nonnull.ll
Revision 366727 by sfertile:
Stubs out TLOF for AIX and add support for common vars in assembly output.

Stubs out a TargetLoweringObjectFileXCOFF class, implementing only
SelectSectionForGlobal for common symbols. Also adds an override of
EmitGlobalVariable in PPCAIXAsmPrinter which adds a number of defensive errors
and adds support for emitting common globals.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/BinaryFormat/XCOFF.h (diff)llvm.src/include/llvm/BinaryFormat/XCOFF.h
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h (diff)llvm.src/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
The file was modified/llvm/trunk/include/llvm/MC/MCContext.h (diff)llvm.src/include/llvm/MC/MCContext.h
The file was modified/llvm/trunk/include/llvm/MC/MCSectionXCOFF.h (diff)llvm.src/include/llvm/MC/MCSectionXCOFF.h
The file was modified/llvm/trunk/lib/CodeGen/TargetLoweringObjectFileImpl.cpp (diff)llvm.src/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was modified/llvm/trunk/lib/MC/MCAsmInfoXCOFF.cpp (diff)llvm.src/lib/MC/MCAsmInfoXCOFF.cpp
The file was modified/llvm/trunk/lib/MC/MCContext.cpp (diff)llvm.src/lib/MC/MCContext.cpp
The file was modified/llvm/trunk/lib/MC/MCObjectFileInfo.cpp (diff)llvm.src/lib/MC/MCObjectFileInfo.cpp
The file was modified/llvm/trunk/lib/MC/MCSectionXCOFF.cpp (diff)llvm.src/lib/MC/MCSectionXCOFF.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp (diff)llvm.src/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCTargetMachine.cpp (diff)llvm.src/lib/Target/PowerPC/PPCTargetMachine.cpp
The file was added/llvm/trunk/test/CodeGen/PowerPC/aix-xcoff-common.llllvm.src/test/CodeGen/PowerPC/aix-xcoff-common.ll
Revision 366726 by phosek:
[SafeStack] Insert the deref after the offset

While debugging code that uses SafeStack, we've noticed that LLVM
produces an invalid DWARF. Concretely, in the following example:

  int main(int argc, char* argv[]) {
    std::string value = "";
    printf("%s\n", value.c_str());
    return 0;
  }

DWARF would describe the value variable as being located at:

  DW_OP_breg14 R14+0, DW_OP_deref, DW_OP_constu 0x20, DW_OP_minus

The assembly to get this variable is:

  leaq    -32(%r14), %rbx

The order of operations in the DWARF symbols is incorrect in this case.
Specifically, the deref is incorrect; this appears to be incorrectly
re-inserted in repalceOneDbgValueForAlloca.

With this change which inserts the deref after the offset instead of
before it, LLVM produces correct DWARF:

  DW_OP_breg14 R14-32

Differential Revision: https://reviews.llvm.org/D64971
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/Local.cpp (diff)llvm.src/lib/Transforms/Utils/Local.cpp
The file was modified/llvm/trunk/test/Transforms/SafeStack/X86/debug-loc2.ll (diff)llvm.src/test/Transforms/SafeStack/X86/debug-loc2.ll
Revision 366725 by pcc:
WholeProgramDevirt: Teach the pass to respect the global's alignment.

The bytes inserted before an overaligned global need to be padded according
to the alignment set on the original global in order for the initializer
to meet the global's alignment requirements. The previous implementation
that padded to the pointer width happened to be correct for vtables on most
platforms but may do the wrong thing if the vtable has a larger alignment.

This issue is visible with a prototype implementation of HWASAN for globals,
which will overalign all globals including vtables to 16 bytes.

There is also no padding requirement for the bytes inserted after the global
because they are never read from nor are they significant for alignment
purposes, so stop inserting padding there.

Differential Revision: https://reviews.llvm.org/D65031
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/IPO/WholeProgramDevirt.cpp (diff)llvm.src/lib/Transforms/IPO/WholeProgramDevirt.cpp
The file was modified/llvm/trunk/test/Transforms/WholeProgramDevirt/virtual-const-prop-begin.ll (diff)llvm.src/test/Transforms/WholeProgramDevirt/virtual-const-prop-begin.ll
The file was modified/llvm/trunk/test/Transforms/WholeProgramDevirt/virtual-const-prop-end.ll (diff)llvm.src/test/Transforms/WholeProgramDevirt/virtual-const-prop-end.ll
Revision 366724 by sfertile:
[PowerPC] Fix comment on MO_PLT Target Operand Flag. [NFC]

Patch by Xiangling Liao.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/PowerPC/PPC.h (diff)llvm.src/lib/Target/PowerPC/PPC.h
Revision 366723 by sfertile:
[Object][XCOFF] Remove extra includes from XCOFF related files. [NFC]

Differential Revision: https://reviews.llvm.org/D60885
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Object/XCOFFObjectFile.h (diff)llvm.src/include/llvm/Object/XCOFFObjectFile.h
The file was modified/llvm/trunk/lib/Object/XCOFFObjectFile.cpp (diff)llvm.src/lib/Object/XCOFFObjectFile.cpp
Revision 366722 by pcc:
LowerTypeTests: Teach the pass to respect global alignments.

We were previously ignoring alignment entirely when combining globals
together in this pass. There are two main things that we need to do here:
add additional padding before each global to meet the alignment requirements,
and set the combined global's alignment to the maximum of all of the original
globals' alignments.

Since we now need to calculate layout as we go anyway, use the calculated
layout to produce GlobalLayout instead of using StructLayout.

Differential Revision: https://reviews.llvm.org/D65033
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/IPO/LowerTypeTests.cpp (diff)llvm.src/lib/Transforms/IPO/LowerTypeTests.cpp
The file was added/llvm/trunk/test/Transforms/LowerTypeTests/align.llllvm.src/test/Transforms/LowerTypeTests/align.ll
Revision 366720 by nilanjana_basu:
Changes to emit CodeView debug info nested type records properly using MCStreamer directives
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/DebugInfo/CodeView/CodeViewRecordIO.h (diff)llvm.src/include/llvm/DebugInfo/CodeView/CodeViewRecordIO.h
The file was modified/llvm/trunk/include/llvm/DebugInfo/CodeView/TypeRecordMapping.h (diff)llvm.src/include/llvm/DebugInfo/CodeView/TypeRecordMapping.h
The file was modified/llvm/trunk/include/llvm/MC/MCExpr.h (diff)llvm.src/include/llvm/MC/MCExpr.h
The file was modified/llvm/trunk/lib/DebugInfo/CodeView/CodeViewRecordIO.cpp (diff)llvm.src/lib/DebugInfo/CodeView/CodeViewRecordIO.cpp
The file was modified/llvm/trunk/lib/DebugInfo/CodeView/TypeRecordMapping.cpp (diff)llvm.src/lib/DebugInfo/CodeView/TypeRecordMapping.cpp
The file was modified/llvm/trunk/test/DebugInfo/COFF/types-basic.ll (diff)llvm.src/test/DebugInfo/COFF/types-basic.ll
The file was modified/llvm/trunk/test/DebugInfo/COFF/types-data-members.ll (diff)llvm.src/test/DebugInfo/COFF/types-data-members.ll
Revision 366719 by benhamilton:
Adds support for formatting NS_CLOSED_ENUM and CF_CLOSED_ENUM alongside NS_ENUM and CF_ENUM.

Summary:
Addresses the formatting of NS_CLOSED_ENUM and CF_CLOSED_ENUM, introduced in Swift 5.

Before:

```
typedef NS_CLOSED_ENUM(NSInteger, Foo){FooValueOne = 1, FooValueTwo,
                                       FooValueThree};
```

After:

```
typedef NS_CLOSED_ENUM(NSInteger, Foo) {
  FooValueOne = 1,
  FooValueTwo,
  FooValueThree
};
```

Contributed by heijink.

Reviewers: benhamilton, krasimir

Reviewed By: benhamilton

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D65012
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Format/Format.cpp (diff)clang.src/lib/Format/Format.cpp
The file was modified/cfe/trunk/lib/Format/FormatToken.h (diff)clang.src/lib/Format/FormatToken.h
The file was modified/cfe/trunk/lib/Format/UnwrappedLineParser.cpp (diff)clang.src/lib/Format/UnwrappedLineParser.cpp
The file was modified/cfe/trunk/unittests/Format/FormatTest.cpp (diff)clang.src/unittests/Format/FormatTest.cpp
The file was modified/cfe/trunk/unittests/Format/FormatTestObjC.cpp (diff)clang.src/unittests/Format/FormatTestObjC.cpp
Revision 366715 by rampitec:
[AMDGPU] Test update. NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll (diff)llvm.src/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
Revision 366712 by rksimon:
[SLPVectorizer] Fix some MSVC/cppcheck uninitialized variable warnings. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp (diff)llvm.src/lib/Transforms/Vectorize/SLPVectorizer.cpp
Revision 366708 by vlad.tsyrklevich:
Revert "Reland [ELF] Loose a condition for relocation with a symbol"

This reverts commit r366686 as it appears to be causing buildbot
failures on sanitizer-x86_64-linux-android and sanitizer-x86_64-linux.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/MC/ELFObjectWriter.cpp (diff)llvm.src/lib/MC/ELFObjectWriter.cpp
The file was modified/llvm/trunk/test/MC/ELF/basic-elf-32.s (diff)llvm.src/test/MC/ELF/basic-elf-32.s
The file was modified/llvm/trunk/test/MC/ELF/compression.s (diff)llvm.src/test/MC/ELF/compression.s
The file was modified/llvm/trunk/test/MC/ELF/relocation-386.s (diff)llvm.src/test/MC/ELF/relocation-386.s
The file was modified/llvm/trunk/test/MC/Mips/elf-relsym.s (diff)llvm.src/test/MC/Mips/elf-relsym.s
The file was modified/llvm/trunk/test/MC/Mips/xgot.s (diff)llvm.src/test/MC/Mips/xgot.s
Revision 366702 by abataev:
[OPENMP][MSVC]Enable /openmp[:experimental] to compile OpenMP.

Mapped /openmp[:experimental] to -fopenmp option and /openmp- option to
-fno-openmp
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Driver/CLCompatOptions.td (diff)clang.src/include/clang/Driver/CLCompatOptions.td
The file was modified/cfe/trunk/test/Driver/fopenmp.c (diff)clang.src/test/Driver/fopenmp.c
Revision 366700 by Louis Dionne:
[libc++] Do not infer support for C++17 in GCC < 7

libc++'s lit configuration infers the C++ language dialect when it is
not provided by checking which -std= flags that a compiler supports.
GCC 5 and GCC 6 have a -std=c++17 flag, however, they do not have full
C++17 support. The lit configuration has hardcoded logic that removes
-std=c++1z as an option to test for GCC < 7, but not -std=c++17.

This leads to a bunch of failures when running libc++ tests with GCC 5
or GCC 6. This patch adds -std=c++17 to the list of flags that are
discarded for GCC < 7 by lit's language dialect inference.

Thanks to Bryce Adelstein Lelbach for the patch.

Differential Revision: https://reviews.llvm.org/D62874
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/utils/libcxx/test/config.py (diff)libcxx.src/utils/libcxx/test/config.py
Revision 366699 by probinson:
[X86] Remove const from some intrinsics that shouldn't have them
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Headers/emmintrin.h (diff)clang.src/lib/Headers/emmintrin.h
Revision 366698 by sammccall:
[clangd] Add dlog()s for SelectionTree, enabling -debug-only=SelectionTree.cpp

Summary:
SelectionTree is a RecursiveASTVisitor which processes getSourceRange() for
every node. This is a lot of surface area with the AST, as getSourceRange()
is specialized for *many* node types.
And the resulting SelectionTree depends on the source ranges of many
visited nodes, and the order of traversal.

Put together, this means we really need a traversal log to debug when we
get an unexpected SelectionTree. I've built this ad-hoc a few times, now
it's time to check it in.

Example output:
```
D[14:07:44.184] Computing selection for </usr/local/google/home/sammccall/test.cc:1:7, col:8>
D[14:07:44.184]  push: VarDecl const auto x = 42
D[14:07:44.184]   claimRange: </usr/local/google/home/sammccall/test.cc:1:12, col:13>
D[14:07:44.184]   push: NestedNameSpecifierLoc (empty NestedNameSpecifierLoc)
D[14:07:44.184]   pop: NestedNameSpecifierLoc (empty NestedNameSpecifierLoc)
D[14:07:44.184]   push: QualifiedTypeLoc const auto
D[14:07:44.184]   pop: QualifiedTypeLoc const auto
D[14:07:44.184]    claimRange: </usr/local/google/home/sammccall/test.cc:1:7, col:11>
D[14:07:44.184]    hit selection: </usr/local/google/home/sammccall/test.cc:1:7, col:8>
D[14:07:44.184]   skip: IntegerLiteral 42
D[14:07:44.184]    skipped range = </usr/local/google/home/sammccall/test.cc:1:16>
D[14:07:44.184]  pop: VarDecl const auto x = 42
D[14:07:44.184]   claimRange: </usr/local/google/home/sammccall/test.cc:1:1, col:18>
D[14:07:44.184]  skip: VarDecl int y = 43
D[14:07:44.184]   skipped range = </usr/local/google/home/sammccall/test.cc:2:1, col:9>
D[14:07:44.184] Built selection tree
TranslationUnitDecl
  VarDecl const auto x = 42
     .QualifiedTypeLoc const auto

```

Reviewers: hokein

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D65073
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/AST/ASTTypeTraits.cpp (diff)clang.src/lib/AST/ASTTypeTraits.cpp
The file was modified/clang-tools-extra/trunk/clangd/Selection.cpp (diff)clang-tools-extra.src/clangd/Selection.cpp
The file was modified/clang-tools-extra/trunk/clangd/Selection.h (diff)clang-tools-extra.src/clangd/Selection.h
Revision 366697 by gchatelet:
[Polly] Clang complains about missing virtual destructor

Summary: Feel free to reassign if needed.

Reviewers: mhalk, bollu, jdoerfert

Reviewed By: jdoerfert

Subscribers: jdoerfert, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D64786
Change TypePath in RepositoryPath in Workspace
The file was modified/polly/trunk/include/polly/CodeGen/LoopGenerators.h (diff)polly.src/include/polly/CodeGen/LoopGenerators.h
Revision 366696 by marshall:
Update c++2a status page with post-Cologne information
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/www/cxx2a_status.html (diff)libcxx.src/www/cxx2a_status.html
Revision 366695 by arsenm:
TableGen: Support physical register inputs > 255

This was truncating register value that didn't fit in unsigned char.
Switch AMDGPU sendmsg intrinsics to using a tablegen pattern.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/SelectionDAGISel.h (diff)llvm.src/include/llvm/CodeGen/SelectionDAGISel.h
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
The file was modified/llvm/trunk/utils/TableGen/DAGISelMatcher.h (diff)llvm.src/utils/TableGen/DAGISelMatcher.h
The file was modified/llvm/trunk/utils/TableGen/DAGISelMatcherEmitter.cpp (diff)llvm.src/utils/TableGen/DAGISelMatcherEmitter.cpp
The file was modified/llvm/trunk/utils/TableGen/DAGISelMatcherGen.cpp (diff)llvm.src/utils/TableGen/DAGISelMatcherGen.cpp
Revision 366694 by mantognini:
[NFC] Relaxed regression tests for PR42665

Following up on the buildbot failures, this commits relaxes some tests:
instead of checking for specific IR output, it now ensures that the
underlying issue (the crash), and only that, doesn't happen.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/CodeGenCXX/PR42665.cpp (diff)clang.src/test/CodeGenCXX/PR42665.cpp
Revision 366691 by sam_parker:
[ARM][LowOverheadLoops] Revert remaining pseudos

ARMLowOverheadLoops would assert a failure if it did not find all the
pseudo instructions that comprise the hardware loop. Instead of doing
this, iterate through all the instructions of the function and revert
any remaining pseudo instructions that haven't been converted.

Differential Revision: https://reviews.llvm.org/D65080
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMLowOverheadLoops.cpp (diff)llvm.src/lib/Target/ARM/ARMLowOverheadLoops.cpp
The file was added/llvm/trunk/test/CodeGen/Thumb2/LowOverheadLoops/revert-non-loop.mirllvm.src/test/CodeGen/Thumb2/LowOverheadLoops/revert-non-loop.mir
Revision 366689 by abataev:
[OPENMP]Add support for analysis of firstprivate variables.

Summary:
Firstprivate variables are the variables, for which the private copies
must be created in the OpenMP regions and must be initialized with the
original values. Thus, we must report if the uninitialized variable is
used as firstprivate.

Reviewers: NoQ

Subscribers: guansong, jdoerfert, caomhin, kkwli0, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D64765
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/OpenMPClause.h (diff)clang.src/include/clang/AST/OpenMPClause.h
The file was modified/cfe/trunk/test/Analysis/cfg-openmp.cpp (diff)clang.src/test/Analysis/cfg-openmp.cpp
The file was modified/cfe/trunk/test/OpenMP/distribute_parallel_for_firstprivate_messages.cpp (diff)clang.src/test/OpenMP/distribute_parallel_for_firstprivate_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/distribute_parallel_for_simd_firstprivate_messages.cpp (diff)clang.src/test/OpenMP/distribute_parallel_for_simd_firstprivate_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/parallel_firstprivate_messages.cpp (diff)clang.src/test/OpenMP/parallel_firstprivate_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/parallel_for_firstprivate_messages.cpp (diff)clang.src/test/OpenMP/parallel_for_firstprivate_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/parallel_for_simd_firstprivate_messages.cpp (diff)clang.src/test/OpenMP/parallel_for_simd_firstprivate_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/parallel_sections_firstprivate_messages.cpp (diff)clang.src/test/OpenMP/parallel_sections_firstprivate_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_firstprivate_messages.cpp (diff)clang.src/test/OpenMP/target_firstprivate_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_parallel_firstprivate_messages.cpp (diff)clang.src/test/OpenMP/target_parallel_firstprivate_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_parallel_for_firstprivate_messages.cpp (diff)clang.src/test/OpenMP/target_parallel_for_firstprivate_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_parallel_for_simd_firstprivate_messages.cpp (diff)clang.src/test/OpenMP/target_parallel_for_simd_firstprivate_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_simd_firstprivate_messages.cpp (diff)clang.src/test/OpenMP/target_simd_firstprivate_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_teams_distribute_firstprivate_messages.cpp (diff)clang.src/test/OpenMP/target_teams_distribute_firstprivate_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_messages.cpp (diff)clang.src/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_messages.cpp (diff)clang.src/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_teams_distribute_simd_firstprivate_messages.cpp (diff)clang.src/test/OpenMP/target_teams_distribute_simd_firstprivate_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_teams_firstprivate_messages.cpp (diff)clang.src/test/OpenMP/target_teams_firstprivate_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/task_firstprivate_messages.cpp (diff)clang.src/test/OpenMP/task_firstprivate_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/taskloop_firstprivate_messages.cpp (diff)clang.src/test/OpenMP/taskloop_firstprivate_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/taskloop_simd_firstprivate_messages.cpp (diff)clang.src/test/OpenMP/taskloop_simd_firstprivate_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/teams_distribute_firstprivate_messages.cpp (diff)clang.src/test/OpenMP/teams_distribute_firstprivate_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/teams_distribute_parallel_for_firstprivate_messages.cpp (diff)clang.src/test/OpenMP/teams_distribute_parallel_for_firstprivate_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_messages.cpp (diff)clang.src/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/teams_distribute_simd_firstprivate_messages.cpp (diff)clang.src/test/OpenMP/teams_distribute_simd_firstprivate_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/teams_firstprivate_messages.cpp (diff)clang.src/test/OpenMP/teams_firstprivate_messages.cpp
Revision 366688 by arsenm:
AMDGPU/GlobalISel: Fix broken tests
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-and.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-and.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-max.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-max.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-min.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-min.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-or.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-or.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-sub.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-sub.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-umax.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-umax.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-umin.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-umin.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-xchg.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-xchg.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-xor.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-xor.mir
Revision 366687 by aaronballman:
Update documentation for all CERT checks that correspond to a recommendation.

CERT removed their C++ secure coding recommendations from public view and so the links within that documentation are stale. This updates various pieces of documentation to make this more clear, and to help add substance where our docs deferred to CERT's wiki.
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/cert-dcl21-cpp.rst (diff)clang-tools-extra.src/docs/clang-tidy/checks/cert-dcl21-cpp.rst
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/cert-err09-cpp.rst (diff)clang-tools-extra.src/docs/clang-tidy/checks/cert-err09-cpp.rst
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/cert-oop11-cpp.rst (diff)clang-tools-extra.src/docs/clang-tidy/checks/cert-oop11-cpp.rst
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/misc-throw-by-value-catch-by-reference.rst (diff)clang-tools-extra.src/docs/clang-tidy/checks/misc-throw-by-value-catch-by-reference.rst
Revision 366686 by nikolaprica:
Reland [ELF] Loose a condition for relocation with a symbol

This patch was not the reason of the buildbot failure.

Deleted code was introduced as a work around for a bug in the gold linker
(http://sourceware.org/PR16794). Test case that was given as a reason for
this part of code, the one on previous link, now works for the gold.
This condition is too strict and when a code is compiled with debug info
it forces generation of numerous relocations with symbol for architectures
that do not have relocation addend.

Reviewers: arsenm, espindola

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D64327
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/MC/ELFObjectWriter.cpp (diff)llvm.src/lib/MC/ELFObjectWriter.cpp
The file was modified/llvm/trunk/test/MC/ELF/basic-elf-32.s (diff)llvm.src/test/MC/ELF/basic-elf-32.s
The file was modified/llvm/trunk/test/MC/ELF/compression.s (diff)llvm.src/test/MC/ELF/compression.s
The file was modified/llvm/trunk/test/MC/ELF/relocation-386.s (diff)llvm.src/test/MC/ELF/relocation-386.s
The file was modified/llvm/trunk/test/MC/Mips/elf-relsym.s (diff)llvm.src/test/MC/Mips/elf-relsym.s
The file was modified/llvm/trunk/test/MC/Mips/xgot.s (diff)llvm.src/test/MC/Mips/xgot.s
Revision 366685 by arsenm:
AMDGPU/GlobalISel: Remove unnecessary code

The minnum/maxnum case are dead, and the cvt is handled by the
default.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
Revision 366684 by dmgreen:
[ARM] Fix for MVE VPT block pass

We need to ensure that the number of T's is correct when adding multiple
instructions into the same VPT block.

Differential revision: https://reviews.llvm.org/D65049
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/Thumb2ITBlockPass.cpp (diff)llvm.src/lib/Target/ARM/Thumb2ITBlockPass.cpp
The file was modified/llvm/trunk/test/CodeGen/Thumb2/mve-vpt-block2.mir (diff)llvm.src/test/CodeGen/Thumb2/mve-vpt-block2.mir
The file was modified/llvm/trunk/test/CodeGen/Thumb2/mve-vpt-block3.mir (diff)llvm.src/test/CodeGen/Thumb2/mve-vpt-block3.mir
The file was modified/llvm/trunk/test/CodeGen/Thumb2/mve-vpt-block4.mir (diff)llvm.src/test/CodeGen/Thumb2/mve-vpt-block4.mir
The file was modified/llvm/trunk/test/CodeGen/Thumb2/mve-vpt-block5.mir (diff)llvm.src/test/CodeGen/Thumb2/mve-vpt-block5.mir
Revision 366683 by cdevadas:
Updated the signature for some stack related intrinsics (CLANG)

Modified the intrinsics
int_addressofreturnaddress,
int_frameaddress & int_sponentry.
This commit depends on the changes in rL366679

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D64563
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/CGException.cpp (diff)clang.src/lib/CodeGen/CGException.cpp
The file was modified/cfe/trunk/test/CodeGen/builtin-sponentry.c (diff)clang.src/test/CodeGen/builtin-sponentry.c
The file was modified/cfe/trunk/test/CodeGen/exceptions-seh.c (diff)clang.src/test/CodeGen/exceptions-seh.c
The file was modified/cfe/trunk/test/CodeGen/integer-overflow.c (diff)clang.src/test/CodeGen/integer-overflow.c
The file was modified/cfe/trunk/test/CodeGen/ms-intrinsics.c (diff)clang.src/test/CodeGen/ms-intrinsics.c
The file was modified/cfe/trunk/test/CodeGen/ms-setjmp.c (diff)clang.src/test/CodeGen/ms-setjmp.c
The file was modified/cfe/trunk/test/CodeGenOpenCL/builtins-generic-amdgcn.cl (diff)clang.src/test/CodeGenOpenCL/builtins-generic-amdgcn.cl
Revision 366682 by aaronballman:
Revert the change to the [[nodiscard]] feature test macro value.

This value only gets bumped once both P1301 and P1771 are implemented.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/Attr.td (diff)clang.src/include/clang/Basic/Attr.td
The file was modified/cfe/trunk/test/Preprocessor/has_attribute.cpp (diff)clang.src/test/Preprocessor/has_attribute.cpp
Revision 366681 by rksimon:
[X86] EltsFromConsecutiveLoads - support common source loads (REAPPLIED)

This patch enables us to find the source loads for each element, splitting them into a Load and ByteOffset, and attempts to recognise consecutive loads that are in fact from the same source load.

A helper function, findEltLoadSrc, recurses to find a LoadSDNode and determines the element's byte offset within it. When attempting to match consecutive loads, byte offsetted loads then attempt to matched against a previous load that has already been confirmed to be a consecutive match.

Next step towards PR16739 - after this we just need to account for shuffling/repeated elements to create a vector load + shuffle.

Fixed out of bounds load assert identified in rL366501

Differential Revision: https://reviews.llvm.org/D64551
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/clear_upper_vector_element_bits.ll (diff)llvm.src/test/CodeGen/X86/clear_upper_vector_element_bits.ll
The file was modified/llvm/trunk/test/CodeGen/X86/load-partial.ll (diff)llvm.src/test/CodeGen/X86/load-partial.ll
Revision 366680 by arsenm:
AMDGPU/GlobalISel: Fix tests without asserts

The legality check is only done under NDEBUG, so the failure cases are
different in a release build.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmaxnum-ieee.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmaxnum-ieee.mir
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmaxnum-ieee.s16.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmaxnum-ieee.s16.mir
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmaxnum-ieee.v2s16.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmaxnum-ieee.v2s16.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmaxnum.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmaxnum.mir
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmaxnum.s16.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmaxnum.s16.mir
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmaxnum.v2s16.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmaxnum.v2s16.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-fminnum-ieee.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-fminnum-ieee.mir
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-fminnum-ieee.s16.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-fminnum-ieee.s16.mir
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-fminnum-ieee.v2s16.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-fminnum-ieee.v2s16.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-fminnum.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-fminnum.mir
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-fminnum.s16.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-fminnum.s16.mir
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-fminnum.v2s16.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-fminnum.v2s16.mir
Revision 366679 by cdevadas:
Added address-space mangling for stack related intrinsics

Modified the following 3 intrinsics:
int_addressofreturnaddress,
int_frameaddress & int_sponentry.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D64561
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/Intrinsics.td (diff)llvm.src/include/llvm/IR/Intrinsics.td
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modified/llvm/trunk/lib/CodeGen/SjLjEHPrepare.cpp (diff)llvm.src/lib/CodeGen/SjLjEHPrepare.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86WinEHState.cpp (diff)llvm.src/lib/Target/X86/X86WinEHState.cpp
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp (diff)llvm.src/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/SanitizerCoverage.cpp (diff)llvm.src/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
The file was modified/llvm/trunk/test/Bitcode/compatibility-3.6.ll (diff)llvm.src/test/Bitcode/compatibility-3.6.ll
The file was modified/llvm/trunk/test/Bitcode/compatibility-3.7.ll (diff)llvm.src/test/Bitcode/compatibility-3.7.ll
The file was modified/llvm/trunk/test/Bitcode/compatibility-3.8.ll (diff)llvm.src/test/Bitcode/compatibility-3.8.ll
The file was modified/llvm/trunk/test/Bitcode/compatibility-3.9.ll (diff)llvm.src/test/Bitcode/compatibility-3.9.ll
The file was modified/llvm/trunk/test/Bitcode/compatibility-4.0.ll (diff)llvm.src/test/Bitcode/compatibility-4.0.ll
The file was modified/llvm/trunk/test/Bitcode/compatibility-5.0.ll (diff)llvm.src/test/Bitcode/compatibility-5.0.ll
The file was modified/llvm/trunk/test/Bitcode/compatibility-6.0.ll (diff)llvm.src/test/Bitcode/compatibility-6.0.ll
The file was modified/llvm/trunk/test/Bitcode/compatibility.ll (diff)llvm.src/test/Bitcode/compatibility.ll
The file was modified/llvm/trunk/test/Instrumentation/HWAddressSanitizer/alloca.ll (diff)llvm.src/test/Instrumentation/HWAddressSanitizer/alloca.ll
The file was modified/llvm/trunk/test/Instrumentation/HWAddressSanitizer/kernel-alloca.ll (diff)llvm.src/test/Instrumentation/HWAddressSanitizer/kernel-alloca.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/stack-depth.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/stack-depth.ll
The file was modified/llvm/trunk/test/Verifier/intrinsic-immarg.ll (diff)llvm.src/test/Verifier/intrinsic-immarg.ll
Revision 366678 by rksimon:
[X86][SSE] Add EltsFromConsecutiveLoads test case identified in rL366501

Test case that led to rL366441 being reverted at rL366501
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/load-partial.ll (diff)llvm.src/test/CodeGen/X86/load-partial.ll
Revision 366677 by grimar:
[yaml2obj] - Change how we handle implicit sections.

Instead of having the special list of implicit sections,
that are mixed with the sections read from YAML on late
stages, I just create the placeholders and add them to
the main sections list early.

That allows to significantly simplify the code.

Differential revision: https://reviews.llvm.org/D64999
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ObjectYAML/ELFYAML.h (diff)llvm.src/include/llvm/ObjectYAML/ELFYAML.h
The file was modified/llvm/trunk/tools/yaml2obj/yaml2elf.cpp (diff)llvm.src/tools/yaml2obj/yaml2elf.cpp
Revision 366676 by maskray:
[ARM][test] Improve tests

Delete trailing 2>&1 that is not piped to another command.
Add --no-show-raw-insn to objdump -d commands.
Change TypePath in RepositoryPath in Workspace
The file was modified/lld/trunk/test/ELF/arm-bl-v6-inrange.s (diff)lld.src/test/ELF/arm-bl-v6-inrange.s
The file was modified/lld/trunk/test/ELF/arm-bl-v6.s (diff)lld.src/test/ELF/arm-bl-v6.s
The file was modified/lld/trunk/test/ELF/arm-blx.s (diff)lld.src/test/ELF/arm-blx.s
The file was modified/lld/trunk/test/ELF/arm-branch-rangethunk.s (diff)lld.src/test/ELF/arm-branch-rangethunk.s
The file was modified/lld/trunk/test/ELF/arm-branch.s (diff)lld.src/test/ELF/arm-branch.s
The file was modified/lld/trunk/test/ELF/arm-copy.s (diff)lld.src/test/ELF/arm-copy.s
The file was removed/lld/trunk/test/ELF/arm-data-relocs.slld.src/test/ELF/arm-data-relocs.s
The file was modified/lld/trunk/test/ELF/arm-execute-only.s (diff)lld.src/test/ELF/arm-execute-only.s
The file was modified/lld/trunk/test/ELF/arm-exidx-canunwind.s (diff)lld.src/test/ELF/arm-exidx-canunwind.s
The file was modified/lld/trunk/test/ELF/arm-exidx-discard.s (diff)lld.src/test/ELF/arm-exidx-discard.s
The file was modified/lld/trunk/test/ELF/arm-exidx-gc.s (diff)lld.src/test/ELF/arm-exidx-gc.s
The file was modified/lld/trunk/test/ELF/arm-exidx-order.s (diff)lld.src/test/ELF/arm-exidx-order.s
The file was modified/lld/trunk/test/ELF/arm-exidx-output.s (diff)lld.src/test/ELF/arm-exidx-output.s
The file was modified/lld/trunk/test/ELF/arm-exidx-relocatable.s (diff)lld.src/test/ELF/arm-exidx-relocatable.s
The file was modified/lld/trunk/test/ELF/arm-exidx-shared.s (diff)lld.src/test/ELF/arm-exidx-shared.s
The file was modified/lld/trunk/test/ELF/arm-extreme-range-pi-thunk.s (diff)lld.src/test/ELF/arm-extreme-range-pi-thunk.s
The file was modified/lld/trunk/test/ELF/arm-force-pi-thunk.s (diff)lld.src/test/ELF/arm-force-pi-thunk.s
The file was modified/lld/trunk/test/ELF/arm-gnu-ifunc-plt.s (diff)lld.src/test/ELF/arm-gnu-ifunc-plt.s
The file was modified/lld/trunk/test/ELF/arm-gnu-ifunc.s (diff)lld.src/test/ELF/arm-gnu-ifunc.s
The file was modified/lld/trunk/test/ELF/arm-mov-relocs.s (diff)lld.src/test/ELF/arm-mov-relocs.s
The file was modified/lld/trunk/test/ELF/arm-plt-reloc.s (diff)lld.src/test/ELF/arm-plt-reloc.s
The file was added/lld/trunk/test/ELF/arm-reloc-abs32.slld.src/test/ELF/arm-reloc-abs32.s
The file was modified/lld/trunk/test/ELF/arm-sbrel32.s (diff)lld.src/test/ELF/arm-sbrel32.s
The file was modified/lld/trunk/test/ELF/arm-static-defines.s (diff)lld.src/test/ELF/arm-static-defines.s
The file was modified/lld/trunk/test/ELF/arm-target2.s (diff)lld.src/test/ELF/arm-target2.s
The file was modified/lld/trunk/test/ELF/arm-thumb-blx.s (diff)lld.src/test/ELF/arm-thumb-blx.s
The file was modified/lld/trunk/test/ELF/arm-thumb-branch-rangethunk.s (diff)lld.src/test/ELF/arm-thumb-branch-rangethunk.s
The file was modified/lld/trunk/test/ELF/arm-thumb-branch.s (diff)lld.src/test/ELF/arm-thumb-branch.s
The file was modified/lld/trunk/test/ELF/arm-thumb-condbranch-thunk.s (diff)lld.src/test/ELF/arm-thumb-condbranch-thunk.s
The file was modified/lld/trunk/test/ELF/arm-thumb-interwork-thunk.s (diff)lld.src/test/ELF/arm-thumb-interwork-thunk.s
The file was modified/lld/trunk/test/ELF/arm-thumb-mix-range-thunk-os.s (diff)lld.src/test/ELF/arm-thumb-mix-range-thunk-os.s
The file was modified/lld/trunk/test/ELF/arm-thumb-narrow-branch-check.s (diff)lld.src/test/ELF/arm-thumb-narrow-branch-check.s
The file was modified/lld/trunk/test/ELF/arm-thumb-no-undefined-thunk.s (diff)lld.src/test/ELF/arm-thumb-no-undefined-thunk.s
The file was modified/lld/trunk/test/ELF/arm-thumb-range-thunk-os.s (diff)lld.src/test/ELF/arm-thumb-range-thunk-os.s
The file was modified/lld/trunk/test/ELF/arm-thumb-thunk-empty-pass.s (diff)lld.src/test/ELF/arm-thumb-thunk-empty-pass.s
The file was modified/lld/trunk/test/ELF/arm-thumb-thunk-symbols.s (diff)lld.src/test/ELF/arm-thumb-thunk-symbols.s
The file was modified/lld/trunk/test/ELF/arm-thumb-undefined-weak.s (diff)lld.src/test/ELF/arm-thumb-undefined-weak.s
The file was modified/lld/trunk/test/ELF/arm-thunk-largesection.s (diff)lld.src/test/ELF/arm-thunk-largesection.s
The file was modified/lld/trunk/test/ELF/arm-thunk-linkerscript-dotexpr.s (diff)lld.src/test/ELF/arm-thunk-linkerscript-dotexpr.s
The file was modified/lld/trunk/test/ELF/arm-thunk-linkerscript-large.s (diff)lld.src/test/ELF/arm-thunk-linkerscript-large.s
The file was modified/lld/trunk/test/ELF/arm-thunk-linkerscript-orphan.s (diff)lld.src/test/ELF/arm-thunk-linkerscript-orphan.s
The file was modified/lld/trunk/test/ELF/arm-thunk-linkerscript-sort.s (diff)lld.src/test/ELF/arm-thunk-linkerscript-sort.s
The file was modified/lld/trunk/test/ELF/arm-thunk-linkerscript.s (diff)lld.src/test/ELF/arm-thunk-linkerscript.s
The file was modified/lld/trunk/test/ELF/arm-thunk-multipass-plt.s (diff)lld.src/test/ELF/arm-thunk-multipass-plt.s
The file was modified/lld/trunk/test/ELF/arm-thunk-multipass.s (diff)lld.src/test/ELF/arm-thunk-multipass.s
The file was modified/lld/trunk/test/ELF/arm-undefined-weak.s (diff)lld.src/test/ELF/arm-undefined-weak.s
The file was added/lld/trunk/test/ELF/pack-dyn-relocs-arm2.slld.src/test/ELF/pack-dyn-relocs-arm2.s
The file was removed/lld/trunk/test/ELF/pack-dyn-relocs2.slld.src/test/ELF/pack-dyn-relocs2.s
Revision 366675 by sammccall:
[clangd] Set buffer name for main file. NFCI
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/ClangdUnit.cpp (diff)clang-tools-extra.src/clangd/ClangdUnit.cpp
Revision 366674 by ibiryukov:
[clangd] Log input code of failed highlighting tests. NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/unittests/SemanticHighlightingTests.cpp (diff)clang-tools-extra.src/clangd/unittests/SemanticHighlightingTests.cpp
Revision 366672 by ibiryukov:
[AST] Treat semantic form of InitListExpr as implicit code in traversals

Summary:
In particular, do not traverse the semantic form if shouldVisitImplicitCode()
returns false.

This simplifies the common case of traversals, avoiding the need to
worry about some expressions being traversed twice.

No tests break after the change, the change would allow to simplify at
least one of the usages, i.e. r366070 which had to handle this in
clangd.

Reviewers: gribozavr

Reviewed By: gribozavr

Subscribers: kadircet, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D64762
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/RecursiveASTVisitor.h (diff)clang.src/include/clang/AST/RecursiveASTVisitor.h
The file was modified/cfe/trunk/unittests/Tooling/RecursiveASTVisitorTests/InitListExprPreOrder.cpp (diff)clang.src/unittests/Tooling/RecursiveASTVisitorTests/InitListExprPreOrder.cpp
Revision 366671 by stefan.graenitz:
Add location of SVN staging dir to git-llvm error output

Summary:
In pre-monorepo times the svn staging directory was `.git/svn`. The below error message wasn't mentioning the new name yet.

Example before:
```
Can't push git rev 104cfa289d9 because svn status is not empty:
!     llvm/trunk/include/llvm
```

Example after:
```
Can't push git rev 104cfa289d9 because status in svn staging dir (.git/llvm-upstream-svn) is not empty:
!     llvm/trunk/include/llvm
```

Reviewers: mehdi_amini, jlebar, teemperor

Reviewed By: mehdi_amini

Subscribers: llvm-commits, #llvm

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D65038
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/git-svn/git-llvm (diff)llvm.src/utils/git-svn/git-llvm
Revision 366670 by mantognini:
[OpenCL] Improve destructor support in C++ for OpenCL

This re-applies r366422 with a fix for Bug PR42665 and a new regression
test.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/DeclCXX.h (diff)clang.src/include/clang/AST/DeclCXX.h
The file was modified/cfe/trunk/include/clang/AST/ExprCXX.h (diff)clang.src/include/clang/AST/ExprCXX.h
The file was modified/cfe/trunk/lib/AST/DeclCXX.cpp (diff)clang.src/lib/AST/DeclCXX.cpp
The file was modified/cfe/trunk/lib/AST/ExprCXX.cpp (diff)clang.src/lib/AST/ExprCXX.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGCXXABI.h (diff)clang.src/lib/CodeGen/CGCXXABI.h
The file was modified/cfe/trunk/lib/CodeGen/CGCall.cpp (diff)clang.src/lib/CodeGen/CGCall.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGClass.cpp (diff)clang.src/lib/CodeGen/CGClass.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGDecl.cpp (diff)clang.src/lib/CodeGen/CGDecl.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGExprCXX.cpp (diff)clang.src/lib/CodeGen/CGExprCXX.cpp
The file was modified/cfe/trunk/lib/CodeGen/CodeGenFunction.h (diff)clang.src/lib/CodeGen/CodeGenFunction.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
The file was modified/cfe/trunk/lib/Sema/SemaDeclCXX.cpp (diff)clang.src/lib/Sema/SemaDeclCXX.cpp
The file was modified/cfe/trunk/lib/Sema/SemaOverload.cpp (diff)clang.src/lib/Sema/SemaOverload.cpp
The file was added/cfe/trunk/test/CodeGenCXX/PR42665.cppclang.src/test/CodeGenCXX/PR42665.cpp
The file was removed/cfe/trunk/test/CodeGenOpenCLCXX/addrspace-ctor.clclang.src/test/CodeGenOpenCLCXX/addrspace-ctor.cl
The file was added/cfe/trunk/test/CodeGenOpenCLCXX/addrspace-with-class.clclang.src/test/CodeGenOpenCLCXX/addrspace-with-class.cl
Revision 366669 by ostannard:
[IPRA][ARM] Make use of the "returned" parameter attribute

ARM has code to recognise uses of the "returned" function parameter
attribute which guarantee that the value passed to the function in r0
will be returned in r0 unmodified. IPRA replaces the regmask on call
instructions, so needs to be told about this to avoid reverting the
optimisation.

Differential revision: https://reviews.llvm.org/D64986
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMFrameLowering.cpp (diff)llvm.src/lib/Target/ARM/ARMFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp (diff)llvm.src/lib/Target/ARM/ARMISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMMachineFunctionInfo.h (diff)llvm.src/lib/Target/ARM/ARMMachineFunctionInfo.h
The file was added/llvm/trunk/test/CodeGen/ARM/ipra-r0-returned.llllvm.src/test/CodeGen/ARM/ipra-r0-returned.ll
Revision 366668 by grimar:
[llvm-readobj] - Stop using precompiled objects in file-headers.test

This converts all sub-tests except one to YAML instead of precompiled inputs.

Differential revision: https://reviews.llvm.org/D64800
Change TypePath in RepositoryPath in Workspace
The file was removed/llvm/trunk/test/tools/llvm-readobj/Inputs/magic.coff-unknownllvm.src/test/tools/llvm-readobj/Inputs/magic.coff-unknown
The file was removed/llvm/trunk/test/tools/llvm-readobj/Inputs/trivial.exe.coff-i386llvm.src/test/tools/llvm-readobj/Inputs/trivial.exe.coff-i386
The file was removed/llvm/trunk/test/tools/llvm-readobj/Inputs/trivial.obj.coff-arm64llvm.src/test/tools/llvm-readobj/Inputs/trivial.obj.coff-arm64
The file was removed/llvm/trunk/test/tools/llvm-readobj/Inputs/trivial.obj.elf-lanaillvm.src/test/tools/llvm-readobj/Inputs/trivial.obj.elf-lanai
The file was added/llvm/trunk/test/tools/llvm-readobj/coff-file-headers.testllvm.src/test/tools/llvm-readobj/coff-file-headers.test
The file was added/llvm/trunk/test/tools/llvm-readobj/elf-file-headers.testllvm.src/test/tools/llvm-readobj/elf-file-headers.test
The file was removed/llvm/trunk/test/tools/llvm-readobj/file-headers.testllvm.src/test/tools/llvm-readobj/file-headers.test
The file was added/llvm/trunk/test/tools/llvm-readobj/macho-file-headers.testllvm.src/test/tools/llvm-readobj/macho-file-headers.test
The file was added/llvm/trunk/test/tools/llvm-readobj/wasm-file-headers.testllvm.src/test/tools/llvm-readobj/wasm-file-headers.test
Revision 366667 by foad:
[AMDGPU] Save some work when an atomic op has no uses

Summary:
In the atomic optimizer, save doing a bunch of work and generating a
bunch of dead IR in the fairly common case where the result of an
atomic op (i.e. the value that was in memory before the atomic op was
performed) is not used. NFC.

Reviewers: arsenm, dstuttard, tpr

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

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D64981
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
Revision 366666 by lkail:
[PowerPC][NFC] Precommit a test case where ppc-mi-peepholes miscompiles extswsli

Added a test case to show codegen differences.
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/CodeGen/MIR/PowerPC/peephole-miscompile-extswsli.mirllvm.src/test/CodeGen/MIR/PowerPC/peephole-miscompile-extswsli.mir
Revision 366665 by skatkov:
[Loop Peeling] Fix the handling of branch weights of peeled off branches.

Current algorithm to update branch weights of latch block and its copies is
based on the assumption that number of peeling iterations is approximately equal
to trip count.

However it is not correct. According to profitability check in one case we can decide to peel
in case it helps to reduce the number of phi nodes. In this case the number of peeled iteration
can be less then estimated trip count.

This patch introduces another way to set the branch weights to peeled of branches.
Let F is a weight of the edge from latch to header.
Let E is a weight of the edge from latch to exit.
F/(F+E) is a probability to go to loop and E/(F+E) is a probability to go to exit.
Then, Estimated TripCount = F / E.
For I-th (counting from 0) peeled off iteration we set the the weights for
the peeled latch as (TC - I, 1). It gives us reasonable distribution,
The probability to go to exit 1/(TC-I) increases. At the same time
the estimated trip count of remaining loop reduces by I.

As a result after peeling off N iteration the weights will be
(F - N * E, E) and trip count of loop becomes
F / E - N or TC - N.

The idea is taken from the review of the patch D63918 proposed by Philip.

Reviewers: reames, mkuper, iajbar, fhahn
Reviewed By: reames
Subscribers: hiraditya, zzheng, llvm-commits
Differential Revision: https://reviews.llvm.org/D64235
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/LoopUnrollPeel.cpp (diff)llvm.src/lib/Transforms/Utils/LoopUnrollPeel.cpp
The file was modified/llvm/trunk/test/Transforms/LoopUnroll/peel-loop-pgo-deopt.ll (diff)llvm.src/test/Transforms/LoopUnroll/peel-loop-pgo-deopt.ll
The file was modified/llvm/trunk/test/Transforms/LoopUnroll/peel-loop-pgo.ll (diff)llvm.src/test/Transforms/LoopUnroll/peel-loop-pgo.ll
Revision 366664 by maskray:
[utils] Clean up UpdateTestChecks/common.py
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/UpdateTestChecks/common.py (diff)llvm.src/utils/UpdateTestChecks/common.py
Revision 366663 by maskray:
[analyzer] Fix -Wunused-function in NDEBUG builds with #ifdef LLVM_DUMP_METHOD
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/StaticAnalyzer/Core/RegionStore.cpp (diff)clang.src/lib/StaticAnalyzer/Core/RegionStore.cpp
Revision 366662 by ctopper:
[InstCombine] Add foldAndOfICmps test cases inspired by PR42691.

icmp ne %x, INT_MIN can be treated similarly to icmp sgt %x, INT_MIN.
icmp ne %x, INT_MAX can be treated similarly to icmp slt %x, INT_MAX.
icmp ne %x, UINT_MAX can be treated similarly to icmp ult %x, UINT_MAX.

We already treat icmp ne %x, 0 similarly to icmp ugt %x, 0
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstCombine/and-or-icmps.ll (diff)llvm.src/test/Transforms/InstCombine/and-or-icmps.ll