<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/test/Analysis, branch stable</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/test/Analysis?h=stable</id>
<link rel='self' href='https://git.amat.us/llvm/atom/test/Analysis?h=stable'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2013-04-01T10:23:49Z</updated>
<entry>
<title>X86TTI: Add accurate costs for itofp operations, based on the actual instruction counts.</title>
<updated>2013-04-01T10:23:49Z</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2013-04-01T10:23:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=13497b3aa7589fc4f9e924f850a7e5151e9ddd2f'/>
<id>urn:sha1:13497b3aa7589fc4f9e924f850a7e5151e9ddd2f</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178459 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix SCEV forgetMemoizedResults should search and destroy backedge exprs.</title>
<updated>2013-03-26T03:14:53Z</updated>
<author>
<name>Andrew Trick</name>
<email>atrick@apple.com</email>
</author>
<published>2013-03-26T03:14:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=e74c2e86cb405963ba9c4043a1d0ca00b8f85fbe'/>
<id>urn:sha1:e74c2e86cb405963ba9c4043a1d0ca00b8f85fbe</id>
<content type='text'>
Fixes PR15570: SEGV: SCEV back-edge info invalid after dead code removal.

Indvars creates a SCEV expression for the loop's back edge taken
count, then determines that the comparison is always true and
removes it.

When loop-unroll asks for the expression, it contains a NULL
SCEVUnknkown (as a CallbackVH).

forgetMemoizedResults should invalidate the loop back edges expression.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177986 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Disable profiling tests for Hexagon since it doesn't support JIT.</title>
<updated>2013-03-25T21:15:11Z</updated>
<author>
<name>Jyotsna Verma</name>
<email>jverma@codeaurora.org</email>
</author>
<published>2013-03-25T21:15:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=1f7fe8044750ba348064699b5f52244b48234dfe'/>
<id>urn:sha1:1f7fe8044750ba348064699b5f52244b48234dfe</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177917 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Support in AAEvaluator to print alias queries of loads/stores with TBAA tags.</title>
<updated>2013-03-22T22:34:41Z</updated>
<author>
<name>Manman Ren</name>
<email>mren@apple.com</email>
</author>
<published>2013-03-22T22:34:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=a2e3834d1644889484ef3a8a94189b7369e3eaf9'/>
<id>urn:sha1:a2e3834d1644889484ef3a8a94189b7369e3eaf9</id>
<content type='text'>
Add "evaluate-tbaa" to print alias queries of loads/stores. Alias queries
between pointers do not include TBAA tags.

Add testing case for "placement new". TBAA currently says NoAlias.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177772 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Correct cost model for vector shift on AVX2</title>
<updated>2013-03-20T22:01:10Z</updated>
<author>
<name>Michael Liao</name>
<email>michael.liao@intel.com</email>
</author>
<published>2013-03-20T22:01:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=f74e9bf650d7c40d595d3bb60e3c901e2bccec4b'/>
<id>urn:sha1:f74e9bf650d7c40d595d3bb60e3c901e2bccec4b</id>
<content type='text'>
- After moving logic recognizing vector shift with scalar amount from
  DAG combining into DAG lowering, we declare to customize all vector
  shifts even vector shift on AVX is legal. As a result, the cost model
  needs special tuning to identify these legal cases.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177586 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Optimize sext &lt;4 x i8&gt; and &lt;4 x i16&gt; to &lt;4 x i64&gt;.</title>
<updated>2013-03-19T18:38:27Z</updated>
<author>
<name>Nadav Rotem</name>
<email>nrotem@apple.com</email>
</author>
<published>2013-03-19T18:38:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=b05130e1b20ed17ae9d5ab3351933babd27213e1'/>
<id>urn:sha1:b05130e1b20ed17ae9d5ab3351933babd27213e1</id>
<content type='text'>
Patch by Ahmad, Muhammad T &lt;muhammad.t.ahmad@intel.com&gt;



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177421 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Improve long vector sext/zext lowering on ARM</title>
<updated>2013-03-19T08:15:38Z</updated>
<author>
<name>Renato Golin</name>
<email>renato.golin@linaro.org</email>
</author>
<published>2013-03-19T08:15:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=5ad5f5931e34d5be410b1e901640bc1c2d308612'/>
<id>urn:sha1:5ad5f5931e34d5be410b1e901640bc1c2d308612</id>
<content type='text'>
The ARM backend currently has poor codegen for long sext/zext
operations, such as v8i8 -&gt; v8i32. This patch addresses this
by performing a custom expansion in ARMISelLowering. It also
adds/changes the cost of such lowering in ARMTTI.

