SuccessChanges

Summary

  1. Headers: fix _Unwind_{G,S}etGR for non-EHABI targets The EHABI definition was being inlined into the users even when EHABI was not in use. Adjust the condition to ensure that the right version is defined.
  2. [X86] Don't lie about legality to TLI's demanded bits. Like r309323, X86 had a typo where it passed the wrong flags to TLO. Found by inspection; I haven't been able to tickle this into having observable behavior. I don't think it does, given that X86 doesn't have custom demanded bits logic, and the generic logic doesn't have a lot of exposure to illegal constructs.
  3. [AArch64] Remove outdated comment. NFC. There hasn't been a ternary since r231987.
  4. [AArch64] Fix legality info passed to demanded bits for TBI opt. The (seldom-used) TBI-aware optimization had a typo lying dormant since it was first introduced, in r252573: when asking for demanded bits, it told TLI that it was running after legalize, where the opposite was true. This is an important piece of information, that the demanded bits analysis uses to make assumptions about the node. r301019 added such an assumption, which was broken by the TBI combine. Instead, pass the correct flags to TLO.
  5. [libcxx] [test] Remove an unused local typedef in enable_shared_from_this.pass.cpp. Trivial change, committed without review.
  6. [OCaml] Fix undefined reference to LLVMDumpType() with NDEBUG Account for the possibility of LLVMDumpType() not being available with NDEBUG in the OCaml bindings. If it is not built into LLVM, make the dump function raise an exception. Since rL293359, the dump functions are built only if either NDEBUG is not defined, or LLVM_ENABLE_DUMP is defined. As a result, if the dump functions are not built in LLVM, the dynamic OCaml libraries fail to load due to undefined LLVMDumpType symbol. Differential Revision: https://reviews.llvm.org/D35899
  7. [OCaml] Respect CMAKE_C_FLAGS for OCaml C files Pass the values of CMAKE_C_FLAGS and CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE} as -ccopt to ocamlc. This enforces the specific flags used for the LLVM build to be used for OCaml bindings as well, notably -O and -march flags. This also solves the issue of the user being unable to force specific flags for OCaml bindings builds. Gentoo needs this to enforce -DNDEBUG consistently between the LLVM build and the split OCaml bindings build. Differential Revision: https://reviews.llvm.org/D35898
  8. Revert "[sanitizers] Sanitizer tests CMake clean up" This reverts commit 0ab44db2aa1cd3710355ad79b04f954ce68c0b3a. Fails on some bots, reverting until I can fix it.
  9. Add test to reject merging of empty manifest. Reviewers: ruiu, rnk Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D35954
  10. [ARM] Add use-misched feature, to enable the MachineScheduler. Summary: This change makes it easier to experiment with the MachineScheduler in the ARM backend and also makes it very explicit which CPUs use the MachineScheduler (currently only swift and cyclone). Reviewers: MatzeB, t.p.northover, javed.absar Reviewed By: MatzeB Subscribers: aemerson, kristof.beyls, llvm-commits Differential Revision: https://reviews.llvm.org/D35935
  11. Change prefix in vector-shuffle-combining-avx.patch to reduce test size.
  12. [Headers] Add a test for arm64intr.h This tests the ARM64 specific constants added in SVN r309081, similar to the one added in r277928 for armintr.h. Differential Revision: https://reviews.llvm.org/D35934
  13. [MergeFunctions] Remove alias support. The alias support was dead code since 2011. It was last touched in r124182, where it was reintroduced after being removed in r110434, and since then it was gated behind a HasGlobalAliases flag that was permanently stuck as `false`. It is also broken. I'm not sure if it bitrotted or was just broken in the first place because it appears to have never been tested, but the following IR results in a crash: define internal i32 @a(i32 %a, i32 %b) unnamed_addr { %c = add i32 %a, %b %d = xor i32 %a, %c ret i32 %c } define internal i32 @b(i32 %a, i32 %b) unnamed_addr { %c = add i32 %a, %b %d = xor i32 %a, %c ret i32 %c } It seems safe to remove buggy untested code that no one cared about for seven years. Differential Revision: https://reviews.llvm.org/D34802
  14. [lit] Fix TestRunner unit test on Windows Summary: Normally Python converts all newline characters, Windows or Unix, to Unix newlines when opening a file. However, lit opens files in binary mode, which does not perform this conversion. As a result, trailing Windows newlines are not stripped from test input, which caused a failure in the TestRunner unit test: ``` FAIL: test_custom (__main__.TestIntegratedTestKeywordParser) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\Users\bgesiak\src\llvm\llvm\utils\lit\tests\unit\TestRunner.py", line 109, in test_custom self.assertItemsEqual(value, ['a', 'b', 'c']) AssertionError: Element counts were not equal: First has 1, Second has 0: 'c\r' First has 0, Second has 1: 'c' ``` Fix the discrepancy in behavior across the two platforms by manually stripping Windows newlines before yielding each line in the test file. Reviewers: echristo, beanz, ddunbar, delcypher, rnk Reviewed By: rnk Subscribers: mehdi_amini, llvm-commits Differential Revision: https://reviews.llvm.org/D27746
  15. Un-revert "Teach the CMake build system to run lit's test suite. These can be run" Summary: Depends on https://reviews.llvm.org/D35879. This reverts rL257268, which in turn was a revert of rL257221. https://reviews.llvm.org/D35879 marks the tests in the lit test suite that fail on Windows as XFAIL, which should allow these tests to pass on Windows-based buildbots. Reviewers: delcypher, beanz, mgorny, jroelofs, rnk Reviewed By: mgorny Subscribers: rnk, ddunbar, george.karpenkov, llvm-commits Differential Revision: https://reviews.llvm.org/D35880
  16. [OPENMP] Allow all lvalues in 'depend' clause. According to upcoming OpenMP 5.0 all addressable lvalue expressions are allowed in deoend clause.
  17. Revert r264998 and r265035. r303175 made changes to have __cxa_allocate_exception return a 16-byte aligned pointer, so it's no longer necessary to specify a lower alignment (8-bytes) for exception objects on Darwin. rdar://problem/32363695
  18. Disable the deduction guide test I added in 309296 for the moment, while I figure out which compilers don't support deduction guides
  19. [sanitizers] Sanitizer tests CMake clean up This patch addresses two issues: Most of the time, hacks with `if/else` in order to get support for multi-configuration builds are superfluous. The variable `CMAKE_CFG_INTDIR` was created precisely for this purpose: it expands to `.` on all single-configuration builds, and to a configuration name otherwise. The `if/else` hacks for the library name generation should also not be done, as CMake has `TARGET_FILE` generator expression precisely for this purpose, as it expands to the exact filename of the resulting target. Differential Revision: https://reviews.llvm.org/D35952
  20. [FunctionImport] Prefer isa<> to dyn_cast<> as the value is not used. This change makes GCC7 happy again.
  21. [InstCombine] Simplify pointer difference subtractions (GEP-GEP) where GEPs have other uses and one non-constant index Summary: Pointer difference simplifications currently happen only if input GEPs don't have other uses or their indexes are all constants, to avoid duplicating indexing arithmetic. This patch enables cases with exactly one non-constant index among input GEPs to happen where there is no duplicated arithmetic or code size increase even if input GEPs have other uses. For example, this patch allows "(&A[42][i]-&A[42][0])" --> "i", which didn't happen previously, if the input GEP(s) have other uses. Reviewers: sanjoy, bkramer Reviewed By: sanjoy Subscribers: mcrosier, llvm-commits Differential Revision: https://reviews.llvm.org/D35499
  22. [PDB] Write public symbol records and the publics hash table Summary: MSVC link.exe records all external symbol names in the publics stream. It provides similar functionality to an ELF .symtab. Reviewers: zturner, ruiu Subscribers: hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D35871
  23. [SelectionDAG] Improve DAGTypeLegalizer::convertMask assertion (PR33960) Improve DAGTypeLegalizer::convertMask's isSETCCorConvertedSETCC assertion to properly check for any mixture of SETCC or BUILD_VECTOR of constants, or a logical mask op of them.
  24. [X86] SET0 to use XMM registers where possible PR26018 PR32862 Differential Revision: https://reviews.llvm.org/D35839
  25. Relax the matching in these tests Looks like the template arguments are displayed differently depending on the host compiler(?). E.g.: InnerAnalysisManagerProxy<CGSCCAnalysisManager InnerAnalysisManagerProxy<llvm::AnalysisManager<llvm::LazyCallGraph::SCC, ... Fix fallout after r309294
  26. Implement P0739R0: 'Some improvements to class template argument deduction integration into the standard library' This is an API change (not ABI change) due to a late change in the c++17 standard
  27. [clangd] Don't reverse priorities of completion items. Summary: Current algorithm incorrectly provides completion results in a reverse order. Reviewers: krasimir, bkramer Reviewed By: krasimir Subscribers: cfe-commits, klimek Differential Revision: https://reviews.llvm.org/D35950
  28. [ICP] Migrate to OptimizationRemarkEmitter This is a module pass so for the old PM, we can't use ORE, the function analysis pass. Instead ORE is created on the fly. A few notes: - isPromotionLegal is folded in the caller since we want to emit the Function in the remark but we can only do that if the symbol table look-up succeeded. - There was good test coverage for remarks in this pass. - promoteIndirectCall uses ORE conditionally since it's also used from SampleProfile which does not use ORE yet. Fixes PR33792. Differential Revision: https://reviews.llvm.org/D35929
  29. [OptRemark] Allow streaming of 64-bit integers
  30. [lit] Fix order of checks in shtest-shell.py test Summary: An expectation in `utils/lit/tests/Inputs/shtest-shell/redirects.txt` expects that first a string printed to stdout is seen, and then a string printed to stderr. Add `flush()` calls to ensure that stdout is printed before stderr, as expected. Reviewers: rnk, mgorny, jroelofs Reviewed By: rnk Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D35947
  31. All libcalls should be considered to be GC-leaf functions. Summary: It is possible for some passes to materialize a call to a libcall (ex: ldexp, exp2, etc), but these passes will not mark the call as a gc-leaf-function. All libcalls are actually gc-leaf-functions, so we change llvm::callsGCLeafFunction() to tell us that available libcalls are equivalent to gc-leaf-function calls. Reviewers: sanjoy, anna, reames Reviewed By: anna Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D35840
  32. Update to use enum classes for various ARM *Kind enums Summary: This updates the relevant Clang parts for the LLVM change D35882. Reviewers: rengolin, chandlerc, javed.absar, rovka Reviewed By: rovka Subscribers: aemerson, cfe-commits, kristof.beyls Differential Revision: https://reviews.llvm.org/D35884
  33. Fix double destruction of objects when OpenMP construct is canceled When an omp for loop is canceled the constructed objects are being destructed twice. It looks like the desired code is: { Obj o; If (cancelled) branch-through-cleanups to cancel.exit. } [cleanups] cancel.exit: __kmpc_for_static_fini br cancel.cont (*) cancel.cont: __kmpc_barrier return The problem seems to be the branch to cancel.cont is currently also going through the cleanups calling them again. This change just does a direct branch instead. Patch By: michael.p.rice@intel.com Differential Revision: https://reviews.llvm.org/D35854
  34. [TargetParser] Use enum classes for various ARM kind enums. Summary: Using c++11 enum classes ensures that only valid enum values are used for ArchKind, ProfileKind, VersionKind and ISAKind. This removes the need for checks that the provided values map to a proper enum value, allows us to get rid of AK_LAST and prevents comparing values from different enums. It also removes a bunch of static_cast from unsigned to enum values and vice versa, at the cost of introducing static casts to access AArch64ARCHNames and ARMARCHNames by ArchKind. FPUKind and ArchExtKind are the only remaining old-style enum in TargetParser.h. I think it's beneficial to keep ArchExtKind as old-style enum, but FPUKind can be converted too, but this patch is quite big, so could do this in a follow-up patch. I could also split this patch up a bit, if people would prefer that. Reviewers: rengolin, javed.absar, chandlerc, rovka Reviewed By: rovka Subscribers: aemerson, kristof.beyls, llvm-commits Differential Revision: https://reviews.llvm.org/D35882
  35. [SLP] Outline code for the check that instruction users are part of vectorization tree, NFC.
