SuccessChanges

Summary

  1. Revert "[AsmParser] Hash is not a comment on some targets" This reverts commit r310457. It causes clang-produced IR to fail llvm codegen.
  2. Revert "[clang-tidy] Refactor the code and add a close-on-exec check on memfd_create() in Android module." This reverts commit r310630. The new code broke on Windows and was untested. On Linux, it was selecting the "int" overload of operator<<, which definitely does not print the right thing when fed a "Mode" char.
  3. Disable some IR death tests when SEH is available They hang for me locally. I suspect that there is a use-after-free when attempting to destroy an LLVMContext after asserting from the middle of metadata tracking. It doesn't seem worth debugging it further.
  4. Revert "[DAG] Cleanup unused nodes after store merge. NFCI." This reverts commit r310648 which causes an unexpected assertion failure
  5. [InstCombine] Make (X|C1)^C2 -> X^(C1^C2) iff X&~C1 == 0 work for splat vectors This also corrects the description to match what was actually implemented. The old comment said X^(C1|C2), but it implemented X^((C1|C2)&~(C1&C2)). I believe ((C1|C2)&~(C1&C2)) is equivalent to (C1^C2). Differential Revision: https://reviews.llvm.org/D36505
  6. [X86] Implement __builtin_cpu_is This patch adds support for __builtin_cpu_is. I've tried to match the strings supported to the latest version of gcc. Differential Revision: https://reviews.llvm.org/D35449
Revision 310662 by Ahmed Bougacha:
Revert "[AsmParser] Hash is not a comment on some targets"

This reverts commit r310457.

It causes clang-produced IR to fail llvm codegen.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/MC/MCParser/AsmParser.cppllvm.src/lib/MC/MCParser/AsmParser.cpp
The file was modified/llvm/trunk/lib/MC/MCParser/MCAsmParser.cppllvm.src/lib/MC/MCParser/MCAsmParser.cpp
The file was modified/llvm/trunk/test/DebugInfo/AArch64/asan-stack-vars.llllvm.src/test/DebugInfo/AArch64/asan-stack-vars.ll
The file was modified/llvm/trunk/test/ExecutionEngine/RuntimeDyld/AArch64/ELF_ARM64_relocations.sllvm.src/test/ExecutionEngine/RuntimeDyld/AArch64/ELF_ARM64_relocations.s
The file was modified/llvm/trunk/test/MC/ARM/directive_parsing.sllvm.src/test/MC/ARM/directive_parsing.s
The file was modified/llvm/trunk/test/MC/AsmParser/AArch64/directive-parse-err.sllvm.src/test/MC/AsmParser/AArch64/directive-parse-err.s
Revision 310661 by rnk:
Revert "[clang-tidy] Refactor the code and add a close-on-exec check on memfd_create() in Android module."

This reverts commit r310630.

The new code broke on Windows and was untested. On Linux, it was
selecting the "int" overload of operator<<, which definitely does not
print the right thing when fed a "Mode" char.
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clang-tidy/android/AndroidTidyModule.cppclang-tools-extra.src/clang-tidy/android/AndroidTidyModule.cpp
The file was modified/clang-tools-extra/trunk/clang-tidy/android/CMakeLists.txtclang-tools-extra.src/clang-tidy/android/CMakeLists.txt
The file was removed/clang-tools-extra/trunk/clang-tidy/android/CloexecCheck.cppclang-tools-extra.src/clang-tidy/android/CloexecCheck.cpp
The file was removed/clang-tools-extra/trunk/clang-tidy/android/CloexecCheck.hclang-tools-extra.src/clang-tidy/android/CloexecCheck.h
The file was removed/clang-tools-extra/trunk/clang-tidy/android/CloexecMemfdCreateCheck.cppclang-tools-extra.src/clang-tidy/android/CloexecMemfdCreateCheck.cpp
The file was removed/clang-tools-extra/trunk/clang-tidy/android/CloexecMemfdCreateCheck.hclang-tools-extra.src/clang-tidy/android/CloexecMemfdCreateCheck.h
The file was modified/clang-tools-extra/trunk/docs/ReleaseNotes.rstclang-tools-extra.src/docs/ReleaseNotes.rst
The file was removed/clang-tools-extra/trunk/docs/clang-tidy/checks/android-cloexec-memfd-create.rstclang-tools-extra.src/docs/clang-tidy/checks/android-cloexec-memfd-create.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 removed/clang-tools-extra/trunk/test/clang-tidy/android-cloexec-memfd-create.cppclang-tools-extra.src/test/clang-tidy/android-cloexec-memfd-create.cpp
Revision 310660 by rnk:
Disable some IR death tests when SEH is available

They hang for me locally. I suspect that there is a use-after-free when
attempting to destroy an LLVMContext after asserting from the middle of
metadata tracking. It doesn't seem worth debugging it further.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/unittests/IR/MetadataTest.cppllvm.src/unittests/IR/MetadataTest.cpp
Revision 310659 by niravd:
Revert "[DAG] Cleanup unused nodes after store merge. NFCI."

This reverts commit r310648 which causes an unexpected assertion failure
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cppllvm.src/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Revision 310658 by ctopper:
[InstCombine] Make (X|C1)^C2 -> X^(C1^C2) iff X&~C1 == 0 work for splat vectors

This also corrects the description to match what was actually implemented. The old comment said X^(C1|C2), but it implemented X^((C1|C2)&~(C1&C2)). I believe ((C1|C2)&~(C1&C2)) is equivalent to (C1^C2).

Differential Revision: https://reviews.llvm.org/D36505
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineAndOrXor.cppllvm.src/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
The file was modified/llvm/trunk/test/Transforms/InstCombine/or.llllvm.src/test/Transforms/InstCombine/or.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/select-with-bitwise-ops.llllvm.src/test/Transforms/InstCombine/select-with-bitwise-ops.ll
Revision 310657 by ctopper:
[X86] Implement __builtin_cpu_is

This patch adds support for __builtin_cpu_is. I've tried to match the strings supported to the latest version of gcc.

Differential Revision: https://reviews.llvm.org/D35449
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/BuiltinsX86.defclang.src/include/clang/Basic/BuiltinsX86.def
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.tdclang.src/include/clang/Basic/DiagnosticSemaKinds.td
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/X86.cppclang.src/lib/Basic/Targets/X86.cpp
The file was modified/cfe/trunk/lib/Basic/Targets/X86.hclang.src/lib/Basic/Targets/X86.h
The file was modified/cfe/trunk/lib/CodeGen/CGBuiltin.cppclang.src/lib/CodeGen/CGBuiltin.cpp
The file was modified/cfe/trunk/lib/Sema/SemaChecking.cppclang.src/lib/Sema/SemaChecking.cpp
The file was added/cfe/trunk/test/CodeGen/builtin-cpu-is.cclang.src/test/CodeGen/builtin-cpu-is.c
The file was modified/cfe/trunk/test/CodeGen/target-builtin-noerror.cclang.src/test/CodeGen/target-builtin-noerror.c
The file was modified/cfe/trunk/test/Sema/builtin-cpu-supports.cclang.src/test/Sema/builtin-cpu-supports.c