FailedChanges

Summary

  1. [gicombiner] Add a CodeExpander to handle C++ fragments with variable expansion Summary: This will handle expansion of C++ fragments in the declarative combiner including custom predicates, and escapes into C++ to aid the migration effort. Reviewers: bogner, volkan Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68288
  2. gn build: Merge r373538
  3. Fixing broken builds due to r373538 due to test that should have been deleted. test/InterfaceStubs/object.cpp should have been deleted.
  4. Mark P0784R7 as complete and start defining its feature-test macro. Note that this only covers the language side of this feature. (The library side has its own feature test macro.)
  5. For P0784R7: support placement new-expressions in constant evaluation. For now, we restrict this support to use from within the standard library implementation, since we're required to make parts of the standard library that use placement new work, but not permitted to make uses of placement new from user code work.
  6. For P0784R7: allow direct calls to operator new / operator delete from std::allocator::{allocate,deallocate} in constant evaluation.
  7. [gicombiner] Fix windows issue where single quotes in the command are passed through to tablegen
  8. [AMDGPU] Fix illegal agpr use by VALU When SIFixSGPRCopies attempts to fix an illegal copy from vector to scalar register it calls moveToVALU(). A copy from an agpr to sgpr becomes a copy from agpr to agpr, which may result in the illegal register class at a use of this copy. Solution is to copy it always into a vgpr. This may result in a subsequent copy into an agpr if that is what really needed, however should not happen too often and likely will be folded later. The opposite situation may not happen because an sgpr is always illegal where agpr is legal, so such user instructions may not exist. Differential Revision: https://reviews.llvm.org/D68358
  9. [gicombiner] Fix a nullptr dereference when -combiners is given a name that isn't defined This is unlikely to be the root cause for the windows bot failures but it would explain the stack trace seen.
  10. [InstCombine] Bypass high bit extract before variable sign-extension (PR43523) https://rise4fun.com/Alive/8BY - valid for lshr+trunc+variable sext https://rise4fun.com/Alive/7jk - the variable sext can be redundant https://rise4fun.com/Alive/Qslu - 'exact'-ness of first shift can be preserver https://rise4fun.com/Alive/IF63 - without trunc we could view this as more general "drop redundant mask before right-shift", but let's handle it here for now https://rise4fun.com/Alive/iip - likewise, without trunc, variable sext can be redundant. There's more patterns for sure - e.g. we can have 'lshr' as the final shift, but that might be best handled by some more generic transform, e.g. "drop redundant masking before right-shift" (PR42456) I'm singling-out this sext patch because you can only extract high bits with `*shr` (unlike abstract bit masking), and i *know* this fold is wanted by existing code. I don't believe there is much to review here, so i'm gonna opt into post-review mode here. https://bugs.llvm.org/show_bug.cgi?id=43523
  11. [NFC][InstCombine] Add tests for 'variable sext of variable high bit extract' pattern (PR43523) https://bugs.llvm.org/show_bug.cgi?id=43523
  12. DebugInfo: Rename DebugLocStream::Entry::Begin/EndSym to just Begin/End Brings this struct in line with the RangeSpan class so they might eventually be used by common template code for generating range/loc lists with less duplicate code.
  13. Move SanitizerInitializeUnwinder outside anonymous namespace. Fixes the Android build breakage introduced in r373528.
  14. [clang][ifs] Clang Interface Stubs ToolChain plumbing. This patch enables end to end support for generating ELF interface stubs directly from clang. Now the following: clang -emit-interface-stubs -o libfoo.so a.cpp b.cpp c.cpp will product an ELF binary with visible symbols populated. Visibility attributes and -fvisibility can be used to control what gets populated. * Adding ToolChain support for clang Driver IFS Merge Phase * Implementing a default InterfaceStubs Merge clang Tool, used by ToolChain * Adds support for the clang Driver to involve llvm-ifs on ifs files. * Adds -emit-merged-ifs flag, to tell llvm-ifs to emit a merged ifs text file instead of the final object format (normally ELF) Differential Revision: https://reviews.llvm.org/D63978
  15. [InstCombine] Transform bcopy to memmove bcopy is still widely used mainly for network apps. Sadly, LLVM has no optimizations for bcopy, but there are some for memmove. Since bcopy == memmove, it is profitable to transform bcopy to memmove and use current optimizations for memmove for free here.
  16. [X86] Add test cases for suboptimal vselect+setcc splitting. If the vselect result type needs to be split, it will try to also try to split the condition if it happens to be a setcc. With avx512 where k-registers are legal, its probably better to just use a kshift to split the mask register.
  17. [LegalizeTypes] Check for already split condition before calilng SplitVecRes_SETCC in SplitRes_SELECT. No point in manually splitting the SETCC if it was already done.
  18. gn build: (manually) merge r373527
  19. DebugInfo: Simplify RangeSpan to be a plain struct This is an effort to make RangeSpan and DebugLocStream::Entry more similar to share code for their emission (to reuse the more complicated code for using (& choosing when to use) base address selection entries, etc). It didn't seem like this struct was worth the complexity of encapsulation - when the members could be initialized by the ctor to any value (no validation) and the type is assignable (so there's no mutability or other constraint being implemented by its interface).
  20. [sanitizer_common] Declare __sanitizer_on_print in Windows interception. Speculative fix for Windows bot.
  21. [sanitizer_common] Disable onprint.cpp on Android. The test fails to find the written file on Android.
  22. [sanitizer_common] Add __sanitizer_on_print to interface list. Should fix the current Windows buildbot failure.
  23. [compiler-rt] Use GetNextInstructionPc in signal handlers Summary: All other stack trace callers assume that PC contains return address. HWAsan already use GetNextInstructionPc in similar code. PR43339 Reviewers: eugenis, kcc, jfb Subscribers: dexonsmith, dberris, #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D68313
  24. NFC: add namespace {}
  25. [gicombiner] Add the boring boilerplate for the declarative combiner Summary: This is the first of a series of patches extracted from a much bigger WIP patch. It merely establishes the tblgen pass and the way empty combiner helpers are declared and integrated into a combiner info. The tablegen pass takes a -combiners option to select the combiner helper that will be generated. This can be given multiple values to generate multiple combiner helpers at once. Doing so helps to minimize parsing overhead. The reason for creating a GlobalISel subdirectory in utils/TableGen is that there will be quite a lot of non-pass files (~15) by the time the patch series is done. Reviewers: volkan Subscribers: mgorny, hiraditya, simoncook, Petar.Avramovic, s.egerton, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68286
  26. Fix uninitialized variable warning in CodeGenPGO constructor. NFCI.
  27. ItaniumCXXABI - silence static analyzer getAs<RecordType> null dereference warnings. NFCI. The static analyzer is warning about potential null dereferences, but we should be able to use castAs<RecordType> directly and if not assert will fire for us.
  28. [Clang][Driver][NFC] Corrected DeviceActionBuilder methods' comments. Differential Revision: https://reviews.llvm.org/D68355
  29. Recommit "[GlobalOpt] Pass DTU to removeUnreachableBlocks instead of recomputing." The cause for the revert should be fixed by r373513 / a80b6c15425f82521c624ff24c5c0a34cd534d54 This reverts commit 47dbcbd8ec6bf6c0b9cbe5811e81a37cc55e73ef.
  30. Added new builders lldb-s390x-fedora, lldb-ppc64le-fedora. Patch by Jan Kratochvil.
  31. CGObjCMac - silence static analyzer dyn_cast<>/getAs<> null dereference warnings. NFCI. The static analyzer is warning about potential null dereferences, but we should be able to use cast<>/castAs<> directly and if not assert will fire for us.
  32. [PowerPC] Fix SH field overflow issue Store rlwinm Rx, Ry, 32, 0, 31 as rlwinm Rx, Ry, 0, 0, 31 and store rldicl Rx, Ry, 64, 0 as rldicl Rx, Ry, 0, 0. Otherwise SH field is overflow and fails assertion in assembly printing stage. Differential Revision: https://reviews.llvm.org/D66991
  33. [sanitizer_common] Rename OnPrint to __sanitizer_on_print. Summary: https://reviews.llvm.org/D28596 exposed OnPrint in the global namespace, which can cause collisions with user-defined OnPrint() functions. Reviewers: vitalybuka, dvyukov Reviewed By: vitalybuka, dvyukov Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67987
  34. [libc++] Use functions instead of global variables to set libc++ build flags This commit follows the trend of doing things per-target instead of modifying the C++ flags globally. It does so for visibility-related flags, other basic build flags and Windows-specific flags.
  35. Fix inconsistent indentation in TableGen.cpp The anonymous namespace starts out (incorrectly) indented but isn't indented from the TimeRegionsOpt declaration onwards.
  36. Handle llvm.launder.invariant.group in msan. Summary: [MSan] handle llvm.launder.invariant.group Msan used to give false-positives in class Foo { public: virtual ~Foo() {}; }; // Return true iff *x is set. bool f1(void **x, bool flag); Foo* f() { void *p; bool found; found = f1(&p,flag); if (found) { // p is always set here. return static_cast<Foo*>(p); // False positive here. } return nullptr; } Patch by Ilya Tokar. Reviewers: #sanitizers, eugenis Reviewed By: #sanitizers, eugenis Subscribers: eugenis, Prazek, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68236
  37. [TableGen] Improve error reporting of overlapping definitions (NFC)
  38. [Local] Handle terminators with users in removeUnreachableBlocks. Terminators like invoke can have users outside the current basic block. We have to replace those users with undef, before replacing the terminator. This fixes a crash exposed by rL373430. Reviewers: brzycki, asbirlea, davide, spatel Reviewed By: asbirlea Differential Revision: https://reviews.llvm.org/D68327
  39. [libc++] Use a function to set warning flags per target This is part of a larger shift to move to per-target settings and eradicate global variables from the CMake build. I'm starting small with warnings only because those are easy to transition over and I want to see how it pans out, but we can handle all flags like exceptions and RTTI in the future.
  40. [libc++] Revert to using PUBLIC instead of PRIVATE when linking system libs It turns out the benchmarks need to link against those libraries explicitly too, so CMake's propagation of PUBLIC dependencies is used.
  41. [MemorySSA] Update Phi creation when inserting a Def. MemoryPhis should be added in the IDF of the blocks newly gaining Defs. This includes the blocks that gained a Phi and the block gaining a Def, if the block did not have one before. Resolves PR43427.
  42. [Stencil] Hide implementaion detai. NFC.
  43. [ARM] Make helpers static. NFC.
  44. [OPENMP50]Add parsing/sema analysis for declare variant score. Context selectors may include optional score clause in format `score(<expr>):`, where `<expr>` must be a constant integer expression. Added parsing/sema analysis only.
  45. [X86] Rewrite to the vXi1 subvector insertion code to not rely on the value of bits that might be undef The previous code tried to do a trick where we would extract the subvector from the location we were inserting. Then xor that with the new value. Take the xored value and clear out the bits above the subvector size. Then shift that xored subvector to the insert location. And finally xor that with the original vector. Since the old subvector was used in both xors, this would leave just the new subvector at the inserted location. Since the surrounding bits had been zeroed no other bits of the original vector would be modified. Unfortunately, if the old subvector came from undef we might aggressively propagate the undef. Then we end up with the XORs not cancelling because they aren't using the same value for the two uses of the old subvector. @bkramer gave me a case that demonstrated this, but we haven't reduced it enough to make it easily readable to see what's happening. This patch uses a safer, but more costly approach. It isolate the bits above the insertion and bits below the insert point and ORs those together leaving 0 for the insertion location. Then widens the subvector with 0s in the upper bits, shifts it into position with 0s in the lower bits. Then we do another OR. Differential Revision: https://reviews.llvm.org/D68311
  46. Fix: Actually erase remove the elements from AssumeHandles Reviewers: sdmitriev, tejohnson Reviewed by: tejohnson Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68318
  47. [WebAssembly] Error when using wasm64 for ISel Summary: 64-bit WebAssembly (wasm64) is not specified and not supported in the WebAssembly backend. We do have support for it in clang, however, and we would like to keep that support because we expect wasm64 to be specified and supported in the future. For now add an error when trying to use wasm64 from the backend to minimize user confusion from unexplained crashes. Reviewers: aheejin, dschuff, sunfish Subscribers: sbc100, jgravelle-google, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68254
  48. gn build: Merge r373489
  49. [AMDGPU] Extend buffer intrinsics with swizzling Summary: Extend cachepolicy operand in the new VMEM buffer intrinsics to supply information whether the buffer data is swizzled. Also, propagate this information to MIR. Intrinsics updated: int_amdgcn_raw_buffer_load int_amdgcn_raw_buffer_load_format int_amdgcn_raw_buffer_store int_amdgcn_raw_buffer_store_format int_amdgcn_raw_tbuffer_load int_amdgcn_raw_tbuffer_store int_amdgcn_struct_buffer_load int_amdgcn_struct_buffer_load_format int_amdgcn_struct_buffer_store int_amdgcn_struct_buffer_store_format int_amdgcn_struct_tbuffer_load int_amdgcn_struct_tbuffer_store Furthermore, disable merging of VMEM buffer instructions in SI Load/Store optimizer, if the "swizzled" bit on the instruction is on. The default value of the bit is 0, meaning that data in buffer is linear and buffer instructions can be merged. There is no difference in the generated code with this commit. However, in the future it will be expected that front-ends use buffer intrinsics with correct "swizzled" bit set. Reviewers: arsenm, nhaehnle, tpr Reviewed By: nhaehnle Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, arphaman, jfb, Petar.Avramovic, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68200
  50. [LLDB] Send e-mails to the default recipients
  51. Add the misc-init-local-variables check. This checks finds all primitive type local variables (integers, doubles, pointers) that are declared without an initial value. Includes fixit functionality to initialize said variables with a default value. This is zero for most types and NaN for floating point types. The use of NaNs is copied from the D programming language. Patch by Jussi Pakkanen.
  52. [Local] Remove unused LazyValueInfo pointer from removeUnreachableBlock. There are no users that pass in LazyValueInfo, so we can simplify the function a bit. Reviewers: brzycki, asbirlea, davide Reviewed By: davide Differential Revision: https://reviews.llvm.org/D68297
  53. [libc++] Use PRIVATE instead of PUBLIC when linking against system libs
  54. [ThinLTO/WPD] Ensure devirtualized targets use promoted symbol when necessary Summary: This fixes a hole in the handling of devirtualized targets that were local but need promoting due to devirtualization in another module. We were not correctly referencing the promoted symbol in some cases. Make sure the code that updates the name also looks at the ExportedGUIDs set by utilizing a callback that checks all conditions (the callback utilized by the internalization/promotion code). Reviewers: pcc, davidxl, hiraditya Subscribers: mehdi_amini, Prazek, inglorion, steven_wu, dexonsmith, dang, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68159
