FailedChanges

Summary

  1. Fix help message for -ffp-contract Differential Revision: https://reviews.llvm.org/D68823
  2. Moved a few builders to use UnifiedTreeBuilder.
  3. PR43629: Fix crash evaluating constexpr placement new on a subobject of an out-of-lifetime object.
  4. [GISel] Simplifying return from else in function. NFC Forgot to integrate this little change in previous commit
  5. [X86] Guard against leaving a dangling node in combineTruncateWithSat. When handling the packus pattern for i32->i8 we do a two step process using a packss to i16 followed by a packus to i8. If the final i8 step is a type with less than 64-bits the packus step will return SDValue(), but the i32->i16 step might have succeeded. This leaves the nodes from the middle step dangling. Guard against this by pre-checking that the number of elements is at least 8 before doing the middle step. With that check in place this should mean the only other case the middle step itself can fail is when SSE2 is disabled. So add an early SSE2 check then just assert that neither the middle or final step ever fail.
  6. [X86] Add test cases for packus/ssat/usat 32i32->v32i8 test cases. NFC
  7. [GISel] Allow getConstantVRegVal() to return G_FCONSTANT values. In GISel we have both G_CONSTANT and G_FCONSTANT, but because in GISel we don't really have a concept of Float vs Int value the only difference between the two is where the data originates from. What both G_CONSTANT and G_FCONSTANT return is just a bag of bits with the constant representation in it. By making getConstantVRegVal() return G_FCONSTANTs bit representation as well we allow ConstantFold and other things to operate with G_FCONSTANT. Adding tests that show ConstantFolding to work on mixed G_CONSTANT and G_FCONSTANT sources. Differential Revision: https://reviews.llvm.org/D68739
  8. Fix some errors in <arm_neon.h> tests that cause them to fail with lax vector conversions disabled.
  9. Revert 374450 "Fix __builtin_assume_aligned with too large values." The test fails on Windows, with error: 'warning' diagnostics expected but not seen: File builtin-assume-aligned.c Line 62: requested alignment must be 268435456 bytes or smaller; assumption ignored error: 'warning' diagnostics seen but not expected: File builtin-assume-aligned.c Line 62: requested alignment must be 8192 bytes or smaller; assumption ignored
  10. [AMDGPU] Handle undef old operand in DPP combine It was missing an undef flag. Differential Revision: https://reviews.llvm.org/D68813
  11. [ValueTracking] Improve pointer offset computation for cases of same base This patch improves the handling of pointer offset in GEP expressions where one argument is the base pointer. isPointerOffset() is being used by memcpyopt where current code synthesizes consecutive 32 bytes stores to one store and two memset intrinsic calls. With this patch, we convert the stores to one memset intrinsic. Differential Revision: https://reviews.llvm.org/D67989
  12. [InstCombine] Add test case for PR43617 (NFC) Also, refactor check in `LibCallSimplifier::optimizeLog()`.
  13. [lit] Break main into smaller functions This change is purely mechanical. I will do further cleanups of parameter usages. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D68830
  14. Fix __builtin_assume_aligned with too large values. Code to handle __builtin_assume_aligned was allowing larger values, but would convert this to unsigned along the way. This patch removes the EmitAssumeAligned overloads that take unsigned to do away with this problem. Additionally, it adds a warning that values greater than 1 <<29 are ignored by LLVM. Differential Revision: https://reviews.llvm.org/D68824
  15. Add -fgnuc-version= to control __GNUC__ and other GCC macros I noticed that compiling on Windows with -fno-ms-compatibility had the side effect of defining __GNUC__, along with __GNUG__, __GXX_RTTI__, and a number of other macros for GCC compatibility. This is undesirable and causes Chromium to do things like mix __attribute__ and __declspec, which doesn't work. We should have a positive language option to enable GCC compatibility features so that we can experiment with -fno-ms-compatibility on Windows. This change adds -fgnuc-version= to be that option. My issue aside, users have, for a long time, reported that __GNUC__ doesn't match their expectations in one way or another. We have encouraged users to migrate code away from this macro, but new code continues to be written assuming a GCC-only environment. There's really nothing we can do to stop that. By adding this flag, we can allow them to choose their own adventure with __GNUC__. This overlaps a bit with the "GNUMode" language option from -std=gnu*. The gnu language mode tends to enable non-conforming behaviors that we'd rather not enable by default, but the we want to set things like __GXX_RTTI__ by default, so I've kept these separate. Helps address PR42817 Reviewed By: hans, nickdesaulniers, MaskRay Differential Revision: https://reviews.llvm.org/D68055
  16. Add a missing include in test. A fix for r373993.
  17. [MemorySSA] Additional handling of unreachable blocks. Summary: Whenever we get the previous definition, the assumption is that the recursion starts ina reachable block. If the recursion starts in an unreachable block, we may recurse indefinitely. Handle this case by returning LoE if the block is unreachable. Resolves PR43426. Reviewers: george.burgess.iv Subscribers: Prazek, sanjoy.google, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68809
  18. [System Model] [TTI] Move default cache/prefetch implementations Move the default implementations of cache and prefetch queries to TargetTransformInfoImplBase and delete them from NoTIIImpl. This brings these interfaces in line with how other TTI interfaces work. Differential Revision: https://reviews.llvm.org/D68804
  19. Fix a documentation warning from GSYM commit.
  20. [MSVC] Automatically add atlmfc folder to include and libpath. Differential Revision: https://reviews.llvm.org/D68736
  21. [PDB] Fix bug when using multiple PCH header objects with the same name. A common pattern in Windows is to have all your precompiled headers use an object named stdafx.obj. If you've got a project with many different static libs, you might use a separate PCH for each one of these. During the final link step, a file from A might reference the PCH object from A, but it will have the same name (stdafx.obj) as any other PCH from another project. The only difference will be the path. For example, A might be A/stdafx.obj while B is B/stdafx.obj. The existing algorithm checks only the filename that was passed on the command line (or stored in archive), but this is insufficient in the case where relative paths are used, because depending on the command line object file / library order, it might find the wrong PCH object first resulting in a signature mismatch. The fix here is to simply check whether the absolute path of the PCH object (which is stored in the input obj file for the file that references the PCH) *ends with* the full relative path of whatever is specified on the command line (or is in the archive). Differential Revision: https://reviews.llvm.org/D66431
  22. [lit] Add comment explaining the LIT_OPTS env var overrides command line options Normally, command line options override environment variables. Add comment to state that we are doing the reverse on purpose.
  23. ADT: Save a word in every StringSet entry Add a specialization to StringMap (actually StringMapEntry) for a value type of NoneType (the type of llvm::None), and use it for StringSet. This'll save us a word from every entry in a StringSet, used for alignment with the size_t that stores the string length. I could have gone all the way to some kind of empty base class optimization, but that seemed like overkill. Someone can consider adding that in the future, though. https://reviews.llvm.org/D68586
  24. [ScanDeps] clang-format, 80 cols.
  25. [OPENMP]Update doc for supported constructs, NFC.
  26. [OPENMP50]Support for 'master taskloop' directive. Added full support for master taskloop directive.
  27. [x86] reduce duplicate test assertions; NFC
  28. [lit] Bring back `--threads` option alias Bring back `--threads` option which was lost in the move of the command line argument parsing code to cl_arguments.py. Update docs since `--workers` is preferred.
  29. [X86] Use packusdw+vpmovuswb to implement v16i32->V16i8 that clamps signed inputs to be between 0 and 255 when zmm registers are disabled on SKX. If we've disable zmm registers, the v16i32 will need to be split. This split will propagate through min/max the truncate. This creates two sequences that need to be concatenated back to v16i8. We can instead use packusdw to do part of the clamping, truncating, and concatenating all at once. Then we can use a vpmovuswb to finish off the clamp. Differential Revision: https://reviews.llvm.org/D68763
  30. Revert r374388: "[lit] Make internal diff work in pipelines" This breaks a Windows bot.
  31. [PowerPC][docs] Update IBM official docs in Compiler Writers Info page Summary: Just realized that most of the links in this page are deprecated. So update some important reference here: * adding PowerISA 3.0B/2.7B * adding P8/P9 User Manual * ELFv2 ABI and errata Move deprecated ones into "Other documents..". Reviewers: #powerpc, hfinkel, nemanjai Reviewed By: hfinkel Subscribers: shchenz, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68817
  32. Revert r374389: "[lit] Clean up internal diff's encoding handling" This breaks a Windows bot.
  33. Revert r374390: "[lit] Extend internal diff to support `-` argument" This breaks a Windows bot.
  34. Revert r374392: "[lit] Extend internal diff to support -U" This breaks a Windows bot.
  35. win: Move Parallel.h off concrt to cross-platform code r179397 added Parallel.h and implemented it terms of concrt in 2013. In 2015, a cross-platform implementation of the functions has appeared and is in use everywhere but on Windows (r232419). r246219 hints that <thread> had issues in MSVC2013, but r296906 suggests they've been fixed now that we require 2015+. So remove the concrt code. It's less code, and it sounds like concrt has conceptual and performance issues, see PR41198. I built blink_core.dll in a debug component build with full symbols and in a release component build without any symbols. I couldn't measure a performance difference for linking blink_core.dll before and after this patch. Differential Revision: https://reviews.llvm.org/D68820
  36. [NFC][PowerPC]Clean up PPCAsmPrinter for TOC related pseudo opcode Add a helper function getMCSymbolForTOCPseudoMO to clean up PPCAsmPrinter a little bit. Differential Revision: https://reviews.llvm.org/D68721
  37. [ARM] Fix arm_neon.h with -flax-vector-conversions=none, part 2. Just running -fsyntax-only over arm_neon.h doesn't cover some intrinsics which are defined using macros. Add more test coverage for that. arm-neon-header.c wasn't checking the full set of available NEON target features; change the target architecture of the test to account for that. Fix the generator for arm_neon.h to generate casts in more cases where they are necessary. Fix VFMLAL_LOW etc. to express their signatures differently, so the builtins have the expected type. Maybe the TableGen backend should detect intrinsics that are defined the wrong way, and produce an error. The rules here are sort of strange. Differential Revision: https://reviews.llvm.org/D68743
  38. Fix one more clang test which didn't have \5C in it
  39. Update clang tests for new LLVM IR backslash printing in r374415
