FailedChanges

Summary

  1. Fix accounting of tbss. We were correctly computing the size contribution of a .tbss input section (it is none), but we were incorrectly considering the alignment of the output section: it was advancing Dot instead of ThreadBssOffset. As far as I can tell this was always wrong in our linkerscript implementation, but that became more visible now that the code is shared with the non linker script case.
  2. llvm/IR/Function.h: Prune an obsolete @param in r302060. [-Wdocumentation]
  3. [libcxx] [test] Strip trailing whitespace. NFC.
  4. [libcxx] [test] In msvc_stdlib_force_include.hpp, use _HAS_CXX17 to set TEST_STD_VER. _HAS_CXX17 indicates whether MSVC's STL is in C++17 mode. In MSVC there's a distinction between CRT headers like stdlib.h and STL headers like cstdlib. Only the STL headers drag in yvals.h, our internal STL-wide header that defines internal macros like _HAS_CXX17. _HAS_CXX17 is an MSVC STL library macro, unconditionally defined. We centralize everything on this, because we have to ask different questions to determine whether C1XX, EDG, or Clang is in 14 or 17 mode, and we additionally permit users to override the detection in one way (it's okay to ask for 17 from the compiler, but only 14 from the libs, at least for the moment; only noexcept in the type system will give us a headache). As this header is for testing MSVC's STL, we can assume _HAS_CXX17 is defined. Fixes D32726.
  5. [XRay] Detect loops in functions being lowered Summary: This is an implementation of the loop detection logic that XRay needs to determine whether a function might take time at runtime. Without this heuristic, XRay will tend to not instrument short functions that have loops that might have runtime dependent on inputs or external values. While this implementation doesn't do any further analysis than just figuring out whether there is a loop in the MachineFunction being code-gen'ed, we're paving the way for being able to perform more sophisticated analysis of the function in the future (for example to determine whether the trip count for the loop might be constant, and make a decision on that instead). This enables us to cover more functions with the default heuristics, and potentially identify ones that have variable runtime latency just by looking for the presence of loops. Reviewers: chandlerc, rnk, pelikan Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D32274
  6. Attempt to escape paths correctly
  7. Attempt to setup MSVC 2017
Revision 302107 by rafael:
Fix accounting of tbss.

We were correctly computing the size contribution of a .tbss input
section (it is none), but we were incorrectly considering the
alignment of the output section: it was advancing Dot instead of
ThreadBssOffset.

As far as I can tell this was always wrong in our linkerscript
implementation, but that became more visible now that the code is
shared with the non linker script case.
Change TypePath in RepositoryPath in Workspace
The file was modified/lld/trunk/ELF/LinkerScript.cpp (diff)llvm-revision.src/lld/trunk/ELF/LinkerScript.cpp
The file was modified/lld/trunk/ELF/LinkerScript.h (diff)llvm-revision.src/lld/trunk/ELF/LinkerScript.h
The file was modified/lld/trunk/test/ELF/tls-offset.s (diff)llvm-revision.src/lld/trunk/test/ELF/tls-offset.s
Revision 302106 by chapuni:
llvm/IR/Function.h: Prune an obsolete @param in r302060. [-Wdocumentation]
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/Function.h (diff)llvm-revision.src/llvm/trunk/include/llvm/IR/Function.h
Revision 302105 by stl_msft:
[libcxx] [test] Strip trailing whitespace. NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/libcxx/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.cxx1z.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.cxx1z.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/depr/depr.function.objects/depr.adaptors.cxx1z.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/depr/depr.function.objects/depr.adaptors.cxx1z.pass.cpp
The file was modified/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy_if.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy_if.pass.cpp
The file was modified/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.count/count_if.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.count/count_if.pass.cpp
The file was modified/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find/find_if.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find/find_if.pass.cpp
The file was modified/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find/find_if_not.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find/find_if_not.pass.cpp
The file was modified/libcxx/trunk/test/std/containers/sequences/vector.bool/vector_bool.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/containers/sequences/vector.bool/vector_bool.pass.cpp
The file was modified/libcxx/trunk/test/std/language.support/support.types/byte.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/language.support/support.types/byte.pass.cpp
The file was modified/libcxx/trunk/test/std/language.support/support.types/byteops/lshift.assign.fail.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/language.support/support.types/byteops/lshift.assign.fail.cpp
The file was modified/libcxx/trunk/test/std/language.support/support.types/byteops/lshift.assign.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/language.support/support.types/byteops/lshift.assign.pass.cpp
The file was modified/libcxx/trunk/test/std/language.support/support.types/byteops/lshift.fail.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/language.support/support.types/byteops/lshift.fail.cpp
The file was modified/libcxx/trunk/test/std/language.support/support.types/byteops/lshift.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/language.support/support.types/byteops/lshift.pass.cpp
The file was modified/libcxx/trunk/test/std/language.support/support.types/byteops/rshift.assign.fail.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/language.support/support.types/byteops/rshift.assign.fail.cpp
The file was modified/libcxx/trunk/test/std/language.support/support.types/byteops/rshift.assign.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/language.support/support.types/byteops/rshift.assign.pass.cpp
The file was modified/libcxx/trunk/test/std/language.support/support.types/byteops/rshift.fail.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/language.support/support.types/byteops/rshift.fail.cpp
The file was modified/libcxx/trunk/test/std/language.support/support.types/byteops/rshift.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/language.support/support.types/byteops/rshift.pass.cpp
The file was modified/libcxx/trunk/test/std/language.support/support.types/byteops/to_integer.fail.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/language.support/support.types/byteops/to_integer.fail.cpp
The file was modified/libcxx/trunk/test/std/language.support/support.types/byteops/to_integer.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/language.support/support.types/byteops/to_integer.pass.cpp
The file was modified/libcxx/trunk/test/std/re/re.alg/re.alg.match/awk.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/re/re.alg/re.alg.match/awk.pass.cpp
The file was modified/libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.pass.cpp
The file was modified/libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/mutex.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/mutex.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.ownerless/owner_less.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.ownerless/owner_less.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/copy.fail.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/copy.fail.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/move.fail.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/move.fail.cpp
The file was modified/libcxx/trunk/test/std/utilities/template.bitset/bitset.hash/bitset.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/template.bitset/bitset.hash/bitset.pass.cpp
Revision 302104 by stl_msft:
[libcxx] [test] In msvc_stdlib_force_include.hpp, use _HAS_CXX17 to set TEST_STD_VER.

_HAS_CXX17 indicates whether MSVC's STL is in C++17 mode.

In MSVC there's a distinction between CRT headers like stdlib.h and STL headers
like cstdlib. Only the STL headers drag in yvals.h, our internal STL-wide header
that defines internal macros like _HAS_CXX17.

_HAS_CXX17 is an MSVC STL library macro, unconditionally defined. We centralize
everything on this, because we have to ask different questions to determine
whether C1XX, EDG, or Clang is in 14 or 17 mode, and we additionally permit
users to override the detection in one way (it's okay to ask for 17 from the
compiler, but only 14 from the libs, at least for the moment; only noexcept
in the type system will give us a headache).

As this header is for testing MSVC's STL, we can assume _HAS_CXX17 is defined.

Fixes D32726.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/support/msvc_stdlib_force_include.hpp (diff)llvm-revision.src/libcxx/trunk/test/support/msvc_stdlib_force_include.hpp
Revision 302103 by dberris:
[XRay] Detect loops in functions being lowered

Summary:
This is an implementation of the loop detection logic that XRay needs to
determine whether a function might take time at runtime. Without this
heuristic, XRay will tend to not instrument short functions that have
loops that might have runtime dependent on inputs or external values.

While this implementation doesn't do any further analysis than just
figuring out whether there is a loop in the MachineFunction being
code-gen'ed, we're paving the way for being able to perform more
sophisticated analysis of the function in the future (for example to
determine whether the trip count for the loop might be constant, and
make a decision on that instead). This enables us to cover more
functions with the default heuristics, and potentially identify ones
that have variable runtime latency just by looking for the presence of
loops.

Reviewers: chandlerc, rnk, pelikan

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D32274
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/XRayInstrumentation.cpp (diff)llvm-revision.src/llvm/trunk/lib/CodeGen/XRayInstrumentation.cpp
The file was added/llvm/trunk/test/CodeGen/X86/xray-loop-detection.llllvm-revision.src/llvm/trunk/test/CodeGen/X86/xray-loop-detection.ll
Revision 302102 by ericwf:
Attempt to escape paths correctly
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/appveyor.yml (diff)llvm-revision.src/libcxx/trunk/appveyor.yml
Revision 302101 by ericwf:
Attempt to setup MSVC 2017
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/appveyor.yml (diff)llvm-revision.src/libcxx/trunk/appveyor.yml