Revision 373551 by dsanders:
[gicombiner] Add a CodeExpander to handle C++ fragments with variable expansion

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

Reviewers: bogner, volkan

Subscribers: mgorny, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68288
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/unittests/CMakeLists.txtllvm.src/unittests/CMakeLists.txt
The file was added/llvm/trunk/unittests/TableGenllvm.src/unittests/TableGen
The file was added/llvm/trunk/unittests/TableGen/CMakeLists.txtllvm.src/unittests/TableGen/CMakeLists.txt
The file was added/llvm/trunk/unittests/TableGen/CodeExpanderTest.cppllvm.src/unittests/TableGen/CodeExpanderTest.cpp
The file was modified/llvm/trunk/utils/TableGen/CMakeLists.txtllvm.src/utils/TableGen/CMakeLists.txt
The file was modified/llvm/trunk/utils/TableGen/GICombinerEmitter.cppllvm.src/utils/TableGen/GICombinerEmitter.cpp
The file was added/llvm/trunk/utils/TableGen/GlobalISelllvm.src/utils/TableGen/GlobalISel
The file was added/llvm/trunk/utils/TableGen/GlobalISel/CMakeLists.txtllvm.src/utils/TableGen/GlobalISel/CMakeLists.txt
The file was added/llvm/trunk/utils/TableGen/GlobalISel/CodeExpander.cppllvm.src/utils/TableGen/GlobalISel/CodeExpander.cpp
The file was added/llvm/trunk/utils/TableGen/GlobalISel/CodeExpander.hllvm.src/utils/TableGen/GlobalISel/CodeExpander.h
The file was added/llvm/trunk/utils/TableGen/GlobalISel/CodeExpansions.hllvm.src/utils/TableGen/GlobalISel/CodeExpansions.h
Revision 373550 by gnsyncbot:
gn build: Merge r373538
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/clang/lib/Driver/BUILD.gnllvm.src/utils/gn/secondary/clang/lib/Driver/BUILD.gn
Revision 373549 by zer0:
Fixing broken builds due to r373538 due to test that should have been deleted.