Revision 374467 by yaxunl:
Fix help message for -ffp-contract

Differential Revision: https://reviews.llvm.org/D68823
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Driver/Options.tdclang.src/include/clang/Driver/Options.td
Revision 374466 by gkistanova:
Moved a few builders to use UnifiedTreeBuilder.
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/buildbot/osuosl/master/config/builders.pyzorg/buildbot/osuosl/master/config/builders.py
Revision 374465 by rsmith:
PR43629: Fix crash evaluating constexpr placement new on a subobject of
an out-of-lifetime object.
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/test/SemaCXX/cxx2a-constexpr-dynalloc.cppclang.src/test/SemaCXX/cxx2a-constexpr-dynalloc.cpp
Revision 374463 by mggm:
[GISel] Simplifying return from else in function. NFC

Forgot to integrate this little change in previous commit
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/Utils.cppllvm.src/lib/CodeGen/GlobalISel/Utils.cpp
Revision 374460 by ctopper:
[X86] Guard against leaving a dangling node in combineTruncateWithSat.

When handling the packus pattern for i32->i8 we do a two step
process using a packss to i16 followed by a packus to i8. If the
final i8 step is a type with less than 64-bits the packus step
will return SDValue(), but the i32->i16 step might have succeeded.
This leaves the nodes from the middle step dangling.