Revision 309327 by Saleem Abdulrasool:
Headers: fix _Unwind_{G,S}etGR for non-EHABI targets

The EHABI definition was being inlined into the users even when EHABI
was not in use.  Adjust the condition to ensure that the right version
is defined.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Headers/unwind.hclang.src/lib/Headers/unwind.h
Revision 309325 by Ahmed Bougacha:
[X86] Don't lie about legality to TLI's demanded bits.

Like r309323, X86 had a typo where it passed the wrong flags to TLO.

Found by inspection; I haven't been able to tickle this into having
observable behavior.  I don't think it does, given that X86 doesn't have
custom demanded bits logic, and the generic logic doesn't have a lot of
exposure to illegal constructs.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cppllvm.src/lib/Target/X86/X86ISelLowering.cpp
Revision 309324 by Ahmed Bougacha:
[AArch64] Remove outdated comment. NFC.

There hasn't been a ternary since r231987.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64TargetMachine.cppllvm.src/lib/Target/AArch64/AArch64TargetMachine.cpp
Revision 309323 by Ahmed Bougacha:
[AArch64] Fix legality info passed to demanded bits for TBI opt.

The (seldom-used) TBI-aware optimization had a typo lying dormant since
it was first introduced, in r252573:  when asking for demanded bits, it
told TLI that it was running after legalize, where the opposite was
true.