test/InterfaceStubs/object.cpp should have been deleted.
Change TypePath in RepositoryPath in Workspace
The file was removed/cfe/trunk/test/InterfaceStubs/object.cppclang.src/test/InterfaceStubs/object.cpp
Revision 373548 by rsmith:
Mark P0784R7 as complete and start defining its feature-test macro.

Note that this only covers the language side of this feature. (The
library side has its own feature test macro.)
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Frontend/InitPreprocessor.cppclang.src/lib/Frontend/InitPreprocessor.cpp
The file was modified/cfe/trunk/test/Lexer/cxx-features.cppclang.src/test/Lexer/cxx-features.cpp
The file was modified/cfe/trunk/www/cxx_status.htmlclang.src/www/cxx_status.html
Revision 373547 by rsmith:
For P0784R7: support placement new-expressions in constant evaluation.

For now, we restrict this support to use from within the standard
library implementation, since we're required to make parts of the
standard library that use placement new work, but not permitted to
make uses of placement new from user code work.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticASTKinds.tdclang.src/include/clang/Basic/DiagnosticASTKinds.td
The file was modified/cfe/trunk/lib/AST/ExprConstant.cppclang.src/lib/AST/ExprConstant.cpp
The file was modified/cfe/trunk/lib/AST/Interp/State.hclang.src/lib/AST/Interp/State.h
The file was modified/cfe/trunk/test/SemaCXX/cxx2a-constexpr-dynalloc.cppclang.src/test/SemaCXX/cxx2a-constexpr-dynalloc.cpp
Revision 373546 by rsmith:
For P0784R7: allow direct calls to operator new / operator delete from
std::allocator::{allocate,deallocate} in constant evaluation.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticASTKinds.tdclang.src/include/clang/Basic/DiagnosticASTKinds.td
The file was modified/cfe/trunk/lib/AST/ExprConstant.cppclang.src/lib/AST/ExprConstant.cpp
The file was added/cfe/trunk/test/SemaCXX/cxx2a-constexpr-dynalloc.cppclang.src/test/SemaCXX/cxx2a-constexpr-dynalloc.cpp
Revision 373545 by dsanders:
[gicombiner] Fix windows issue where single quotes in the command are passed through to tablegen
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/CMakeLists.txtllvm.src/lib/Target/AArch64/CMakeLists.txt
Revision 373544 by rampitec:
[AMDGPU] Fix illegal agpr use by VALU

When SIFixSGPRCopies attempts to fix an illegal copy from vector to
scalar register it calls moveToVALU(). A copy from an agpr to sgpr
becomes a copy from agpr to agpr, which may result in the illegal
register class at a use of this copy.

Solution is to copy it always into a vgpr. This may result in a
subsequent copy into an agpr if that is what really needed, however
should not happen too often and likely will be folded later.

The opposite situation may not happen because an sgpr is always
illegal where agpr is legal, so such user instructions may not
exist.

Differential Revision: https://reviews.llvm.org/D68358
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.cppllvm.src/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was added/llvm/trunk/test/CodeGen/AMDGPU/fold_acc_copy_into_valu.mirllvm.src/test/CodeGen/AMDGPU/fold_acc_copy_into_valu.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/illegal-sgpr-to-vgpr-copy.llllvm.src/test/CodeGen/AMDGPU/illegal-sgpr-to-vgpr-copy.ll
Revision 373543 by dsanders:
[gicombiner] Fix a nullptr dereference when -combiners is given a name that isn't defined

This is unlikely to be the root cause for the windows bot failures but
it would explain the stack trace seen.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/TableGen/GICombinerEmitter.cppllvm.src/utils/TableGen/GICombinerEmitter.cpp
Revision 373542 by lebedevri:
[InstCombine] Bypass high bit extract before variable sign-extension (PR43523)

https://rise4fun.com/Alive/8BY - valid for lshr+trunc+variable sext
https://rise4fun.com/Alive/7jk - the variable sext can be redundant

https://rise4fun.com/Alive/Qslu - 'exact'-ness of first shift can be preserver

https://rise4fun.com/Alive/IF63 - without trunc we could view this as
                                  more general "drop redundant mask before right-shift",
                                  but let's handle it here for now
https://rise4fun.com/Alive/iip - likewise, without trunc, variable sext can be redundant.

There's more patterns for sure - e.g. we can have 'lshr' as the final shift,
but that might be best handled by some more generic transform, e.g.
"drop redundant masking before right-shift" (PR42456)

I'm singling-out this sext patch because you can only extract
high bits with `*shr` (unlike abstract bit masking),
and i *know* this fold is wanted by existing code.

I don't believe there is much to review here,
so i'm gonna opt into post-review mode here.

https://bugs.llvm.org/show_bug.cgi?id=43523
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineInternal.hllvm.src/lib/Transforms/InstCombine/InstCombineInternal.h
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineShifts.cppllvm.src/lib/Transforms/InstCombine/InstCombineShifts.cpp
The file was modified/llvm/trunk/test/Transforms/InstCombine/variable-signext-of-variable-high-bit-extraction.llllvm.src/test/Transforms/InstCombine/variable-signext-of-variable-high-bit-extraction.ll
Revision 373541 by lebedevri:
[NFC][InstCombine] Add tests for 'variable sext of variable high bit extract' pattern (PR43523)

https://bugs.llvm.org/show_bug.cgi?id=43523
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Transforms/InstCombine/variable-signext-of-variable-high-bit-extraction.llllvm.src/test/Transforms/InstCombine/variable-signext-of-variable-high-bit-extraction.ll
Revision 373540 by dblaikie:
DebugInfo: Rename DebugLocStream::Entry::Begin/EndSym to just Begin/End