Guard against this by pre-checking that the number of elements is
at least 8 before doing the middle step.

With that check in place this should mean the only other
case the middle step itself can fail is when SSE2 is disabled. So
add an early SSE2 check then just assert that neither the middle
or final step ever fail.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cppllvm.src/lib/Target/X86/X86ISelLowering.cpp
Revision 374459 by ctopper:
[X86] Add test cases for packus/ssat/usat 32i32->v32i8 test cases. NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/min-legal-vector-width.llllvm.src/test/CodeGen/X86/min-legal-vector-width.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-trunc-packus.llllvm.src/test/CodeGen/X86/vector-trunc-packus.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-trunc-ssat.llllvm.src/test/CodeGen/X86/vector-trunc-ssat.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-trunc-usat.llllvm.src/test/CodeGen/X86/vector-trunc-usat.ll
Revision 374458 by mggm:
[GISel] Allow getConstantVRegVal() to return G_FCONSTANT values.

In GISel we have both G_CONSTANT and G_FCONSTANT, but because
in GISel we don't really have a concept of Float vs Int value
the only difference between the two is where the data originates
from.

What both G_CONSTANT and G_FCONSTANT return is just a bag of bits
with the constant representation in it.

By making getConstantVRegVal() return G_FCONSTANTs bit representation
as well we allow ConstantFold and other things to operate with
G_FCONSTANT.

Adding tests that show ConstantFolding to work on mixed G_CONSTANT
and G_FCONSTANT sources.

Differential Revision: https://reviews.llvm.org/D68739
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/Utils.hllvm.src/include/llvm/CodeGen/GlobalISel/Utils.h
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/Utils.cppllvm.src/lib/CodeGen/GlobalISel/Utils.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-frint.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-frint.mir
The file was modified/llvm/trunk/unittests/CodeGen/GlobalISel/ConstantFoldingTest.cppllvm.src/unittests/CodeGen/GlobalISel/ConstantFoldingTest.cpp
Revision 374457 by rsmith:
Fix some errors in <arm_neon.h> tests that cause them to fail with lax
vector conversions disabled.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/CodeGen/aarch64-v8.2a-neon-intrinsics.cclang.src/test/CodeGen/aarch64-v8.2a-neon-intrinsics.c
The file was modified/cfe/trunk/test/CodeGen/arm64-vrnd.cclang.src/test/CodeGen/arm64-vrnd.c
Revision 374456 by nico:
Revert 374450 "Fix __builtin_assume_aligned with too large values."

The test fails on Windows, with

  error: 'warning' diagnostics expected but not seen:
    File builtin-assume-aligned.c Line 62: requested alignment
        must be 268435456 bytes or smaller; assumption ignored
  error: 'warning' diagnostics seen but not expected:
    File builtin-assume-aligned.c Line 62: requested alignment
        must be 8192 bytes or smaller; assumption ignored
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/CodeGen/CGBuiltin.cppclang.src/lib/CodeGen/CGBuiltin.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGCall.cppclang.src/lib/CodeGen/CGCall.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGExprScalar.cppclang.src/lib/CodeGen/CGExprScalar.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGStmtOpenMP.cppclang.src/lib/CodeGen/CGStmtOpenMP.cpp
The file was modified/cfe/trunk/lib/CodeGen/CodeGenFunction.cppclang.src/lib/CodeGen/CodeGenFunction.cpp
The file was modified/cfe/trunk/lib/CodeGen/CodeGenFunction.hclang.src/lib/CodeGen/CodeGenFunction.h
The file was modified/cfe/trunk/lib/Sema/SemaChecking.cppclang.src/lib/Sema/SemaChecking.cpp
The file was modified/cfe/trunk/test/Sema/builtin-assume-aligned.cclang.src/test/Sema/builtin-assume-aligned.c
Revision 374455 by rampitec:
[AMDGPU] Handle undef old operand in DPP combine