This is an important piece of information, that the demanded bits
analysis uses to make assumptions about the node.  r301019 added such an
assumption, which was broken by the TBI combine.

Instead, pass the correct flags to TLO.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64ISelLowering.cppllvm.src/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/tbi.llllvm.src/test/CodeGen/AArch64/tbi.ll
Revision 309322 by stl_msft:
[libcxx] [test] Remove an unused local typedef in enable_shared_from_this.pass.cpp.

Trivial change, committed without review.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.enab/enable_shared_from_this.pass.cpplibcxx.src/test/std/utilities/memory/util.smartptr/util.smartptr.enab/enable_shared_from_this.pass.cpp
Revision 309321 by mgorny:
[OCaml] Fix undefined reference to LLVMDumpType() with NDEBUG

Account for the possibility of LLVMDumpType() not being available with
NDEBUG in the OCaml bindings. If it is not built into LLVM, make
the dump function raise an exception.

Since rL293359, the dump functions are built only if either NDEBUG is
not defined, or LLVM_ENABLE_DUMP is defined. As a result, if the dump
functions are not built in LLVM, the dynamic OCaml libraries fail to
load due to undefined LLVMDumpType symbol.

Differential Revision: https://reviews.llvm.org/D35899
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/bindings/ocaml/llvm/llvm.mlllvm.src/bindings/ocaml/llvm/llvm.ml
The file was modified/llvm/trunk/bindings/ocaml/llvm/llvm.mlillvm.src/bindings/ocaml/llvm/llvm.mli
The file was modified/llvm/trunk/bindings/ocaml/llvm/llvm_ocaml.cllvm.src/bindings/ocaml/llvm/llvm_ocaml.c
Revision 309320 by mgorny:
[OCaml] Respect CMAKE_C_FLAGS for OCaml C files

Pass the values of CMAKE_C_FLAGS and CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE}
as -ccopt to ocamlc. This enforces the specific flags used for the LLVM
build to be used for OCaml bindings as well, notably -O and -march
flags.

This also solves the issue of the user being unable to force specific
flags for OCaml bindings builds. Gentoo needs this to enforce -DNDEBUG
consistently between the LLVM build and the split OCaml bindings build.

Differential Revision: https://reviews.llvm.org/D35898
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/cmake/modules/AddOCaml.cmakellvm.src/cmake/modules/AddOCaml.cmake
Revision 309318 by George Karpenkov:
Revert "[sanitizers] Sanitizer tests CMake clean up"

This reverts commit 0ab44db2aa1cd3710355ad79b04f954ce68c0b3a.

Fails on some bots, reverting until I can fix it.
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/cmake/Modules/AddCompilerRT.cmakecompiler-rt.src/cmake/Modules/AddCompilerRT.cmake
The file was modified/compiler-rt/trunk/lib/asan/tests/CMakeLists.txtcompiler-rt.src/lib/asan/tests/CMakeLists.txt
The file was modified/compiler-rt/trunk/lib/interception/tests/CMakeLists.txtcompiler-rt.src/lib/interception/tests/CMakeLists.txt
The file was modified/compiler-rt/trunk/lib/sanitizer_common/tests/CMakeLists.txtcompiler-rt.src/lib/sanitizer_common/tests/CMakeLists.txt
Revision 309317 by ecbeckmann:
Add test to reject merging of empty manifest.

Reviewers: ruiu, rnk

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D35954
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/tools/llvm-mt/Inputs/empty.manifestllvm.src/test/tools/llvm-mt/Inputs/empty.manifest
The file was modified/llvm/trunk/test/tools/llvm-mt/xml_error.testllvm.src/test/tools/llvm-mt/xml_error.test
Revision 309316 by fhahn:
[ARM] Add use-misched feature, to enable the MachineScheduler.

Summary:
This change makes it easier to experiment with the MachineScheduler in
the ARM backend and also makes it very explicit which CPUs use the
MachineScheduler (currently only swift and cyclone).



Reviewers: MatzeB, t.p.northover, javed.absar

Reviewed By: MatzeB

Subscribers: aemerson, kristof.beyls, llvm-commits

Differential Revision: https://reviews.llvm.org/D35935
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARM.tdllvm.src/lib/Target/ARM/ARM.td
The file was modified/llvm/trunk/lib/Target/ARM/ARMSubtarget.cppllvm.src/lib/Target/ARM/ARMSubtarget.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMSubtarget.hllvm.src/lib/Target/ARM/ARMSubtarget.h
Revision 309315 by dinar:
Change prefix in vector-shuffle-combining-avx.patch to reduce test size.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-combining-avx.llllvm.src/test/CodeGen/X86/vector-shuffle-combining-avx.ll
Revision 309314 by mstorsjo:
[Headers] Add a test for arm64intr.h