Brings this struct in line with the RangeSpan class so they might
eventually be used by common template code for generating range/loc
lists with less duplicate code.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/DebugLocStream.hllvm.src/lib/CodeGen/AsmPrinter/DebugLocStream.h
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cppllvm.src/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Revision 373539 by morehouse:
Move SanitizerInitializeUnwinder outside anonymous namespace.

Fixes the Android build breakage introduced in r373528.
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cppcompiler-rt.src/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cpp
Revision 373538 by zer0:
[clang][ifs] Clang Interface Stubs ToolChain plumbing.

This patch enables end to end support for generating ELF interface stubs
directly from clang. Now the following:

clang -emit-interface-stubs -o libfoo.so a.cpp b.cpp c.cpp

will product an ELF binary with visible symbols populated. Visibility attributes
and -fvisibility can be used to control what gets populated.

* Adding ToolChain support for clang Driver IFS Merge Phase
* Implementing a default InterfaceStubs Merge clang Tool, used by ToolChain
* Adds support for the clang Driver to involve llvm-ifs on ifs files.
* Adds -emit-merged-ifs flag, to tell llvm-ifs to emit a merged ifs text file
  instead of the final object format (normally ELF)


Differential Revision: https://reviews.llvm.org/D63978
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Driver/Action.hclang.src/include/clang/Driver/Action.h
The file was modified/cfe/trunk/include/clang/Driver/Options.tdclang.src/include/clang/Driver/Options.td
The file was modified/cfe/trunk/include/clang/Driver/Phases.hclang.src/include/clang/Driver/Phases.h
The file was modified/cfe/trunk/include/clang/Driver/ToolChain.hclang.src/include/clang/Driver/ToolChain.h
The file was modified/cfe/trunk/include/clang/Driver/Types.defclang.src/include/clang/Driver/Types.def
The file was modified/cfe/trunk/lib/Driver/Action.cppclang.src/lib/Driver/Action.cpp
The file was modified/cfe/trunk/lib/Driver/CMakeLists.txtclang.src/lib/Driver/CMakeLists.txt
The file was modified/cfe/trunk/lib/Driver/Driver.cppclang.src/lib/Driver/Driver.cpp
The file was modified/cfe/trunk/lib/Driver/Phases.cppclang.src/lib/Driver/Phases.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChain.cppclang.src/lib/Driver/ToolChain.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/Clang.cppclang.src/lib/Driver/ToolChains/Clang.cpp
The file was added/cfe/trunk/lib/Driver/ToolChains/InterfaceStubs.cppclang.src/lib/Driver/ToolChains/InterfaceStubs.cpp
The file was added/cfe/trunk/lib/Driver/ToolChains/InterfaceStubs.hclang.src/lib/Driver/ToolChains/InterfaceStubs.h
The file was modified/cfe/trunk/lib/Driver/Types.cppclang.src/lib/Driver/Types.cpp
The file was modified/cfe/trunk/lib/Frontend/CompilerInvocation.cppclang.src/lib/Frontend/CompilerInvocation.cpp
The file was modified/cfe/trunk/test/InterfaceStubs/bad-format.cppclang.src/test/InterfaceStubs/bad-format.cpp
The file was modified/cfe/trunk/test/InterfaceStubs/class-template-specialization.cppclang.src/test/InterfaceStubs/class-template-specialization.cpp
The file was added/cfe/trunk/test/InterfaceStubs/conflict-type.ifsclang.src/test/InterfaceStubs/conflict-type.ifs
The file was added/cfe/trunk/test/InterfaceStubs/driver-test.cclang.src/test/InterfaceStubs/driver-test.c
The file was modified/cfe/trunk/test/InterfaceStubs/externstatic.cclang.src/test/InterfaceStubs/externstatic.c
The file was added/cfe/trunk/test/InterfaceStubs/func.ifsclang.src/test/InterfaceStubs/func.ifs
The file was modified/cfe/trunk/test/InterfaceStubs/function-template-specialization.cppclang.src/test/InterfaceStubs/function-template-specialization.cpp
The file was modified/cfe/trunk/test/InterfaceStubs/inline.cclang.src/test/InterfaceStubs/inline.c
The file was added/cfe/trunk/test/InterfaceStubs/merge-conflict-test.cclang.src/test/InterfaceStubs/merge-conflict-test.c
The file was added/cfe/trunk/test/InterfaceStubs/object-double.cclang.src/test/InterfaceStubs/object-double.c
The file was added/cfe/trunk/test/InterfaceStubs/object-float.cclang.src/test/InterfaceStubs/object-float.c
The file was added/cfe/trunk/test/InterfaceStubs/object.cclang.src/test/InterfaceStubs/object.c
The file was added/cfe/trunk/test/InterfaceStubs/object.ifsclang.src/test/InterfaceStubs/object.ifs
The file was modified/cfe/trunk/test/InterfaceStubs/template-namespace-function.cppclang.src/test/InterfaceStubs/template-namespace-function.cpp
The file was modified/cfe/trunk/test/InterfaceStubs/weak.cppclang.src/test/InterfaceStubs/weak.cpp
The file was modified/cfe/trunk/test/lit.cfg.pyclang.src/test/lit.cfg.py
Revision 373537 by xbolva00:
[InstCombine] Transform bcopy to memmove

bcopy is still widely used mainly for network apps. Sadly, LLVM has no optimizations for bcopy, but there are some for memmove.
Since bcopy == memmove, it is profitable to transform bcopy to memmove and use current optimizations for memmove for free here.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/Utils/SimplifyLibCalls.hllvm.src/include/llvm/Transforms/Utils/SimplifyLibCalls.h
The file was modified/llvm/trunk/lib/Transforms/Utils/SimplifyLibCalls.cppllvm.src/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was added/llvm/trunk/test/Transforms/InstCombine/bcopy.llllvm.src/test/Transforms/InstCombine/bcopy.ll
Revision 373536 by ctopper:
[X86] Add test cases for suboptimal vselect+setcc splitting.

If the vselect result type needs to be split, it will try to
also try to split the condition if it happens to be a setcc.

With avx512 where k-registers are legal, its probably better
to just use a kshift to split the mask register.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-vselect.llllvm.src/test/CodeGen/X86/avx512-vselect.ll
The file was modified/llvm/trunk/test/CodeGen/X86/min-legal-vector-width.llllvm.src/test/CodeGen/X86/min-legal-vector-width.ll
Revision 373535 by ctopper:
[LegalizeTypes] Check for already split condition before calilng SplitVecRes_SETCC in SplitRes_SELECT.

No point in manually splitting the SETCC if it was already done.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cppllvm.src/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
Revision 373534 by nico:
gn build: (manually) merge r373527
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gnllvm.src/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/utils/TableGen/BUILD.gnllvm.src/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
Revision 373533 by dblaikie:
DebugInfo: Simplify RangeSpan to be a plain struct

This is an effort to make RangeSpan and DebugLocStream::Entry more
similar to share code for their emission (to reuse the more complicated
code for using (& choosing when to use) base address selection entries,
etc).

It didn't seem like this struct was worth the complexity of
encapsulation - when the members could be initialized by the ctor to any
value (no validation) and the type is assignable (so there's no
mutability or other constraint being implemented by its interface).
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cppllvm.src/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cppllvm.src/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfFile.hllvm.src/lib/CodeGen/AsmPrinter/DwarfFile.h
Revision 373532 by morehouse:
[sanitizer_common] Declare __sanitizer_on_print in Windows interception.