It was missing an undef flag.

Differential Revision: https://reviews.llvm.org/D68813
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/GCNDPPCombine.cppllvm.src/lib/Target/AMDGPU/GCNDPPCombine.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/dpp_combine.mirllvm.src/test/CodeGen/AMDGPU/dpp_combine.mir
Revision 374454 by xur:
[ValueTracking] Improve pointer offset computation for cases of same base

This patch improves the handling of pointer offset in GEP expressions where
one argument is the base pointer. isPointerOffset() is being used by memcpyopt
where current code synthesizes consecutive 32 bytes stores to one store and
two memset intrinsic calls. With this patch, we convert the stores to one
memset intrinsic.

Differential Revision: https://reviews.llvm.org/D67989
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/ValueTracking.cppllvm.src/lib/Analysis/ValueTracking.cpp
The file was added/llvm/trunk/test/Transforms/MemCpyOpt/store-to-memset.llllvm.src/test/Transforms/MemCpyOpt/store-to-memset.ll
Revision 374453 by evandro:
[InstCombine] Add test case for PR43617 (NFC)

Also, refactor check in `LibCallSimplifier::optimizeLog()`.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/SimplifyLibCalls.cppllvm.src/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was modified/llvm/trunk/test/Transforms/InstCombine/log-pow.llllvm.src/test/Transforms/InstCombine/log-pow.ll
Revision 374452 by yln:
[lit] Break main into smaller functions

This change is purely mechanical.  I will do further cleanups of
parameter usages.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D68830
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/lit/main.pyllvm.src/utils/lit/lit/main.py
Revision 374450 by erichkeane:
Fix __builtin_assume_aligned with too large values.

Code to handle __builtin_assume_aligned was allowing larger values, but
would convert this to unsigned along the way. This patch removes the
EmitAssumeAligned overloads that take unsigned to do away with this
problem.

Additionally, it adds a warning that values greater than 1 <<29 are
ignored by LLVM.

Differential Revision: https://reviews.llvm.org/D68824
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/CodeGen/CGBuiltin.cppclang.src/lib/CodeGen/CGBuiltin.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGCall.cppclang.src/lib/CodeGen/CGCall.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGExprScalar.cppclang.src/lib/CodeGen/CGExprScalar.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGStmtOpenMP.cppclang.src/lib/CodeGen/CGStmtOpenMP.cpp
The file was modified/cfe/trunk/lib/CodeGen/CodeGenFunction.cppclang.src/lib/CodeGen/CodeGenFunction.cpp
The file was modified/cfe/trunk/lib/CodeGen/CodeGenFunction.hclang.src/lib/CodeGen/CodeGenFunction.h
The file was modified/cfe/trunk/lib/Sema/SemaChecking.cppclang.src/lib/Sema/SemaChecking.cpp
The file was modified/cfe/trunk/test/Sema/builtin-assume-aligned.cclang.src/test/Sema/builtin-assume-aligned.c
Revision 374449 by rnk:
Add -fgnuc-version= to control __GNUC__ and other GCC macros

I noticed that compiling on Windows with -fno-ms-compatibility had the
side effect of defining __GNUC__, along with __GNUG__, __GXX_RTTI__, and
a number of other macros for GCC compatibility. This is undesirable and
causes Chromium to do things like mix __attribute__ and __declspec,
which doesn't work. We should have a positive language option to enable
GCC compatibility features so that we can experiment with
-fno-ms-compatibility on Windows. This change adds -fgnuc-version= to be
that option.

My issue aside, users have, for a long time, reported that __GNUC__
doesn't match their expectations in one way or another. We have
encouraged users to migrate code away from this macro, but new code
continues to be written assuming a GCC-only environment. There's really
nothing we can do to stop that. By adding this flag, we can allow them
to choose their own adventure with __GNUC__.

This overlaps a bit with the "GNUMode" language option from -std=gnu*.
The gnu language mode tends to enable non-conforming behaviors that we'd
rather not enable by default, but the we want to set things like
__GXX_RTTI__ by default, so I've kept these separate.

Helps address PR42817

Reviewed By: hans, nickdesaulniers, MaskRay