This tests the ARM64 specific constants added in SVN r309081,
similar to the one added in r277928 for armintr.h.

Differential Revision: https://reviews.llvm.org/D35934
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/Headers/ms-intrin.cppclang.src/test/Headers/ms-intrin.cpp
Revision 309313 by whitequark:
[MergeFunctions] Remove alias support.

The alias support was dead code since 2011. It was last touched
in r124182, where it was reintroduced after being removed
in r110434, and since then it was gated behind a HasGlobalAliases
flag that was permanently stuck as `false`.

It is also broken. I'm not sure if it bitrotted or was just broken
in the first place because it appears to have never been tested,
but the following IR results in a crash:

    define internal i32 @a(i32 %a, i32 %b) unnamed_addr {
      %c = add i32 %a, %b
      %d = xor i32 %a, %c
      ret i32 %c
    }

    define internal i32 @b(i32 %a, i32 %b) unnamed_addr {
      %c = add i32 %a, %b
      %d = xor i32 %a, %c
      ret i32 %c
    }

It seems safe to remove buggy untested code that no one cared about
for seven years.

Differential Revision: https://reviews.llvm.org/D34802
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/IPO/MergeFunctions.cppllvm.src/lib/Transforms/IPO/MergeFunctions.cpp
Revision 309312 by modocache:
[lit] Fix TestRunner unit test on Windows

Summary:
Normally Python converts all newline characters, Windows or Unix,
to Unix newlines when opening a file. However, lit opens files in
binary mode, which does not perform this conversion. As a result,
trailing Windows newlines are not stripped from test input, which
caused a failure in the TestRunner unit test:

```
FAIL: test_custom (__main__.TestIntegratedTestKeywordParser)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Users\bgesiak\src\llvm\llvm\utils\lit\tests\unit\TestRunner.py", line 109, in test_custom
    self.assertItemsEqual(value, ['a', 'b', 'c'])
AssertionError: Element counts were not equal:
First has 1, Second has 0: 'c\r'
First has 0, Second has 1:  'c'
```

Fix the discrepancy in behavior across the two platforms by
manually stripping Windows newlines before yielding each line in
the test file.

Reviewers: echristo, beanz, ddunbar, delcypher, rnk

Reviewed By: rnk

Subscribers: mehdi_amini, llvm-commits

Differential Revision: https://reviews.llvm.org/D27746
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/lit/TestRunner.pyllvm.src/utils/lit/lit/TestRunner.py
Revision 309310 by modocache:
Un-revert "Teach the CMake build system to run lit's test suite. These can be run"

Summary:
Depends on https://reviews.llvm.org/D35879.

This reverts rL257268, which in turn was a revert of rL257221.
https://reviews.llvm.org/D35879 marks the tests in the lit test suite
that fail on Windows as XFAIL, which should allow these tests to pass
on Windows-based buildbots.

Reviewers: delcypher, beanz, mgorny, jroelofs, rnk

Reviewed By: mgorny

Subscribers: rnk, ddunbar, george.karpenkov, llvm-commits

Differential Revision: https://reviews.llvm.org/D35880
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/CMakeLists.txtllvm.src/CMakeLists.txt
The file was added/llvm/trunk/utils/lit/CMakeLists.txtllvm.src/utils/lit/CMakeLists.txt
The file was modified/llvm/trunk/utils/lit/tests/lit.cfgllvm.src/utils/lit/tests/lit.cfg
The file was added/llvm/trunk/utils/lit/tests/lit.site.cfg.inllvm.src/utils/lit/tests/lit.site.cfg.in
Revision 309309 by abataev:
[OPENMP] Allow all lvalues in 'depend' clause.

According to upcoming OpenMP 5.0 all addressable lvalue expressions are
allowed in deoend clause.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.tdclang.src/include/clang/Basic/DiagnosticSemaKinds.td
The file was modified/cfe/trunk/lib/Sema/SemaOpenMP.cppclang.src/lib/Sema/SemaOpenMP.cpp
The file was modified/cfe/trunk/test/OpenMP/target_depend_messages.cppclang.src/test/OpenMP/target_depend_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_enter_data_depend_messages.cppclang.src/test/OpenMP/target_enter_data_depend_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_exit_data_depend_messages.cppclang.src/test/OpenMP/target_exit_data_depend_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_parallel_depend_messages.cppclang.src/test/OpenMP/target_parallel_depend_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_parallel_for_depend_messages.cppclang.src/test/OpenMP/target_parallel_for_depend_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_parallel_for_simd_depend_messages.cppclang.src/test/OpenMP/target_parallel_for_simd_depend_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_simd_depend_messages.cppclang.src/test/OpenMP/target_simd_depend_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_teams_depend_messages.cppclang.src/test/OpenMP/target_teams_depend_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_teams_distribute_depend_messages.cppclang.src/test/OpenMP/target_teams_distribute_depend_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_depend_messages.cppclang.src/test/OpenMP/target_teams_distribute_parallel_for_depend_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_messages.cppclang.src/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_teams_distribute_simd_depend_messages.cppclang.src/test/OpenMP/target_teams_distribute_simd_depend_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/target_update_depend_messages.cppclang.src/test/OpenMP/target_update_depend_messages.cpp
The file was modified/cfe/trunk/test/OpenMP/task_depend_messages.cppclang.src/test/OpenMP/task_depend_messages.cpp
Revision 309308 by ahatanak:
Revert r264998 and r265035.

r303175 made changes to have __cxa_allocate_exception return a 16-byte
aligned pointer, so it's no longer necessary to specify a lower
alignment (8-bytes) for exception objects on Darwin.

rdar://problem/32363695
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/TargetInfo.hclang.src/include/clang/Basic/TargetInfo.h
The file was modified/cfe/trunk/lib/Basic/Targets/OSTargets.hclang.src/lib/Basic/Targets/OSTargets.h
The file was modified/cfe/trunk/lib/CodeGen/ItaniumCXXABI.cppclang.src/lib/CodeGen/ItaniumCXXABI.cpp
The file was modified/cfe/trunk/test/CodeGenCXX/eh.cppclang.src/test/CodeGenCXX/eh.cpp
Revision 309307 by marshall:
Disable the deduction guide test I added in 309296 for the moment, while I figure out which compilers don't support deduction guides
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpplibcxx.src/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp
Revision 309306 by George Karpenkov:
[sanitizers] Sanitizer tests CMake clean up

