<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/include, branch release_33</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/include?h=release_33</id>
<link rel='self' href='https://git.amat.us/llvm/atom/include?h=release_33'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2013-05-06T21:56:35Z</updated>
<entry>
<title>Implemented public interface for modifying registered (not positional or sink options) command line options at runtime.</title>
<updated>2013-05-06T21:56:35Z</updated>
<author>
<name>Andrew Trick</name>
<email>atrick@apple.com</email>
</author>
<published>2013-05-06T21:56:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=61e01721978af4c2979c4b9153e56e72eb6389fb'/>
<id>urn:sha1:61e01721978af4c2979c4b9153e56e72eb6389fb</id>
<content type='text'>
Patch by Dan Liew!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181254 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Support command line option categories.</title>
<updated>2013-05-06T21:56:23Z</updated>
<author>
<name>Andrew Trick</name>
<email>atrick@apple.com</email>
</author>
<published>2013-05-06T21:56:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=b7ad33b7195cb99b0cbb1c5308324d328650ca45'/>
<id>urn:sha1:b7ad33b7195cb99b0cbb1c5308324d328650ca45</id>
<content type='text'>
Patch by Dan Liew!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181253 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Provide InstCombines for the following 3 cases:</title>
<updated>2013-05-06T16:55:50Z</updated>
<author>
<name>Jean-Luc Duprat</name>
<email>jduprat@apple.com</email>
</author>
<published>2013-05-06T16:55:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=c5cf6e536598a3b1e30fce616b771d66a071a54c'/>
<id>urn:sha1:c5cf6e536598a3b1e30fce616b771d66a071a54c</id>
<content type='text'>
A * (1 - (uitofp i1 C)) -&gt; select C, 0, A
B * (uitofp i1 C) -&gt; select C, B, 0
select C, 0, A + select C, B, 0 -&gt; select C, B, A

These come up in code that has been hand-optimized from a select to a linear blend, 
on platforms where that may have mattered. We want to undo such changes 
with the following transform:
A*(1 - uitofp i1 C) + B*(uitofp i1 C) -&gt; select C, A, B



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181216 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix formatting.  Patch by o11c.</title>
<updated>2013-05-06T08:55:45Z</updated>
<author>
<name>Duncan Sands</name>
<email>baldrick@free.fr</email>
</author>
<published>2013-05-06T08:55:45Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=5d042c63741bc5ccec8ad18bfebf9f621fcde640'/>
<id>urn:sha1:5d042c63741bc5ccec8ad18bfebf9f621fcde640</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181189 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix const merging when an alias of a const is llvm.used.</title>
<updated>2013-05-06T01:48:55Z</updated>
<author>
<name>Rafael Espindola</name>
<email>rafael.espindola@gmail.com</email>
</author>
<published>2013-05-06T01:48:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=eaf14786ca3975266ed7041ac242122c02baf1cf'/>
<id>urn:sha1:eaf14786ca3975266ed7041ac242122c02baf1cf</id>
<content type='text'>
We used to disable constant merging not only if a constant is llvm.used, but
also if an alias of a constant is llvm.used. This change fixes that.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181175 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add EH support to the MCJIT.</title>
<updated>2013-05-05T20:43:10Z</updated>
<author>
<name>Rafael Espindola</name>
<email>rafael.espindola@gmail.com</email>
</author>
<published>2013-05-05T20:43:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=a2e40fbd624916c187a95ed76939ca7f02ed3e53'/>
<id>urn:sha1:a2e40fbd624916c187a95ed76939ca7f02ed3e53</id>
<content type='text'>
This gets exception handling working on ELF and Macho (x86-64 at least).
Other than the EH frame registration, this patch also implements support
for GOT relocations which are used to locate the personality function on
MachO.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181167 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>For ARM backend, fixed "byval" attribute support.</title>
<updated>2013-05-05T07:48:36Z</updated>
<author>
<name>Stepan Dyatkovskiy</name>
<email>stpworld@narod.ru</email>
</author>
<published>2013-05-05T07:48:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=46abfcf4187432da728cbe452c32143da077e07f'/>
<id>urn:sha1:46abfcf4187432da728cbe452c32143da077e07f</id>
<content type='text'>
Now even the small structures could be passed within byval (small enough
to be stored in GPRs).
In regression tests next function prototypes are checked:

PR15293:
  %artz = type { i32 }
  define void @foo(%artz* byval %s)
  define void @foo2(%artz* byval %s, i32 %p, %artz* byval %s2)
foo: "s" stored in R0
foo2: "s" stored in R0, "s2" stored in R2.

Next AAPCS rules are checked:
5.5 Parameters Passing, C.4 and C.5,
"ParamSize" is parameter size in 32bit words:
-- NSAA != 0, NCRN &lt; R4 and NCRN+ParamSize &gt; R4.
   Parameter should be sent to the stack; NCRN := R4.
-- NSAA != 0, and NCRN &lt; R4, NCRN+ParamSize &lt; R4.
   Parameter stored in GPRs; NCRN += ParamSize.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181148 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>PatternMatch: Fix documentation - 'function' not 'attribute'</title>
<updated>2013-05-05T02:01:41Z</updated>
<author>
<name>Arnold Schwaighofer</name>
<email>aschwaighofer@apple.com</email>
</author>
<published>2013-05-05T02:01:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=f127be1e380d47d4c6588c7445a4db90f98ab534'/>
<id>urn:sha1:f127be1e380d47d4c6588c7445a4db90f98ab534</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181146 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>PatternMatch: Matcher for (un)ordered floating point min/max</title>
<updated>2013-05-05T01:54:46Z</updated>
<author>
<name>Arnold Schwaighofer</name>
<email>aschwaighofer@apple.com</email>
</author>
<published>2013-05-05T01:54:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=e79d92c592d75e210dbe3abe1a975e859d17e953'/>
<id>urn:sha1:e79d92c592d75e210dbe3abe1a975e859d17e953</id>
<content type='text'>
Add support for matching 'ordered' and 'unordered' floating point min/max
constructs.

In LLVM we can express min/max functions as a combination of compare and select.
We have support for matching such constructs for integers but not for floating
point. In floating point math there is no total order because of the presence of
'NaN'. Therefore, we have to be careful to preserve the original fcmp semantics
when interpreting floating point compare select combinations as a minimum or
maximum function. The resulting 'ordered/unordered' floating point maximum
function has to select the same value as the select/fcmp combination it is based
on.

 ordered_max(x,y)   = max(x,y) iff x and y are not NaN, y otherwise
 unordered_max(x,y) = max(x,y) iff x and y are not NaN, x otherwise
 ordered_min(x,y)   = min(x,y) iff x and y are not NaN, y otherwise
 unordered_min(x,y) = min(x,y) iff x and y are not NaN, x otherwise

This matches the behavior of the underlying select(fcmp(olt/ult/.., L, R), L, R)
construct.

Any code using this predicate has to preserve this semantics.

A follow-up patch will use this to implement floating point min/max reductions
in the vectorizer.

radar://13723044

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181143 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add ArrayRef constructor from None, and do the cleanups that this constructor enables</title>
<updated>2013-05-05T00:40:33Z</updated>
<author>
<name>Dmitri Gribenko</name>
<email>gribozavr@gmail.com</email>
</author>
<published>2013-05-05T00:40:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=5c332dbd30d9398ed25b30c3080506f7b8e92290'/>
<id>urn:sha1:5c332dbd30d9398ed25b30c3080506f7b8e92290</id>
<content type='text'>
Patch by Robert Wilhelm.


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