Differential Revision: https://reviews.llvm.org/D68055
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/ReleaseNotes.rstclang.src/docs/ReleaseNotes.rst
The file was modified/cfe/trunk/docs/UsersManual.rstclang.src/docs/UsersManual.rst
The file was modified/cfe/trunk/include/clang/Basic/LangOptions.defclang.src/include/clang/Basic/LangOptions.def
The file was modified/cfe/trunk/include/clang/Driver/Options.tdclang.src/include/clang/Driver/Options.td
The file was modified/cfe/trunk/lib/Driver/ToolChains/Clang.cppclang.src/lib/Driver/ToolChains/Clang.cpp
The file was modified/cfe/trunk/lib/Frontend/CompilerInvocation.cppclang.src/lib/Frontend/CompilerInvocation.cpp
The file was modified/cfe/trunk/lib/Frontend/InitPreprocessor.cppclang.src/lib/Frontend/InitPreprocessor.cpp
The file was added/cfe/trunk/test/Driver/fgnuc-version.cclang.src/test/Driver/fgnuc-version.c
The file was modified/cfe/trunk/test/Driver/rewrite-legacy-objc.mclang.src/test/Driver/rewrite-legacy-objc.m
The file was modified/cfe/trunk/test/Driver/rewrite-objc.mclang.src/test/Driver/rewrite-objc.m
The file was modified/cfe/trunk/test/Frontend/gnu-inline.cclang.src/test/Frontend/gnu-inline.c
The file was modified/cfe/trunk/test/Headers/stdbool.cppclang.src/test/Headers/stdbool.cpp
The file was modified/cfe/trunk/test/Preprocessor/init.cclang.src/test/Preprocessor/init.c
The file was modified/cfe/trunk/test/Sema/atomic-ops.cclang.src/test/Sema/atomic-ops.c
Revision 374448 by eugenis:
Add a missing include in test.

A fix for r373993.
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/crypt.cppcompiler-rt.src/test/sanitizer_common/TestCases/Posix/crypt.cpp
Revision 374447 by asbirlea:
[MemorySSA] Additional handling of unreachable blocks.

Summary:
Whenever we get the previous definition, the assumption is that the
recursion starts ina  reachable block.
If the recursion starts in an unreachable block, we may recurse
indefinitely. Handle this case by returning LoE if the block is
unreachable.

Resolves PR43426.

Reviewers: george.burgess.iv

Subscribers: Prazek, sanjoy.google, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68809
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/pr43426.llllvm.src/test/Analysis/MemorySSA/pr43426.ll
Revision 374446 by greened:
[System Model] [TTI] Move default cache/prefetch implementations

Move the default implementations of cache and prefetch queries to
TargetTransformInfoImplBase and delete them from NoTIIImpl.  This brings these
interfaces in line with how other TTI interfaces work.

Differential Revision: https://reviews.llvm.org/D68804
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Analysis/TargetTransformInfoImpl.hllvm.src/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modified/llvm/trunk/include/llvm/CodeGen/BasicTTIImpl.hllvm.src/include/llvm/CodeGen/BasicTTIImpl.h
The file was modified/llvm/trunk/lib/Analysis/TargetTransformInfo.cppllvm.src/lib/Analysis/TargetTransformInfo.cpp
Revision 374445 by gclayton:
Fix a documentation warning from GSYM commit.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/DebugInfo/GSYM/GsymCreator.hllvm.src/include/llvm/DebugInfo/GSYM/GsymCreator.h
Revision 374443 by zturner:
[MSVC] Automatically add atlmfc folder to include and libpath.

Differential Revision: https://reviews.llvm.org/D68736
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Driver/ToolChains/MSVC.cppclang.src/lib/Driver/ToolChains/MSVC.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/MSVC.hclang.src/lib/Driver/ToolChains/MSVC.h
Revision 374442 by zturner:
[PDB] Fix bug when using multiple PCH header objects with the same name.

A common pattern in Windows is to have all your precompiled headers
use an object named stdafx.obj.  If you've got a project with many
different static libs, you might use a separate PCH for each one of
these.

During the final link step, a file from A might reference the PCH
object from A, but it will have the same name (stdafx.obj) as any
other PCH from another project.  The only difference will be the
path.  For example, A might be A/stdafx.obj while B is B/stdafx.obj.

The existing algorithm checks only the filename that was passed on
the command line (or stored in archive), but this is insufficient in
the case where relative paths are used, because depending on the
command line object file / library order, it might find the wrong
PCH object first resulting in a signature mismatch.

The fix here is to simply check whether the absolute path of the
PCH object (which is stored in the input obj file for the file that
references the PCH) *ends with* the full relative path of whatever
is specified on the command line (or is in the archive).

Differential Revision: https://reviews.llvm.org/D66431
Change TypePath in RepositoryPath in Workspace
The file was modified/lld/trunk/COFF/PDB.cppN/A
The file was added/lld/trunk/test/COFF/Inputs/precompaN/A
The file was added/lld/trunk/test/COFF/Inputs/precompa/precomp.objN/A
The file was added/lld/trunk/test/COFF/Inputs/precompa/useprecomp.objN/A
The file was added/lld/trunk/test/COFF/Inputs/precompbN/A
The file was added/lld/trunk/test/COFF/Inputs/precompb/precomp.objN/A
The file was added/lld/trunk/test/COFF/Inputs/precompb/useprecomp.objN/A
The file was added/lld/trunk/test/COFF/precomp-link-samename.testN/A
The file was modified/lld/trunk/test/COFF/precomp-link.testN/A
The file was modified/llvm/trunk/include/llvm/DebugInfo/PDB/GenericError.hllvm.src/include/llvm/DebugInfo/PDB/GenericError.h
The file was modified/llvm/trunk/lib/DebugInfo/PDB/GenericError.cppllvm.src/lib/DebugInfo/PDB/GenericError.cpp
Revision 374441 by yln:
[lit] Add comment explaining the LIT_OPTS env var overrides command line options