This patch addresses two issues:

Most of the time, hacks with `if/else` in order to get support for
multi-configuration builds are superfluous.
The variable `CMAKE_CFG_INTDIR` was created precisely for this purpose: it
expands to `.`  on all single-configuration builds, and to a configuration
name otherwise.
The `if/else` hacks for the library name generation should also not be
done, as CMake has `TARGET_FILE` generator expression precisely for this
purpose, as it expands to the exact filename of the resulting target.

Differential Revision: https://reviews.llvm.org/D35952
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/cmake/Modules/AddCompilerRT.cmakecompiler-rt.src/cmake/Modules/AddCompilerRT.cmake
The file was modified/compiler-rt/trunk/lib/asan/tests/CMakeLists.txtcompiler-rt.src/lib/asan/tests/CMakeLists.txt
The file was modified/compiler-rt/trunk/lib/interception/tests/CMakeLists.txtcompiler-rt.src/lib/interception/tests/CMakeLists.txt
The file was modified/compiler-rt/trunk/lib/sanitizer_common/tests/CMakeLists.txtcompiler-rt.src/lib/sanitizer_common/tests/CMakeLists.txt
Revision 309305 by davide:
[FunctionImport] Prefer isa<> to dyn_cast<> as the value is not used.

This change makes GCC7 happy again.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/IPO/FunctionImport.cppllvm.src/lib/Transforms/IPO/FunctionImport.cpp
Revision 309304 by yamauchi:
[InstCombine] Simplify pointer difference subtractions (GEP-GEP) where GEPs have other uses and one non-constant index

Summary:
Pointer difference simplifications currently happen only if input GEPs don't have other uses or their indexes are all constants, to avoid duplicating indexing arithmetic.

This patch enables cases with exactly one non-constant index among input GEPs to happen where there is no duplicated arithmetic or code size increase even if input GEPs have other uses.

For example, this patch allows "(&A[42][i]-&A[42][0])" --> "i", which didn't happen previously, if the input GEP(s) have other uses.

Reviewers: sanjoy, bkramer

Reviewed By: sanjoy

Subscribers: mcrosier, llvm-commits

Differential Revision: https://reviews.llvm.org/D35499
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/Operator.hllvm.src/include/llvm/IR/Operator.h
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineAddSub.cppllvm.src/lib/Transforms/InstCombine/InstCombineAddSub.cpp
The file was modified/llvm/trunk/test/Transforms/InstCombine/sub.llllvm.src/test/Transforms/InstCombine/sub.ll
Revision 309303 by rnk:
[PDB] Write public symbol records and the publics hash table

Summary:
MSVC link.exe records all external symbol names in the publics stream.
It provides similar functionality to an ELF .symtab.

Reviewers: zturner, ruiu

Subscribers: hiraditya, llvm-commits

Differential Revision: https://reviews.llvm.org/D35871
Change TypePath in RepositoryPath in Workspace
The file was modified/lld/trunk/COFF/PDB.cppN/A
The file was modified/lld/trunk/COFF/SymbolTable.hN/A
The file was modified/lld/trunk/COFF/Symbols.cppN/A
The file was modified/lld/trunk/COFF/Symbols.hN/A
The file was modified/lld/trunk/COFF/Writer.cppN/A
The file was modified/lld/trunk/test/COFF/pdb-import-gc.yamlN/A
The file was added/lld/trunk/test/COFF/pdb-publics-import.testN/A
The file was modified/lld/trunk/test/COFF/pdb.testN/A
The file was modified/llvm/trunk/include/llvm/DebugInfo/CodeView/SymbolRecord.hllvm.src/include/llvm/DebugInfo/CodeView/SymbolRecord.h
The file was modified/llvm/trunk/include/llvm/DebugInfo/PDB/Native/PublicsStreamBuilder.hllvm.src/include/llvm/DebugInfo/PDB/Native/PublicsStreamBuilder.h
The file was modified/llvm/trunk/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cppllvm.src/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp
The file was modified/llvm/trunk/lib/DebugInfo/PDB/Native/PDBFileBuilder.cppllvm.src/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp
The file was modified/llvm/trunk/lib/DebugInfo/PDB/Native/PublicsStreamBuilder.cppllvm.src/lib/DebugInfo/PDB/Native/PublicsStreamBuilder.cpp
Revision 309302 by rksimon:
[SelectionDAG] Improve DAGTypeLegalizer::convertMask assertion (PR33960)

Improve DAGTypeLegalizer::convertMask's isSETCCorConvertedSETCC assertion to properly check for any mixture of SETCC or BUILD_VECTOR of constants, or a logical mask op of them.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cppllvm.src/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
The file was added/llvm/trunk/test/CodeGen/X86/pr33960.llllvm.src/test/CodeGen/X86/pr33960.ll
Revision 309298 by dinar:
[X86] SET0 to use XMM registers where possible PR26018 PR32862