Speculative fix for Windows bot.
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_win_weak_interception.cppcompiler-rt.src/lib/sanitizer_common/sanitizer_win_weak_interception.cpp
Revision 373531 by morehouse:
[sanitizer_common] Disable onprint.cpp on Android.

The test fails to find the written file on Android.
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/test/sanitizer_common/TestCases/onprint.cppcompiler-rt.src/test/sanitizer_common/TestCases/onprint.cpp
Revision 373530 by morehouse:
[sanitizer_common] Add __sanitizer_on_print to interface list.

Should fix the current Windows buildbot failure.
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interface.inccompiler-rt.src/lib/sanitizer_common/sanitizer_common_interface.inc
Revision 373529 by Vitaly Buka:
[compiler-rt] Use GetNextInstructionPc in signal handlers

Summary:
All other stack trace callers assume that PC contains return address.
HWAsan already use GetNextInstructionPc in similar code.

PR43339

Reviewers: eugenis, kcc, jfb

Subscribers: dexonsmith, dberris, #sanitizers, llvm-commits

Tags: #sanitizers, #llvm

Differential Revision: https://reviews.llvm.org/D68313
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/asan/asan_errors.cppcompiler-rt.src/lib/asan/asan_errors.cpp
The file was modified/compiler-rt/trunk/lib/lsan/lsan.cppcompiler-rt.src/lib/lsan/lsan.cpp
The file was modified/compiler-rt/trunk/lib/msan/msan.cppcompiler-rt.src/lib/msan/msan.cpp
The file was modified/compiler-rt/trunk/lib/tsan/rtl/tsan_rtl.cppcompiler-rt.src/lib/tsan/rtl/tsan_rtl.cpp
The file was modified/compiler-rt/trunk/lib/ubsan/ubsan_signals_standalone.cppcompiler-rt.src/lib/ubsan/ubsan_signals_standalone.cpp
The file was added/compiler-rt/trunk/test/sanitizer_common/TestCases/Linux/signal_line.cppcompiler-rt.src/test/sanitizer_common/TestCases/Linux/signal_line.cpp
Revision 373528 by Vitaly Buka:
NFC: add namespace {}
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cppcompiler-rt.src/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cpp
Revision 373527 by dsanders:
[gicombiner] Add the boring boilerplate for the declarative combiner

Summary:
This is the first of a series of patches extracted from a much bigger WIP
patch. It merely establishes the tblgen pass and the way empty combiner
helpers are declared and integrated into a combiner info.

The tablegen pass takes a -combiners option to select the combiner helper
that will be generated. This can be given multiple values to generate
multiple combiner helpers at once. Doing so helps to minimize parsing
overhead.

The reason for creating a GlobalISel subdirectory in utils/TableGen is that
there will be quite a lot of non-pass files (~15) by the time the patch
series is done.

Reviewers: volkan

Subscribers: mgorny, hiraditya, simoncook, Petar.Avramovic, s.egerton, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68286
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/include/llvm/Target/GlobalISel/Combine.tdllvm.src/include/llvm/Target/GlobalISel/Combine.td
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64.tdllvm.src/lib/Target/AArch64/AArch64.td
The file was added/llvm/trunk/lib/Target/AArch64/AArch64Combine.tdllvm.src/lib/Target/AArch64/AArch64Combine.td
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64PreLegalizerCombiner.cppllvm.src/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/CMakeLists.txtllvm.src/lib/Target/AArch64/CMakeLists.txt
The file was modified/llvm/trunk/utils/TableGen/CMakeLists.txtllvm.src/utils/TableGen/CMakeLists.txt
The file was added/llvm/trunk/utils/TableGen/GICombinerEmitter.cppllvm.src/utils/TableGen/GICombinerEmitter.cpp
The file was modified/llvm/trunk/utils/TableGen/TableGen.cppllvm.src/utils/TableGen/TableGen.cpp
The file was modified/llvm/trunk/utils/TableGen/TableGenBackends.hllvm.src/utils/TableGen/TableGenBackends.h
Revision 373526 by rksimon:
Fix uninitialized variable warning in CodeGenPGO constructor. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CodeGenPGO.hclang.src/lib/CodeGen/CodeGenPGO.h
Revision 373525 by rksimon:
ItaniumCXXABI - silence static analyzer getAs<RecordType> null dereference warnings. NFCI.

The static analyzer is warning about potential null dereferences, but we should be able to use castAs<RecordType> directly and if not assert will fire for us.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/ItaniumCXXABI.cppclang.src/lib/CodeGen/ItaniumCXXABI.cpp
Revision 373523 by sdmitriev:
[Clang][Driver][NFC] Corrected DeviceActionBuilder methods' comments.

Differential Revision: https://reviews.llvm.org/D68355
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Driver/Driver.cppclang.src/lib/Driver/Driver.cpp
Revision 373522 by fhahn:
Recommit "[GlobalOpt] Pass DTU to removeUnreachableBlocks instead of recomputing."

The cause for the revert should be fixed by r373513 /
a80b6c15425f82521c624ff24c5c0a34cd534d54

This reverts commit 47dbcbd8ec6bf6c0b9cbe5811e81a37cc55e73ef.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/IPO/GlobalOpt.cppllvm.src/lib/Transforms/IPO/GlobalOpt.cpp
Revision 373521 by gkistanova:
Added new builders lldb-s390x-fedora, lldb-ppc64le-fedora.

Patch by Jan Kratochvil.
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/buildbot/osuosl/master/config/builders.pyzorg/buildbot/osuosl/master/config/builders.py
The file was modified/zorg/trunk/buildbot/osuosl/master/config/slaves.pyzorg/buildbot/osuosl/master/config/slaves.py
The file was modified/zorg/trunk/buildbot/osuosl/master/config/status.pyzorg/buildbot/osuosl/master/config/status.py
Revision 373520 by rksimon:
CGObjCMac - silence static analyzer dyn_cast<>/getAs<> null dereference warnings. NFCI.

The static analyzer is warning about potential null dereferences, but we should be able to use cast<>/castAs<> directly and if not assert will fire for us.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGObjCMac.cppclang.src/lib/CodeGen/CGObjCMac.cpp
Revision 373519 by yi-hong.lyu:
[PowerPC] Fix SH field overflow issue

Store rlwinm Rx, Ry, 32, 0, 31 as rlwinm Rx, Ry, 0, 0, 31 and store
rldicl Rx, Ry, 64, 0 as rldicl Rx, Ry, 0, 0. Otherwise SH field is overflow and
fails assertion in assembly printing stage.

Differential Revision: https://reviews.llvm.org/D66991
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.cppllvm.src/lib/Target/PowerPC/PPCInstrInfo.cpp
The file was added/llvm/trunk/test/CodeGen/PowerPC/sh-overflow.mirllvm.src/test/CodeGen/PowerPC/sh-overflow.mir
Revision 373518 by morehouse:
[sanitizer_common] Rename OnPrint to __sanitizer_on_print.

Summary:
https://reviews.llvm.org/D28596 exposed OnPrint in the global namespace,
which can cause collisions with user-defined OnPrint() functions.

Reviewers: vitalybuka, dvyukov

Reviewed By: vitalybuka, dvyukov

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67987
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_printf.cppcompiler-rt.src/lib/sanitizer_common/sanitizer_printf.cpp
The file was added/compiler-rt/trunk/test/sanitizer_common/TestCases/onprint.cppcompiler-rt.src/test/sanitizer_common/TestCases/onprint.cpp
Revision 373517 by Louis Dionne:
[libc++] Use functions instead of global variables to set libc++ build flags