Normally, command line options override environment variables.  Add
comment to state that we are doing the reverse on purpose.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/lit/cl_arguments.pyllvm.src/utils/lit/lit/cl_arguments.py
Revision 374440 by jrose:
ADT: Save a word in every StringSet entry

Add a specialization to StringMap (actually StringMapEntry) for a
value type of NoneType (the type of llvm::None), and use it for
StringSet. This'll save us a word from every entry in a StringSet,
used for alignment with the size_t that stores the string length.

I could have gone all the way to some kind of empty base class
optimization, but that seemed like overkill. Someone can consider
adding that in the future, though.

https://reviews.llvm.org/D68586
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ADT/StringMap.hllvm.src/include/llvm/ADT/StringMap.h
The file was modified/llvm/trunk/include/llvm/ADT/StringSet.hllvm.src/include/llvm/ADT/StringSet.h
The file was modified/llvm/trunk/include/llvm/IR/Metadata.hllvm.src/include/llvm/IR/Metadata.h
The file was modified/llvm/trunk/include/llvm/LTO/legacy/LTOCodeGenerator.hllvm.src/include/llvm/LTO/legacy/LTOCodeGenerator.h
The file was modified/llvm/trunk/lib/LTO/LTOCodeGenerator.cppllvm.src/lib/LTO/LTOCodeGenerator.cpp
Revision 374439 by mspencer:
[ScanDeps] clang-format, 80 cols.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cppclang.src/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
Revision 374438 by abataev:
[OPENMP]Update doc for supported constructs, NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/OpenMPSupport.rstclang.src/docs/OpenMPSupport.rst
Revision 374437 by abataev:
[OPENMP50]Support for 'master taskloop' directive.

Added full support for master taskloop directive.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang-c/Index.hclang.src/include/clang-c/Index.h
The file was modified/cfe/trunk/include/clang/AST/RecursiveASTVisitor.hclang.src/include/clang/AST/RecursiveASTVisitor.h
The file was modified/cfe/trunk/include/clang/AST/StmtOpenMP.hclang.src/include/clang/AST/StmtOpenMP.h
The file was modified/cfe/trunk/include/clang/Basic/OpenMPKinds.defclang.src/include/clang/Basic/OpenMPKinds.def
The file was modified/cfe/trunk/include/clang/Basic/StmtNodes.tdclang.src/include/clang/Basic/StmtNodes.td
The file was modified/cfe/trunk/include/clang/Sema/Sema.hclang.src/include/clang/Sema/Sema.h
The file was modified/cfe/trunk/include/clang/Serialization/ASTBitCodes.hclang.src/include/clang/Serialization/ASTBitCodes.h
The file was modified/cfe/trunk/lib/AST/StmtOpenMP.cppclang.src/lib/AST/StmtOpenMP.cpp
The file was modified/cfe/trunk/lib/AST/StmtPrinter.cppclang.src/lib/AST/StmtPrinter.cpp
The file was modified/cfe/trunk/lib/AST/StmtProfile.cppclang.src/lib/AST/StmtProfile.cpp
The file was modified/cfe/trunk/lib/Basic/OpenMPKinds.cppclang.src/lib/Basic/OpenMPKinds.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGOpenMPRuntime.cppclang.src/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGOpenMPRuntimeNVPTX.cppclang.src/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGStmt.cppclang.src/lib/CodeGen/CGStmt.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGStmtOpenMP.cppclang.src/lib/CodeGen/CGStmtOpenMP.cpp
The file was modified/cfe/trunk/lib/CodeGen/CodeGenFunction.hclang.src/lib/CodeGen/CodeGenFunction.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/TreeTransform.hclang.src/lib/Sema/TreeTransform.h
The file was modified/cfe/trunk/lib/Serialization/ASTReaderStmt.cppclang.src/lib/Serialization/ASTReaderStmt.cpp
The file was modified/cfe/trunk/lib/Serialization/ASTWriterStmt.cppclang.src/lib/Serialization/ASTWriterStmt.cpp
The file was modified/cfe/trunk/lib/StaticAnalyzer/Core/ExprEngine.cppclang.src/lib/StaticAnalyzer/Core/ExprEngine.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_ast_print.cppclang.src/test/OpenMP/master_taskloop_ast_print.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_codegen.cppclang.src/test/OpenMP/master_taskloop_codegen.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_collapse_messages.cppclang.src/test/OpenMP/master_taskloop_collapse_messages.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_final_messages.cppclang.src/test/OpenMP/master_taskloop_final_messages.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_firstprivate_codegen.cppclang.src/test/OpenMP/master_taskloop_firstprivate_codegen.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_firstprivate_messages.cppclang.src/test/OpenMP/master_taskloop_firstprivate_messages.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_grainsize_messages.cppclang.src/test/OpenMP/master_taskloop_grainsize_messages.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_in_reduction_codegen.cppclang.src/test/OpenMP/master_taskloop_in_reduction_codegen.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_in_reduction_messages.cppclang.src/test/OpenMP/master_taskloop_in_reduction_messages.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_lastprivate_codegen.cppclang.src/test/OpenMP/master_taskloop_lastprivate_codegen.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_lastprivate_messages.cppclang.src/test/OpenMP/master_taskloop_lastprivate_messages.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_loop_messages.cppclang.src/test/OpenMP/master_taskloop_loop_messages.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_misc_messages.cclang.src/test/OpenMP/master_taskloop_misc_messages.c
The file was added/cfe/trunk/test/OpenMP/master_taskloop_num_tasks_messages.cppclang.src/test/OpenMP/master_taskloop_num_tasks_messages.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_priority_messages.cppclang.src/test/OpenMP/master_taskloop_priority_messages.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_private_codegen.cppclang.src/test/OpenMP/master_taskloop_private_codegen.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_private_messages.cppclang.src/test/OpenMP/master_taskloop_private_messages.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_reduction_codegen.cppclang.src/test/OpenMP/master_taskloop_reduction_codegen.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_reduction_messages.cppclang.src/test/OpenMP/master_taskloop_reduction_messages.cpp
The file was modified/cfe/trunk/tools/libclang/CIndex.cppclang.src/tools/libclang/CIndex.cpp
The file was modified/cfe/trunk/tools/libclang/CXCursor.cppclang.src/tools/libclang/CXCursor.cpp
Revision 374436 by spatel:
[x86] reduce duplicate test assertions; NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/selectcc-to-shiftand.llllvm.src/test/CodeGen/X86/selectcc-to-shiftand.ll
Revision 374432 by yln:
[lit] Bring back `--threads` option alias

