Changes from Git (git http://labmaster3.local/git/llvm-project.git)


  1. Revert "[CostModel] Unify Intrinsic Costs." (details)
  2. [CostModel] Sink intrinsic costs to base TTI. (details)
  3. On Windows, handle interrupt signals without crash message (details)
  4. Fix compile for -DLIBCXX_BUILD_EXTERNAL_THREAD_LIBRARY (details)
  5. Fix debug info for NoDebug attr (details)
Commit 259eb619ff6dcd5b6111d1686e18559b9ca004d4 by sam.parker
Revert "[CostModel] Unify Intrinsic Costs."

This reverts commit de71def3f59dc9f12f67141b5040d8e15c84d08a.

This is causing some very large changes, so I'm first going to break
this patch down and re-commit in parts.
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
Commit b263fee4d2c9c79980775f6d4bfefa3bbda8241b by sam.parker
[CostModel] Sink intrinsic costs to base TTI.

Recommitting part of "[CostModel] Unify Intrinsic Costs."

Move the switch statement from TTImpl::getIntrinsicCost to
TTI::getIntrinsicInstrCost. This enables BasicTTI to understand
more 'free' intrinsics instead of defaulting to a cost of 1.

Differential Revision:
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
Commit 79e5ecfa7a6c19ff08d39664bd30f72ab6e4f940 by james.henderson
On Windows, handle interrupt signals without crash message

For LLVM on *nix systems, the signal handlers are not run on signals
such as SIGINT due to CTRL-C. See sys::CleanupOnSignal. This makes
sense, as such signals are not really crashes. Prior to this change,
this wasn't the case on Windows, however. This patch changes the Windows
behaviour to be consistent with Linux, and adds testing that verifies

The test uses llvm-symbolizer, but any tool with an interactive mode
would do the job.


Reviewed by: MaskRay, rnk, aganea

Differential Revision:
The file was modifiedllvm/lib/Support/Windows/
The file was addedllvm/test/Support/interrupts.test
Commit 3411a1a92015921b1f348d0e7fcc6ab2b32971b3 by mikhail.maltsev

Summary: Compilation with  -DLIBCXX_BUILD_EXTERNAL_THREAD_LIBRARY was failing due to missing declarations of functions used in libcxx/include/atomic. The lines this commit affects are the places where those functions are defined, now moved to be always defined.

Reviewers: #libc, ldionne

Reviewed By: #libc, ldionne

Subscribers: miyuki, dexonsmith, ldionne, jfb, libcxx-commits

Tags: #libc

Differential Revision:
The file was modifiedlibcxx/include/__threading_support
Commit 361e4f14e35981e7498a38ab7c31da7fb7414fb8 by Yaxun.Liu
Fix debug info for NoDebug attr

NoDebug attr does not totally eliminate debug info about a function when
inlining is enabled. This is inconsistent with when inlining is disabled.

This patch fixes that.

Differential Revision:
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedclang/test/CodeGenCUDA/
The file was addedclang/test/CodeGen/nodebug-attr.c