Differential Revision: https://reviews.llvm.org/D35839
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86InstrInfo.cppllvm.src/lib/Target/X86/X86InstrInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/2012-01-12-extract-sv.llllvm.src/test/CodeGen/X86/2012-01-12-extract-sv.ll
The file was modified/llvm/trunk/test/CodeGen/X86/2012-04-26-sdglue.llllvm.src/test/CodeGen/X86/2012-04-26-sdglue.ll
The file was modified/llvm/trunk/test/CodeGen/X86/2012-1-10-buildvector.llllvm.src/test/CodeGen/X86/2012-1-10-buildvector.ll
The file was modified/llvm/trunk/test/CodeGen/X86/all-ones-vector.llllvm.src/test/CodeGen/X86/all-ones-vector.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx-basic.llllvm.src/test/CodeGen/X86/avx-basic.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx-cast.llllvm.src/test/CodeGen/X86/avx-cast.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx-cvt-3.llllvm.src/test/CodeGen/X86/avx-cvt-3.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx-intrinsics-fast-isel.llllvm.src/test/CodeGen/X86/avx-intrinsics-fast-isel.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx-intrinsics-x86-upgrade.llllvm.src/test/CodeGen/X86/avx-intrinsics-x86-upgrade.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx-intrinsics-x86.llllvm.src/test/CodeGen/X86/avx-intrinsics-x86.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx-load-store.llllvm.src/test/CodeGen/X86/avx-load-store.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx-logic.llllvm.src/test/CodeGen/X86/avx-logic.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx-select.llllvm.src/test/CodeGen/X86/avx-select.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx-vbroadcastf128.llllvm.src/test/CodeGen/X86/avx-vbroadcastf128.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx-vextractf128.llllvm.src/test/CodeGen/X86/avx-vextractf128.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx-vperm2x128.llllvm.src/test/CodeGen/X86/avx-vperm2x128.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx2-arith.llllvm.src/test/CodeGen/X86/avx2-arith.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx2-gather.llllvm.src/test/CodeGen/X86/avx2-gather.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx2-intrinsics-fast-isel.llllvm.src/test/CodeGen/X86/avx2-intrinsics-fast-isel.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx2-shift.llllvm.src/test/CodeGen/X86/avx2-shift.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx2-vbroadcast.llllvm.src/test/CodeGen/X86/avx2-vbroadcast.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx2-vbroadcasti128.llllvm.src/test/CodeGen/X86/avx2-vbroadcasti128.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx2-vector-shifts.llllvm.src/test/CodeGen/X86/avx2-vector-shifts.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-arith.llllvm.src/test/CodeGen/X86/avx512-arith.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-cvt.llllvm.src/test/CodeGen/X86/avx512-cvt.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-intrinsics-fast-isel.llllvm.src/test/CodeGen/X86/avx512-intrinsics-fast-isel.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/avx512-vbroadcast.llllvm.src/test/CodeGen/X86/avx512-vbroadcast.ll
The file was modified/llvm/trunk/test/CodeGen/X86/bitcast-and-setcc-512.llllvm.src/test/CodeGen/X86/bitcast-and-setcc-512.ll
The file was modified/llvm/trunk/test/CodeGen/X86/clear_upper_vector_element_bits.llllvm.src/test/CodeGen/X86/clear_upper_vector_element_bits.ll
The file was modified/llvm/trunk/test/CodeGen/X86/combine-abs.llllvm.src/test/CodeGen/X86/combine-abs.ll
The file was modified/llvm/trunk/test/CodeGen/X86/combine-pmuldq.llllvm.src/test/CodeGen/X86/combine-pmuldq.ll
The file was modified/llvm/trunk/test/CodeGen/X86/compress_expand.llllvm.src/test/CodeGen/X86/compress_expand.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fma_patterns.llllvm.src/test/CodeGen/X86/fma_patterns.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fma_patterns_wide.llllvm.src/test/CodeGen/X86/fma_patterns_wide.ll
The file was modified/llvm/trunk/test/CodeGen/X86/insertelement-duplicates.llllvm.src/test/CodeGen/X86/insertelement-duplicates.ll
The file was modified/llvm/trunk/test/CodeGen/X86/insertelement-zero.llllvm.src/test/CodeGen/X86/insertelement-zero.ll
The file was modified/llvm/trunk/test/CodeGen/X86/madd.llllvm.src/test/CodeGen/X86/madd.ll
The file was modified/llvm/trunk/test/CodeGen/X86/masked_gather_scatter.llllvm.src/test/CodeGen/X86/masked_gather_scatter.ll
The file was modified/llvm/trunk/test/CodeGen/X86/masked_memop.llllvm.src/test/CodeGen/X86/masked_memop.ll
The file was modified/llvm/trunk/test/CodeGen/X86/memset.llllvm.src/test/CodeGen/X86/memset.ll
The file was modified/llvm/trunk/test/CodeGen/X86/merge-consecutive-loads-256.llllvm.src/test/CodeGen/X86/merge-consecutive-loads-256.ll
The file was modified/llvm/trunk/test/CodeGen/X86/merge-consecutive-loads-512.llllvm.src/test/CodeGen/X86/merge-consecutive-loads-512.ll
The file was modified/llvm/trunk/test/CodeGen/X86/nontemporal-2.llllvm.src/test/CodeGen/X86/nontemporal-2.ll
The file was modified/llvm/trunk/test/CodeGen/X86/nontemporal-loads.llllvm.src/test/CodeGen/X86/nontemporal-loads.ll
The file was modified/llvm/trunk/test/CodeGen/X86/packss.llllvm.src/test/CodeGen/X86/packss.ll
The file was modified/llvm/trunk/test/CodeGen/X86/pmovsx-inreg.llllvm.src/test/CodeGen/X86/pmovsx-inreg.ll
The file was modified/llvm/trunk/test/CodeGen/X86/pr28129.llllvm.src/test/CodeGen/X86/pr28129.ll
The file was modified/llvm/trunk/test/CodeGen/X86/sad.llllvm.src/test/CodeGen/X86/sad.ll
The file was modified/llvm/trunk/test/CodeGen/X86/setcc-lowering.llllvm.src/test/CodeGen/X86/setcc-lowering.ll
The file was modified/llvm/trunk/test/CodeGen/X86/split-extend-vector-inreg.llllvm.src/test/CodeGen/X86/split-extend-vector-inreg.ll
The file was modified/llvm/trunk/test/CodeGen/X86/sse-fsignum.llllvm.src/test/CodeGen/X86/sse-fsignum.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vec_ext_inreg.llllvm.src/test/CodeGen/X86/vec_ext_inreg.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vec_extract-avx.llllvm.src/test/CodeGen/X86/vec_extract-avx.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vec_uint_to_fp-fastmath.llllvm.src/test/CodeGen/X86/vec_uint_to_fp-fastmath.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-compare-results.llllvm.src/test/CodeGen/X86/vector-compare-results.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-extend-inreg.llllvm.src/test/CodeGen/X86/vector-extend-inreg.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-lzcnt-256.llllvm.src/test/CodeGen/X86/vector-lzcnt-256.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-lzcnt-512.llllvm.src/test/CodeGen/X86/vector-lzcnt-512.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-pcmp.llllvm.src/test/CodeGen/X86/vector-pcmp.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-popcnt-256.llllvm.src/test/CodeGen/X86/vector-popcnt-256.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-popcnt-512.llllvm.src/test/CodeGen/X86/vector-popcnt-512.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-rotate-256.llllvm.src/test/CodeGen/X86/vector-rotate-256.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shift-ashr-256.llllvm.src/test/CodeGen/X86/vector-shift-ashr-256.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shift-ashr-512.llllvm.src/test/CodeGen/X86/vector-shift-ashr-512.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shift-lshr-256.llllvm.src/test/CodeGen/X86/vector-shift-lshr-256.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shift-shl-256.llllvm.src/test/CodeGen/X86/vector-shift-shl-256.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-256-v16.llllvm.src/test/CodeGen/X86/vector-shuffle-256-v16.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-256-v32.llllvm.src/test/CodeGen/X86/vector-shuffle-256-v32.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-256-v4.llllvm.src/test/CodeGen/X86/vector-shuffle-256-v4.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-256-v8.llllvm.src/test/CodeGen/X86/vector-shuffle-256-v8.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-512-v32.llllvm.src/test/CodeGen/X86/vector-shuffle-512-v32.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-512-v64.llllvm.src/test/CodeGen/X86/vector-shuffle-512-v64.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-avx512.llllvm.src/test/CodeGen/X86/vector-shuffle-avx512.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-combining-avx.llllvm.src/test/CodeGen/X86/vector-shuffle-combining-avx.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-combining-avx2.llllvm.src/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-combining-xop.llllvm.src/test/CodeGen/X86/vector-shuffle-combining-xop.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-tzcnt-256.llllvm.src/test/CodeGen/X86/vector-tzcnt-256.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-tzcnt-512.llllvm.src/test/CodeGen/X86/vector-tzcnt-512.ll
The file was modified/llvm/trunk/test/CodeGen/X86/viabs.llllvm.src/test/CodeGen/X86/viabs.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vselect-pcmp.llllvm.src/test/CodeGen/X86/vselect-pcmp.ll
The file was modified/llvm/trunk/test/CodeGen/X86/xop-intrinsics-fast-isel.llllvm.src/test/CodeGen/X86/xop-intrinsics-fast-isel.ll
Revision 309297 by anemet:
Relax the matching in these tests