Bring back `--threads` option which was lost in the move of the
command line argument parsing code to cl_arguments.py.  Update docs
since `--workers` is preferred.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/lit.rstllvm.src/docs/CommandGuide/lit.rst
The file was modified/llvm/trunk/utils/lit/lit/cl_arguments.pyllvm.src/utils/lit/lit/cl_arguments.py
Revision 374431 by ctopper:
[X86] Use packusdw+vpmovuswb to implement v16i32->V16i8 that clamps signed inputs to be between 0 and 255 when zmm registers are disabled on SKX.

If we've disable zmm registers, the v16i32 will need to be split. This split will propagate through min/max the truncate. This creates two sequences that need to be concatenated back to v16i8. We can instead use packusdw to do part of the clamping, truncating, and concatenating all at once. Then we can use a vpmovuswb to finish off the clamp.

Differential Revision: https://reviews.llvm.org/D68763
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/min-legal-vector-width.llllvm.src/test/CodeGen/X86/min-legal-vector-width.ll
Revision 374429 by jdenny:
Revert r374388: "[lit] Make internal diff work in pipelines"

This breaks a Windows bot.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/lit/TestRunner.pyllvm.src/utils/lit/lit/TestRunner.py
The file was removed/llvm/trunk/utils/lit/lit/builtin_commands/diff.pyllvm.src/utils/lit/lit/builtin_commands/diff.py
The file was added/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-error-0.txtllvm.src/utils/lit/tests/Inputs/shtest-shell/diff-error-0.txt
The file was removed/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-pipes.txtllvm.src/utils/lit/tests/Inputs/shtest-shell/diff-pipes.txt
The file was modified/llvm/trunk/utils/lit/tests/shtest-shell.pyllvm.src/utils/lit/tests/shtest-shell.py
Revision 374428 by jsji:
[PowerPC][docs] Update IBM official docs in Compiler Writers Info page

Summary:
Just realized that most of the links in this page are deprecated.
So update some important reference here:
* adding PowerISA 3.0B/2.7B
* adding P8/P9 User Manual
* ELFv2 ABI and errata

Move deprecated ones into "Other documents..".

Reviewers: #powerpc, hfinkel, nemanjai

Reviewed By: hfinkel

Subscribers: shchenz, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68817
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CompilerWriterInfo.rstllvm.src/docs/CompilerWriterInfo.rst
Revision 374427 by jdenny:
Revert r374389: "[lit] Clean up internal diff's encoding handling"

This breaks a Windows bot.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/lit/builtin_commands/diff.pyllvm.src/utils/lit/lit/builtin_commands/diff.py
The file was removed/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-encodings.txtllvm.src/utils/lit/tests/Inputs/shtest-shell/diff-encodings.txt
The file was removed/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-in.binllvm.src/utils/lit/tests/Inputs/shtest-shell/diff-in.bin
The file was removed/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-in.utf16llvm.src/utils/lit/tests/Inputs/shtest-shell/diff-in.utf16
The file was removed/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-in.utf8llvm.src/utils/lit/tests/Inputs/shtest-shell/diff-in.utf8
The file was modified/llvm/trunk/utils/lit/tests/max-failures.pyllvm.src/utils/lit/tests/max-failures.py
The file was modified/llvm/trunk/utils/lit/tests/shtest-shell.pyllvm.src/utils/lit/tests/shtest-shell.py
Revision 374426 by jdenny:
Revert r374390: "[lit] Extend internal diff to support `-` argument"