This commit follows the trend of doing things per-target instead of
modifying the C++ flags globally. It does so for visibility-related
flags, other basic build flags and Windows-specific flags.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/CMakeLists.txtlibcxx.src/CMakeLists.txt
The file was modified/libcxx/trunk/src/CMakeLists.txtlibcxx.src/src/CMakeLists.txt
Revision 373516 by dsanders:
Fix inconsistent indentation in TableGen.cpp

The anonymous namespace starts out (incorrectly) indented but isn't
indented from the TimeRegionsOpt declaration onwards.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/TableGen/TableGen.cppllvm.src/utils/TableGen/TableGen.cpp
Revision 373515 by eugenis:
Handle llvm.launder.invariant.group in msan.

Summary:
[MSan] handle llvm.launder.invariant.group

    Msan used to give false-positives in

    class Foo {
     public:
      virtual ~Foo() {};
    };

    // Return true iff *x is set.
    bool f1(void **x, bool flag);

    Foo* f() {
      void *p;
      bool found;
      found = f1(&p,flag);
      if (found) {
        // p is always set here.
        return static_cast<Foo*>(p); // False positive here.
      }
      return nullptr;
    }

Patch by Ilya Tokar.

Reviewers: #sanitizers, eugenis

Reviewed By: #sanitizers, eugenis

Subscribers: eugenis, Prazek, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68236
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/MemorySanitizer.cppllvm.src/lib/Transforms/Instrumentation/MemorySanitizer.cpp
The file was added/llvm/trunk/test/Instrumentation/MemorySanitizer/msan_llvm_launder_invariant.llllvm.src/test/Instrumentation/MemorySanitizer/msan_llvm_launder_invariant.ll
The file was added/llvm/trunk/test/Instrumentation/MemorySanitizer/msan_llvm_strip_invariant.llllvm.src/test/Instrumentation/MemorySanitizer/msan_llvm_strip_invariant.ll
Revision 373514 by evandro:
[TableGen] Improve error reporting of overlapping definitions (NFC)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/TableGen/CodeGenSchedule.cppllvm.src/utils/TableGen/CodeGenSchedule.cpp
Revision 373513 by fhahn:
[Local] Handle terminators with users in removeUnreachableBlocks.

Terminators like invoke can have users outside the current basic block.
We have to replace those users with undef, before replacing the
terminator.

This fixes a crash exposed by rL373430.

Reviewers: brzycki, asbirlea, davide, spatel

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D68327
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/Local.cppllvm.src/lib/Transforms/Utils/Local.cpp
The file was modified/llvm/trunk/unittests/Transforms/Utils/LocalTest.cppllvm.src/unittests/Transforms/Utils/LocalTest.cpp
Revision 373511 by Louis Dionne:
[libc++] Use a function to set warning flags per target

This is part of a larger shift to move to per-target settings and
eradicate global variables from the CMake build. I'm starting small
with warnings only because those are easy to transition over and I
want to see how it pans out, but we can handle all flags like exceptions
and RTTI in the future.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/CMakeLists.txtlibcxx.src/CMakeLists.txt
The file was modified/libcxx/trunk/src/CMakeLists.txtlibcxx.src/src/CMakeLists.txt
Revision 373506 by Louis Dionne:
[libc++] Revert to using PUBLIC instead of PRIVATE when linking system libs

It turns out the benchmarks need to link against those libraries
explicitly too, so CMake's propagation of PUBLIC dependencies is
used.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/src/CMakeLists.txtlibcxx.src/src/CMakeLists.txt
Revision 373505 by asbirlea:
[MemorySSA] Update Phi creation when inserting a Def.

MemoryPhis should be added in the IDF of the blocks newly gaining Defs.
This includes the blocks that gained a Phi and the block gaining a Def,
if the block did not have one before.
Resolves PR43427.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/MemorySSAUpdater.cppllvm.src/lib/Analysis/MemorySSAUpdater.cpp
The file was added/llvm/trunk/test/Analysis/MemorySSA/pr43427.llllvm.src/test/Analysis/MemorySSA/pr43427.ll
Revision 373504 by d0k:
[Stencil] Hide implementaion detai. NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Tooling/Refactoring/Stencil.cppclang.src/lib/Tooling/Refactoring/Stencil.cpp
Revision 373503 by d0k:
[ARM] Make helpers static. NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMISelLowering.cppllvm.src/lib/Target/ARM/ARMISelLowering.cpp
Revision 373502 by abataev:
[OPENMP50]Add parsing/sema analysis for declare variant score.

Context selectors may include optional score clause in format
`score(<expr>):`, where `<expr>` must be a constant integer expression.
Added parsing/sema analysis only.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/Attr.tdclang.src/include/clang/Basic/Attr.td
The file was modified/cfe/trunk/include/clang/Sema/Sema.hclang.src/include/clang/Sema/Sema.h
The file was modified/cfe/trunk/lib/Parse/ParseOpenMP.cppclang.src/lib/Parse/ParseOpenMP.cpp
The file was modified/cfe/trunk/lib/Sema/SemaOpenMP.cppclang.src/lib/Sema/SemaOpenMP.cpp
The file was modified/cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cppclang.src/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modified/cfe/trunk/test/OpenMP/declare_variant_ast_print.cclang.src/test/OpenMP/declare_variant_ast_print.c
The file was modified/cfe/trunk/test/OpenMP/declare_variant_ast_print.cppclang.src/test/OpenMP/declare_variant_ast_print.cpp
The file was modified/cfe/trunk/test/OpenMP/declare_variant_messages.cclang.src/test/OpenMP/declare_variant_messages.c
The file was modified/cfe/trunk/test/OpenMP/declare_variant_messages.cppclang.src/test/OpenMP/declare_variant_messages.cpp
Revision 373495 by ctopper:
[X86] Rewrite to the vXi1 subvector insertion code to not rely on the value of bits that might be undef

The previous code tried to do a trick where we would extract the subvector from the location we were inserting. Then xor that with the new value. Take the xored value and clear out the bits above the subvector size. Then shift that xored subvector to the insert location. And finally xor that with the original vector. Since the old subvector was used in both xors, this would leave just the new subvector at the inserted location. Since the surrounding bits had been zeroed no other bits of the original vector would be modified.

Unfortunately, if the old subvector came from undef we might aggressively propagate the undef. Then we end up with the XORs not cancelling because they aren't using the same value for the two uses of the old subvector. @bkramer gave me a case that demonstrated this, but we haven't reduced it enough to make it easily readable to see what's happening.

This patch uses a safer, but more costly approach. It isolate the bits above the insertion and bits below the insert point and ORs those together leaving 0 for the insertion location. Then widens the subvector with 0s in the upper bits, shifts it into position with 0s in the lower bits. Then we do another OR.

Differential Revision: https://reviews.llvm.org/D68311
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cppllvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-calling-conv.llllvm.src/test/CodeGen/X86/avx512-calling-conv.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-ext.llllvm.src/test/CodeGen/X86/avx512-ext.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-insert-extract.llllvm.src/test/CodeGen/X86/avx512-insert-extract.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-mask-op.llllvm.src/test/CodeGen/X86/avx512-mask-op.ll
The file was modified/llvm/trunk/test/CodeGen/X86/masked_store.llllvm.src/test/CodeGen/X86/masked_store.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vec_smulo.llllvm.src/test/CodeGen/X86/vec_smulo.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vec_umulo.llllvm.src/test/CodeGen/X86/vec_umulo.ll
Revision 373494 by hiraditya:
Fix: Actually erase remove the elements from AssumeHandles