This partially addresses PR14867.

Patch by Pete Couperus

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177380 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>ARM cost model: Make some vector integer to float casts cheaper</title>
<updated>2013-03-18T22:47:09Z</updated>
<author>
<name>Arnold Schwaighofer</name>
<email>aschwaighofer@apple.com</email>
</author>
<published>2013-03-18T22:47:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=bf37bf9e21653f2439960d906a9c28cc19042bb0'/>
<id>urn:sha1:bf37bf9e21653f2439960d906a9c28cc19042bb0</id>
<content type='text'>
The default logic marks them as too expensive.

For example, before this patch we estimated:
  cost of 16 for instruction:   %r = uitofp &lt;4 x i16&gt; %v0 to &lt;4 x float&gt;

While this translates to:
  vmovl.u16 q8, d16
  vcvt.f32.u32  q8, q8

All other costs are left to the values assigned by the fallback logic. Theses
costs are mostly reasonable in the sense that they get progressively more
expensive as the instruction sequences emitted get longer.

radar://13445992

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177334 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>ARM cost model: Correct cost for some cheap float to integer conversions</title>
<updated>2013-03-18T22:47:06Z</updated>
<author>
<name>Arnold Schwaighofer</name>
<email>aschwaighofer@apple.com</email>
</author>
<published>2013-03-18T22:47:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=01f25710148721f9fc2dece5eec17899ca414bcc'/>
<id>urn:sha1:01f25710148721f9fc2dece5eec17899ca414bcc</id>
<content type='text'>
Fix cost of some "cheap" cast instructions. Before this patch we used to
estimate for example:
  cost of 16 for instruction:   %r = fptoui &lt;4 x float&gt; %v0 to &lt;4 x i16&gt;

While we would emit:
  vcvt.s32.f32  q8, q8
  vmovn.i32 d16, q8
  vuzp.8  d16, d17

All other costs are left to the values assigned by the fallback logic. Theses
costs are mostly reasonable in the sense that they get progressively more
expensive as the instruction sequences emitted get longer.

radar://13434072

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177333 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>ARM cost model: Fix costs for some vector selects</title>
<updated>2013-03-15T18:31:01Z</updated>
<author>
<name>Arnold Schwaighofer</name>
<email>aschwaighofer@apple.com</email>
</author>
<published>2013-03-15T18:31:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=5193e4ebe216dd5a07ab9cc58d40de5aafaa990c'/>
<id>urn:sha1:5193e4ebe216dd5a07ab9cc58d40de5aafaa990c</id>
<content type='text'>
I was too pessimistic in r177105. Vector selects that fit into a legal register
type lower just fine. I was mislead by the code fragment that I was using. The
stores/loads that I saw in those cases came from lowering the conditional off
an address.

Changing the code fragment to:

%T0_3 = type &lt;8 x i18&gt;
%T1_3 = type &lt;8 x i1&gt;

define void @func_blend3(%T0_3* %loadaddr, %T0_3* %loadaddr2,
                         %T1_3* %blend, %T0_3* %storeaddr) {
  %v0 = load %T0_3* %loadaddr
  %v1 = load %T0_3* %loadaddr2
==&gt; FROM:
  ;%c = load %T1_3* %blend
==&gt; TO:
  %c = icmp slt %T0_3 %v0, %v1
==&gt; USE:
  %r = select %T1_3 %c, %T0_3 %v0, %T0_3 %v1

  store %T0_3 %r, %T0_3* %storeaddr
  ret void
}

revealed this mistake.

radar://13403975

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177170 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
</feed>