This breaks a Windows bot.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/lit/builtin_commands/diff.pyllvm.src/utils/lit/lit/builtin_commands/diff.py
The file was modified/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-encodings.txtllvm.src/utils/lit/tests/Inputs/shtest-shell/diff-encodings.txt
The file was modified/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-pipes.txtllvm.src/utils/lit/tests/Inputs/shtest-shell/diff-pipes.txt
The file was removed/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-r-error-7.txtllvm.src/utils/lit/tests/Inputs/shtest-shell/diff-r-error-7.txt
The file was removed/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-r-error-8.txtllvm.src/utils/lit/tests/Inputs/shtest-shell/diff-r-error-8.txt
The file was modified/llvm/trunk/utils/lit/tests/max-failures.pyllvm.src/utils/lit/tests/max-failures.py
The file was modified/llvm/trunk/utils/lit/tests/shtest-shell.pyllvm.src/utils/lit/tests/shtest-shell.py
Revision 374425 by jdenny:
Revert r374392: "[lit] Extend internal diff to support -U"

This breaks a Windows bot.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/lit/builtin_commands/diff.pyllvm.src/utils/lit/lit/builtin_commands/diff.py
The file was removed/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/diff-unified.txtllvm.src/utils/lit/tests/Inputs/shtest-shell/diff-unified.txt
The file was modified/llvm/trunk/utils/lit/tests/max-failures.pyllvm.src/utils/lit/tests/max-failures.py
The file was modified/llvm/trunk/utils/lit/tests/shtest-shell.pyllvm.src/utils/lit/tests/shtest-shell.py
Revision 374421 by nico:
win: Move Parallel.h off concrt to cross-platform code

r179397 added Parallel.h and implemented it terms of concrt in 2013.

In 2015, a cross-platform implementation of the functions has appeared
and is in use everywhere but on Windows (r232419).  r246219 hints that
<thread> had issues in MSVC2013, but r296906 suggests they've been fixed
now that we require 2015+.

So remove the concrt code. It's less code, and it sounds like concrt has
conceptual and performance issues, see PR41198.

I built blink_core.dll in a debug component build with full symbols and
in a release component build without any symbols.  I couldn't measure a
performance difference for linking blink_core.dll before and after this
patch.

Differential Revision: https://reviews.llvm.org/D68820
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Support/Parallel.hllvm.src/include/llvm/Support/Parallel.h
The file was modified/llvm/trunk/lib/Support/Parallel.cppllvm.src/lib/Support/Parallel.cpp
Revision 374420 by xiangling_liao:
[NFC][PowerPC]Clean up PPCAsmPrinter for TOC related pseudo opcode

Add a helper function getMCSymbolForTOCPseudoMO to clean up PPCAsmPrinter
a little bit.

Differential Revision: https://reviews.llvm.org/D68721
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cppllvm.src/lib/Target/PowerPC/PPCAsmPrinter.cpp
Revision 374419 by efriedma:
[ARM] Fix arm_neon.h with -flax-vector-conversions=none, part 2.

Just running -fsyntax-only over arm_neon.h doesn't cover some intrinsics
which are defined using macros.  Add more test coverage for that.

arm-neon-header.c wasn't checking the full set of available NEON target
features; change the target architecture of the test to account for
that.

Fix the generator for arm_neon.h to generate casts in more cases where
they are necessary.

Fix VFMLAL_LOW etc. to express their signatures differently, so the
builtins have the expected type. Maybe the TableGen backend should
detect intrinsics that are defined the wrong way, and produce an error.
The rules here are sort of strange.

Differential Revision: https://reviews.llvm.org/D68743
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/arm_neon.tdclang.src/include/clang/Basic/arm_neon.td
The file was modified/cfe/trunk/test/CodeGen/aarch64-neon-intrinsics.cclang.src/test/CodeGen/aarch64-neon-intrinsics.c
The file was modified/cfe/trunk/test/CodeGen/arm_neon_intrinsics.cclang.src/test/CodeGen/arm_neon_intrinsics.c
The file was modified/cfe/trunk/test/Headers/arm-neon-header.cclang.src/test/Headers/arm-neon-header.c
The file was modified/cfe/trunk/utils/TableGen/NeonEmitter.cppclang.src/utils/TableGen/NeonEmitter.cpp
Revision 374418 by rnk:
Fix one more clang test which didn't have \5C in it
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/CoverageMapping/abspath.cppclang.src/test/CoverageMapping/abspath.cpp
Revision 374416 by rnk:
Update clang tests for new LLVM IR backslash printing in r374415
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/CodeGen/debug-prefix-map.cclang.src/test/CodeGen/debug-prefix-map.c
The file was modified/cfe/trunk/test/CodeGen/string-literal.cclang.src/test/CodeGen/string-literal.c
The file was modified/cfe/trunk/test/CodeGen/ubsan-strip-path-components.cppclang.src/test/CodeGen/ubsan-strip-path-components.cpp
The file was modified/cfe/trunk/test/Driver/darwin-debug-flags.cclang.src/test/Driver/darwin-debug-flags.c
The file was modified/cfe/trunk/test/Profile/gcc-flag-compatibility.cclang.src/test/Profile/gcc-flag-compatibility.c