Reviewers: sdmitriev, tejohnson

Reviewed by: tejohnson

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68318
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/AssumptionCache.cppllvm.src/lib/Analysis/AssumptionCache.cpp
Revision 373493 by tlively:
[WebAssembly] Error when using wasm64 for ISel

Summary:
64-bit WebAssembly (wasm64) is not specified and not supported in the
WebAssembly backend. We do have support for it in clang, however, and
we would like to keep that support because we expect wasm64 to be
specified and supported in the future. For now add an error when
trying to use wasm64 from the backend to minimize user confusion from
unexplained crashes.

Reviewers: aheejin, dschuff, sunfish

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

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68254
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cppllvm.src/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
The file was modified/llvm/trunk/test/CodeGen/WebAssembly/cpus.llllvm.src/test/CodeGen/WebAssembly/cpus.ll
Revision 373492 by gnsyncbot:
gn build: Merge r373489
Change TypePath in RepositoryPath in Workspace
The file was modified/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
Revision 373491 by Piotr Sobczak:
[AMDGPU] Extend buffer intrinsics with swizzling

Summary:
Extend cachepolicy operand in the new VMEM buffer intrinsics
to supply information whether the buffer data is swizzled.
Also, propagate this information to MIR.

Intrinsics updated:
int_amdgcn_raw_buffer_load
int_amdgcn_raw_buffer_load_format
int_amdgcn_raw_buffer_store
int_amdgcn_raw_buffer_store_format
int_amdgcn_raw_tbuffer_load
int_amdgcn_raw_tbuffer_store
int_amdgcn_struct_buffer_load
int_amdgcn_struct_buffer_load_format
int_amdgcn_struct_buffer_store
int_amdgcn_struct_buffer_store_format
int_amdgcn_struct_tbuffer_load
int_amdgcn_struct_tbuffer_store

Furthermore, disable merging of VMEM buffer instructions
in SI Load/Store optimizer, if the "swizzled" bit on the instruction
is on.

The default value of the bit is 0, meaning that data in buffer
is linear and buffer instructions can be merged.

There is no difference in the generated code with this commit.
However, in the future it will be expected that front-ends
use buffer intrinsics with correct "swizzled" bit set.

Reviewers: arsenm, nhaehnle, tpr

Reviewed By: nhaehnle

Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, arphaman, jfb, Petar.Avramovic, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68200
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/IntrinsicsAMDGPU.tdllvm.src/include/llvm/IR/IntrinsicsAMDGPU.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cppllvm.src/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUInstructionSelector.cppllvm.src/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cppllvm.src/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/BUFInstructions.tdllvm.src/lib/Target/AMDGPU/BUFInstructions.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cppllvm.src/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.hllvm.src/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIFrameLowering.cppllvm.src/lib/Target/AMDGPU/SIFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cppllvm.src/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.cppllvm.src/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.tdllvm.src/lib/Target/AMDGPU/SIInstrInfo.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/SILoadStoreOptimizer.cppllvm.src/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIRegisterInfo.cppllvm.src/lib/Target/AMDGPU/SIRegisterInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cppllvm.src/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.hllvm.src/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-private.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-private.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-store-private.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-store-private.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.format.f16.llllvm.src/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.format.f16.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.format.f32.llllvm.src/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.format.f32.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.llllvm.src/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/break-vmem-soft-clauses.mirllvm.src/test/CodeGen/AMDGPU/break-vmem-soft-clauses.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/clamp-omod-special-case.mirllvm.src/test/CodeGen/AMDGPU/clamp-omod-special-case.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/coalescer-extend-pruned-subrange.mirllvm.src/test/CodeGen/AMDGPU/coalescer-extend-pruned-subrange.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/coalescer-subranges-another-copymi-not-live.mirllvm.src/test/CodeGen/AMDGPU/coalescer-subranges-another-copymi-not-live.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/coalescer-subranges-another-prune-error.mirllvm.src/test/CodeGen/AMDGPU/coalescer-subranges-another-prune-error.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/coalescer-subregjoin-fullcopy.mirllvm.src/test/CodeGen/AMDGPU/coalescer-subregjoin-fullcopy.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/coalescer-with-subregs-bad-identical.mirllvm.src/test/CodeGen/AMDGPU/coalescer-with-subregs-bad-identical.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/collapse-endcf.mirllvm.src/test/CodeGen/AMDGPU/collapse-endcf.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/collapse-endcf2.mirllvm.src/test/CodeGen/AMDGPU/collapse-endcf2.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mirllvm.src/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/couldnt-join-subrange-3.mirllvm.src/test/CodeGen/AMDGPU/couldnt-join-subrange-3.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/extract_subvector_vec4_vec3.llllvm.src/test/CodeGen/AMDGPU/extract_subvector_vec4_vec3.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/fold-fi-mubuf.mirllvm.src/test/CodeGen/AMDGPU/fold-fi-mubuf.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/fold-imm-copy.mirllvm.src/test/CodeGen/AMDGPU/fold-imm-copy.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/fold-imm-f16-f32.mirllvm.src/test/CodeGen/AMDGPU/fold-imm-f16-f32.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/fold-immediate-output-mods.mirllvm.src/test/CodeGen/AMDGPU/fold-immediate-output-mods.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/fold-multiple.mirllvm.src/test/CodeGen/AMDGPU/fold-multiple.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/hazard-buffer-store-v-interp.mirllvm.src/test/CodeGen/AMDGPU/hazard-buffer-store-v-interp.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/hazard-hidden-bundle.mirllvm.src/test/CodeGen/AMDGPU/hazard-hidden-bundle.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/indirect-addressing-term.llllvm.src/test/CodeGen/AMDGPU/indirect-addressing-term.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/insert-skips-flat-vmem.mirllvm.src/test/CodeGen/AMDGPU/insert-skips-flat-vmem.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/insert-waitcnts-exp.mirllvm.src/test/CodeGen/AMDGPU/insert-waitcnts-exp.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/inserted-wait-states.mirllvm.src/test/CodeGen/AMDGPU/inserted-wait-states.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/invert-br-undef-vcc.mirllvm.src/test/CodeGen/AMDGPU/invert-br-undef-vcc.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/lds-branch-vmem-hazard.mirllvm.src/test/CodeGen/AMDGPU/lds-branch-vmem-hazard.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.llllvm.src/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.store.llllvm.src/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.store.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/memory-legalizer-atomic-insert-end.mirllvm.src/test/CodeGen/AMDGPU/memory-legalizer-atomic-insert-end.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/memory-legalizer-multiple-mem-operands-atomics.mirllvm.src/test/CodeGen/AMDGPU/memory-legalizer-multiple-mem-operands-atomics.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/memory-legalizer-multiple-mem-operands-nontemporal-1.mirllvm.src/test/CodeGen/AMDGPU/memory-legalizer-multiple-mem-operands-nontemporal-1.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/memory-legalizer-multiple-mem-operands-nontemporal-2.mirllvm.src/test/CodeGen/AMDGPU/memory-legalizer-multiple-mem-operands-nontemporal-2.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/memory_clause.mirllvm.src/test/CodeGen/AMDGPU/memory_clause.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/merge-load-store.mirllvm.src/test/CodeGen/AMDGPU/merge-load-store.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/mubuf-legalize-operands.mirllvm.src/test/CodeGen/AMDGPU/mubuf-legalize-operands.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/nsa-vmem-hazard.mirllvm.src/test/CodeGen/AMDGPU/nsa-vmem-hazard.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mirllvm.src/test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/optimize-if-exec-masking.mirllvm.src/test/CodeGen/AMDGPU/optimize-if-exec-masking.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/pei-reg-scavenger-position.mirllvm.src/test/CodeGen/AMDGPU/pei-reg-scavenger-position.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/phi-elimination-end-cf.mirllvm.src/test/CodeGen/AMDGPU/phi-elimination-end-cf.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/power-sched-no-instr-sunit.mirllvm.src/test/CodeGen/AMDGPU/power-sched-no-instr-sunit.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/regcoal-subrange-join-seg.mirllvm.src/test/CodeGen/AMDGPU/regcoal-subrange-join-seg.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/regcoalesce-dbg.mirllvm.src/test/CodeGen/AMDGPU/regcoalesce-dbg.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/rename-independent-subregs-mac-operands.mirllvm.src/test/CodeGen/AMDGPU/rename-independent-subregs-mac-operands.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/sched-assert-dead-def-subreg-use-other-subreg.mirllvm.src/test/CodeGen/AMDGPU/sched-assert-dead-def-subreg-use-other-subreg.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/sched-crash-dbg-value.mirllvm.src/test/CodeGen/AMDGPU/sched-crash-dbg-value.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/schedule-barrier.mirllvm.src/test/CodeGen/AMDGPU/schedule-barrier.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/shrink-vop3-carry-out.mirllvm.src/test/CodeGen/AMDGPU/shrink-vop3-carry-out.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/vccz-corrupt-bug-workaround.mirllvm.src/test/CodeGen/AMDGPU/vccz-corrupt-bug-workaround.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/vmem-to-salu-hazard.mirllvm.src/test/CodeGen/AMDGPU/vmem-to-salu-hazard.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/vmem-vcc-hazard.mirllvm.src/test/CodeGen/AMDGPU/vmem-vcc-hazard.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/waitcnt-loop-irreducible.mirllvm.src/test/CodeGen/AMDGPU/waitcnt-loop-irreducible.mir
The file was modified/llvm/trunk/test/CodeGen/MIR/AMDGPU/expected-target-index-name.mirllvm.src/test/CodeGen/MIR/AMDGPU/expected-target-index-name.mir
The file was modified/llvm/trunk/test/CodeGen/MIR/AMDGPU/invalid-target-index-operand.mirllvm.src/test/CodeGen/MIR/AMDGPU/invalid-target-index-operand.mir
The file was modified/llvm/trunk/test/CodeGen/MIR/AMDGPU/load-store-opt-dlc.mirllvm.src/test/CodeGen/MIR/AMDGPU/load-store-opt-dlc.mir
The file was modified/llvm/trunk/test/CodeGen/MIR/AMDGPU/mir-canon-multi.mirllvm.src/test/CodeGen/MIR/AMDGPU/mir-canon-multi.mir
The file was modified/llvm/trunk/test/CodeGen/MIR/AMDGPU/parse-order-reserved-regs.mirllvm.src/test/CodeGen/MIR/AMDGPU/parse-order-reserved-regs.mir
The file was modified/llvm/trunk/test/CodeGen/MIR/AMDGPU/target-index-operands.mirllvm.src/test/CodeGen/MIR/AMDGPU/target-index-operands.mir
Revision 373490 by Jonas Devlieghere:
[LLDB] Send e-mails to the default recipients
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/zorg/jenkins/jobs/jobs/lldb-cmakezorg/zorg/jenkins/jobs/jobs/lldb-cmake
Revision 373489 by aaronballman:
Add the misc-init-local-variables check.