Looks like the template arguments are displayed differently depending on the
host compiler(?).  E.g.:

InnerAnalysisManagerProxy<CGSCCAnalysisManager
InnerAnalysisManagerProxy<llvm::AnalysisManager<llvm::LazyCallGraph::SCC, ...

Fix fallout after r309294
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Other/new-pm-lto-defaults.llllvm.src/test/Other/new-pm-lto-defaults.ll
The file was modified/llvm/trunk/test/Other/new-pm-thinlto-defaults.llllvm.src/test/Other/new-pm-thinlto-defaults.ll
Revision 309296 by marshall:
Implement P0739R0: 'Some improvements to class template argument deduction integration into the standard library' This is an API change (not ABI change) due to a late change in the c++17 standard
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/include/mutexlibcxx.src/include/mutex
The file was modified/libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/adopt_lock.pass.cpplibcxx.src/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/adopt_lock.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpplibcxx.src/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp
The file was modified/libcxx/trunk/www/cxx1z_status.htmllibcxx.src/www/cxx1z_status.html
The file was modified/libcxx/trunk/www/cxx2a_status.htmllibcxx.src/www/cxx2a_status.html
Revision 309295 by ibiryukov:
[clangd] Don't reverse priorities of completion items.

Summary: Current algorithm incorrectly provides completion results in a reverse order.

Reviewers: krasimir, bkramer

Reviewed By: krasimir

Subscribers: cfe-commits, klimek

Differential Revision: https://reviews.llvm.org/D35950
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/ClangdUnit.cppclang-tools-extra.src/clangd/ClangdUnit.cpp
The file was modified/clang-tools-extra/trunk/test/clangd/authority-less-uri.testclang-tools-extra.src/test/clangd/authority-less-uri.test
The file was modified/clang-tools-extra/trunk/test/clangd/completion.testclang-tools-extra.src/test/clangd/completion.test
Revision 309294 by anemet:
[ICP] Migrate to OptimizationRemarkEmitter

This is a module pass so for the old PM, we can't use ORE, the function
analysis pass.  Instead ORE is created on the fly.

A few notes:

- isPromotionLegal is folded in the caller since we want to emit the Function
in the remark but we can only do that if the symbol table look-up succeeded.

- There was good test coverage for remarks in this pass.

- promoteIndirectCall uses ORE conditionally since it's also used from
SampleProfile which does not use ORE yet.

Fixes PR33792.

Differential Revision: https://reviews.llvm.org/D35929
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/Instrumentation.hllvm.src/include/llvm/Transforms/Instrumentation.h
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/IndirectCallPromotion.cppllvm.src/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
The file was modified/llvm/trunk/test/Other/new-pm-lto-defaults.llllvm.src/test/Other/new-pm-lto-defaults.ll
The file was modified/llvm/trunk/test/Other/new-pm-thinlto-defaults.llllvm.src/test/Other/new-pm-thinlto-defaults.ll
The file was modified/llvm/trunk/test/Transforms/PGOProfile/icp_mismatch_msg.llllvm.src/test/Transforms/PGOProfile/icp_mismatch_msg.ll
Revision 309293 by anemet:
[OptRemark] Allow streaming of 64-bit integers
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/DiagnosticInfo.hllvm.src/include/llvm/IR/DiagnosticInfo.h
The file was modified/llvm/trunk/lib/CodeGen/PrologEpilogInserter.cppllvm.src/lib/CodeGen/PrologEpilogInserter.cpp
The file was modified/llvm/trunk/lib/IR/DiagnosticInfo.cppllvm.src/lib/IR/DiagnosticInfo.cpp
Revision 309292 by modocache:
[lit] Fix order of checks in shtest-shell.py test

Summary:
An expectation in `utils/lit/tests/Inputs/shtest-shell/redirects.txt`
expects that first a string printed to stdout is seen, and then a
string printed to stderr. Add `flush()` calls to ensure that stdout is
printed before stderr, as expected.

Reviewers: rnk, mgorny, jroelofs

Reviewed By: rnk

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D35947
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/write-to-stderr.pyllvm.src/utils/lit/tests/Inputs/shtest-shell/write-to-stderr.py
The file was modified/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/write-to-stdout-and-stderr.pyllvm.src/utils/lit/tests/Inputs/shtest-shell/write-to-stdout-and-stderr.py
Revision 309291 by dneilson:
All libcalls should be considered to be GC-leaf functions.

Summary:
It is possible for some passes to materialize a call to a libcall (ex: ldexp, exp2, etc),
but these passes will not mark the call as a gc-leaf-function. All libcalls are
actually gc-leaf-functions, so we change llvm::callsGCLeafFunction() to tell us that
available libcalls are equivalent to gc-leaf-function calls.

Reviewers: sanjoy, anna, reames

Reviewed By: anna

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D35840
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/PlaceSafepoints.cppllvm.src/lib/Transforms/Scalar/PlaceSafepoints.cpp
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 added/llvm/trunk/test/Transforms/PlaceSafepoints/libcall.llllvm.src/test/Transforms/PlaceSafepoints/libcall.ll
The file was added/llvm/trunk/test/Transforms/RewriteStatepointsForGC/libcall.llllvm.src/test/Transforms/RewriteStatepointsForGC/libcall.ll
Revision 309289 by fhahn:
Update to use enum classes for various ARM *Kind enums

Summary: This updates the relevant Clang parts for the LLVM change D35882.

Reviewers: rengolin, chandlerc, javed.absar, rovka

Reviewed By: rovka

Subscribers: aemerson, cfe-commits, kristof.beyls

Differential Revision: https://reviews.llvm.org/D35884
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Basic/Targets/AArch64.cppclang.src/lib/Basic/Targets/AArch64.cpp
The file was modified/cfe/trunk/lib/Basic/Targets/ARM.cppclang.src/lib/Basic/Targets/ARM.cpp
The file was modified/cfe/trunk/lib/Basic/Targets/ARM.hclang.src/lib/Basic/Targets/ARM.h
The file was modified/cfe/trunk/lib/Driver/ToolChain.cppclang.src/lib/Driver/ToolChain.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/Arch/AArch64.cppclang.src/lib/Driver/ToolChains/Arch/AArch64.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/Arch/ARM.cppclang.src/lib/Driver/ToolChains/Arch/ARM.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/Darwin.cppclang.src/lib/Driver/ToolChains/Darwin.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/Gnu.cppclang.src/lib/Driver/ToolChains/Gnu.cpp
Revision 309288 by erichkeane:
Fix double destruction of objects when OpenMP construct is canceled

When an omp for loop is canceled the constructed objects are being destructed
twice.

It looks like the desired code is:

{

  Obj o;
  If (cancelled) branch-through-cleanups to cancel.exit.

}
[cleanups]
cancel.exit:

__kmpc_for_static_fini
br cancel.cont (*)

cancel.cont:

__kmpc_barrier
return

The problem seems to be the branch to cancel.cont is currently also going
through the cleanups calling them again. This change just does a direct branch
instead.

Patch By: michael.p.rice@intel.com

Differential Revision: https://reviews.llvm.org/D35854
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CodeGenFunction.hclang.src/lib/CodeGen/CodeGenFunction.h
The file was added/cfe/trunk/test/OpenMP/cancel_codegen_cleanup.cppclang.src/test/OpenMP/cancel_codegen_cleanup.cpp
Revision 309287 by fhahn:
[TargetParser] Use enum classes for various ARM kind enums.

Summary:
Using c++11 enum classes ensures that only valid enum values are used
for ArchKind, ProfileKind, VersionKind and ISAKind. This removes the
need for checks that the provided values map to a proper enum value,
allows us to get rid of AK_LAST and prevents comparing values from
different enums. It also removes a bunch of static_cast
from unsigned to enum values and vice versa, at the cost of introducing
static casts to access AArch64ARCHNames and ARMARCHNames by ArchKind.

FPUKind and ArchExtKind are the only remaining old-style enum in
TargetParser.h. I think it's beneficial to keep ArchExtKind as old-style
enum, but FPUKind can be converted too, but this patch is quite big, so
could do this in a follow-up patch. I could also split this patch up a
bit, if people would prefer that.

Reviewers: rengolin, javed.absar, chandlerc, rovka

Reviewed By: rovka

Subscribers: aemerson, kristof.beyls, llvm-commits

Differential Revision: https://reviews.llvm.org/D35882
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/MC/MCStreamer.hllvm.src/include/llvm/MC/MCStreamer.h
The file was modified/llvm/trunk/include/llvm/Support/AArch64TargetParser.defllvm.src/include/llvm/Support/AArch64TargetParser.def
The file was modified/llvm/trunk/include/llvm/Support/ARMTargetParser.defllvm.src/include/llvm/Support/ARMTargetParser.def
The file was modified/llvm/trunk/include/llvm/Support/TargetParser.hllvm.src/include/llvm/Support/TargetParser.h
The file was modified/llvm/trunk/lib/Support/TargetParser.cppllvm.src/lib/Support/TargetParser.cpp
The file was modified/llvm/trunk/lib/Support/Triple.cppllvm.src/lib/Support/Triple.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AsmParser/AArch64AsmParser.cppllvm.src/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMSubtarget.cppllvm.src/lib/Target/ARM/ARMSubtarget.cpp
The file was modified/llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cppllvm.src/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cppllvm.src/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
The file was modified/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cppllvm.src/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
The file was modified/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cppllvm.src/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cppllvm.src/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
The file was modified/llvm/trunk/unittests/Support/TargetParserTest.cppllvm.src/unittests/Support/TargetParserTest.cpp
Revision 309284 by abataev:
[SLP] Outline code for the check that instruction users are part of
vectorization tree, NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cppllvm.src/lib/Transforms/Vectorize/SLPVectorizer.cpp