This checks finds all primitive type local variables (integers, doubles, pointers) that are declared without an initial value. Includes fixit functionality to initialize said variables with a default value. This is zero for most types and NaN for floating point types. The use of NaNs is copied from the D programming language.

Patch by Jussi Pakkanen.
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clang-tidy/cppcoreguidelines/CMakeLists.txtclang-tools-extra.src/clang-tidy/cppcoreguidelines/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cppclang-tools-extra.src/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
The file was added/clang-tools-extra/trunk/clang-tidy/cppcoreguidelines/InitVariablesCheck.cppclang-tools-extra.src/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
The file was added/clang-tools-extra/trunk/clang-tidy/cppcoreguidelines/InitVariablesCheck.hclang-tools-extra.src/clang-tidy/cppcoreguidelines/InitVariablesCheck.h
The file was modified/clang-tools-extra/trunk/docs/ReleaseNotes.rstclang-tools-extra.src/docs/ReleaseNotes.rst
The file was added/clang-tools-extra/trunk/docs/clang-tidy/checks/cppcoreguidelines-init-variables.rstclang-tools-extra.src/docs/clang-tidy/checks/cppcoreguidelines-init-variables.rst
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/list.rstclang-tools-extra.src/docs/clang-tidy/checks/list.rst
The file was added/clang-tools-extra/trunk/test/clang-tidy/cppcoreguidelines-init-variables.cppclang-tools-extra.src/test/clang-tidy/cppcoreguidelines-init-variables.cpp
Revision 373488 by fhahn:
[Local] Remove unused LazyValueInfo pointer from removeUnreachableBlock.

There are no users that pass in LazyValueInfo, so we can simplify the
function a bit.

Reviewers: brzycki, asbirlea, davide

Reviewed By: davide

Differential Revision: https://reviews.llvm.org/D68297
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/Utils/Local.hllvm.src/include/llvm/Transforms/Utils/Local.h
The file was modified/llvm/trunk/lib/Transforms/Scalar/RewriteStatepointsForGC.cppllvm.src/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/Local.cppllvm.src/lib/Transforms/Utils/Local.cpp
The file was modified/llvm/trunk/unittests/Transforms/Utils/LocalTest.cppllvm.src/unittests/Transforms/Utils/LocalTest.cpp
Revision 373487 by Louis Dionne:
[libc++] Use PRIVATE instead of PUBLIC when linking against system libs
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/src/CMakeLists.txtlibcxx.src/src/CMakeLists.txt
Revision 373485 by tejohnson:
[ThinLTO/WPD] Ensure devirtualized targets use promoted symbol when necessary

Summary:
This fixes a hole in the handling of devirtualized targets that were
local but need promoting due to devirtualization in another module. We
were not correctly referencing the promoted symbol in some cases. Make
sure the code that updates the name also looks at the ExportedGUIDs set
by utilizing a callback that checks all conditions (the callback
utilized by the internalization/promotion code).

Reviewers: pcc, davidxl, hiraditya

Subscribers: mehdi_amini, Prazek, inglorion, steven_wu, dexonsmith, dang, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68159
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/IPO/WholeProgramDevirt.hllvm.src/include/llvm/Transforms/IPO/WholeProgramDevirt.h
The file was modified/llvm/trunk/lib/LTO/LTO.cppllvm.src/lib/LTO/LTO.cpp
The file was modified/llvm/trunk/lib/Transforms/IPO/WholeProgramDevirt.cppllvm.src/lib/Transforms/IPO/WholeProgramDevirt.cpp
The file was added/llvm/trunk/test/ThinLTO/X86/Inputs/devirt_promote.llllvm.src/test/ThinLTO/X86/Inputs/devirt_promote.ll
The file was added/llvm/trunk/test/ThinLTO/X86/devirt_promote.llllvm.src/test/ThinLTO/X86/devirt_promote.ll