<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emscripten-fastcomp-clang/lib/Basic, branch master</title>
<subtitle>emscripten clang</subtitle>
<id>https://git.amat.us/emscripten-fastcomp-clang/atom/lib/Basic?h=master</id>
<link rel='self' href='https://git.amat.us/emscripten-fastcomp-clang/atom/lib/Basic?h=master'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/'/>
<updated>2014-04-25T22:51:06Z</updated>
<entry>
<title>Introduce an Emscripten C++ ABI.</title>
<updated>2014-04-25T22:51:06Z</updated>
<author>
<name>Dan Gohman</name>
<email>sunfish@mozilla.com</email>
</author>
<published>2014-04-25T22:51:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=ad32fdb927a37dba26cb8b56f3a6b11667fe6584'/>
<id>urn:sha1:ad32fdb927a37dba26cb8b56f3a6b11667fe6584</id>
<content type='text'>
Emscripten uses the Itanium C++ ABI for most things, except that it uses
ARM C++ ABI pointers to member functions, to avoid the overhead of aligning
functions.
</content>
</entry>
<entry>
<title>set the emscripten backend's atomic widths to 32</title>
<updated>2014-04-10T00:19:03Z</updated>
<author>
<name>Alon Zakai</name>
<email>alonzakai@gmail.com</email>
</author>
<published>2014-04-10T00:19:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=f1e7a40a73073cf492a7411acc049af0c729fe8a'/>
<id>urn:sha1:f1e7a40a73073cf492a7411acc049af0c729fe8a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Set the natural stack alignment for asm.js to 16 bytes.</title>
<updated>2014-03-03T23:00:57Z</updated>
<author>
<name>Dan Gohman</name>
<email>sunfish@mozilla.com</email>
</author>
<published>2014-03-03T22:09:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=d159899bf2ebd04f7b6620206223d4025cd34c5a'/>
<id>urn:sha1:d159899bf2ebd04f7b6620206223d4025cd34c5a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Introduce the asmjs-unknown-emscripten target triple.</title>
<updated>2014-02-25T01:32:54Z</updated>
<author>
<name>Dan Gohman</name>
<email>sunfish@google.com</email>
</author>
<published>2014-02-22T00:09:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=f6e2fddff6294c1c2ec2f9602c30ff680359ed19'/>
<id>urn:sha1:f6e2fddff6294c1c2ec2f9602c30ff680359ed19</id>
<content type='text'>
Notable changes from le32-unknown-nacl so far include:
 - Set i32 as the legal integer set, to help the optimizer avoid creating
   needlessly inefficient code for asm.js.
 - We can use llvm.pow.
 - Don't predefine __ELF__ or __pnacl__ so that we don't need to undefine
   them later.
 - Do predefine asm.js and Emscripten macros, so that we don't need to
   define them later.
 - Don't provide __has_feature(pnacl).
</content>
</entry>
<entry>
<title>Merging r181750:</title>
<updated>2013-05-15T21:07:09Z</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2013-05-15T21:07:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=9d92987a583981bc013f4a22f89d24df104f13da'/>
<id>urn:sha1:9d92987a583981bc013f4a22f89d24df104f13da</id>
<content type='text'>
------------------------------------------------------------------------
r181750 | rafael | 2013-05-13 17:44:24 -0700 (Mon, 13 May 2013) | 4 lines

Use atomic instructions on linux thumb v7.

This matches gcc's behaviour. The patch also explicitly parses the version so
that this keeps working when we add support for v8.
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_33@181920 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Merging r181728:</title>
<updated>2013-05-15T21:06:54Z</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2013-05-15T21:06:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=39f229fdd3084dc995a1b45d94cde435c3a0a180'/>
<id>urn:sha1:39f229fdd3084dc995a1b45d94cde435c3a0a180</id>
<content type='text'>
------------------------------------------------------------------------
r181728 | rafael | 2013-05-13 13:09:47 -0700 (Mon, 13 May 2013) | 6 lines

Use atomic instructions on ARM linux.

This is safe given how the pre-v6 atomic ops funcions in libgcc are
implemented.

This fixes pr15429.
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_33@181919 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add SystemZ support</title>
<updated>2013-05-06T16:26:41Z</updated>
<author>
<name>Ulrich Weigand</name>
<email>ulrich.weigand@de.ibm.com</email>
</author>
<published>2013-05-06T16:26:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=b8409215523e5478b8b0aa9cdcd10038cf7651fe'/>
<id>urn:sha1:b8409215523e5478b8b0aa9cdcd10038cf7651fe</id>
<content type='text'>
This patch then adds all the usual platform-specific pieces for SystemZ:
driver support, basic target info, register names and constraints,
ABI info and vararg support.  It also adds new tests to verify pre-defined
macros and inline asm, and updates a test for the minimum alignment change.

This version of the patch incorporates feedback from reviews by
Eric Christopher and John McCall.  Thanks to all reviewers!

Patch by Richard Sandiford.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181211 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Allow targets to define minimum alignment for global variables</title>
<updated>2013-05-06T16:23:57Z</updated>
<author>
<name>Ulrich Weigand</name>
<email>ulrich.weigand@de.ibm.com</email>
</author>
<published>2013-05-06T16:23:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=6b20351a1d6178addfaa86716aaba36f2e9ea188'/>
<id>urn:sha1:6b20351a1d6178addfaa86716aaba36f2e9ea188</id>
<content type='text'>
This patch adds a new common code feature that allows platform code to
request minimum alignment of global symbols.  The background for this is
that on SystemZ, the most efficient way to load addresses of global symbol
is the LOAD ADDRESS RELATIVE LONG (LARL) instruction.  This instruction
provides PC-relative addressing, but only to *even* addresses.  For this
reason, existing compilers will guarantee that global symbols are always
aligned to at least 2.  [ Since symbols would otherwise already use a
default alignment based on their type, this will usually only affect global
objects of character type or character arrays. ]  GCC also allows creating
symbols without that extra alignment by using explicit "aligned" attributes
(which then need to be used on both definition and each use of the symbol).

To enable support for this with Clang, this patch adds a
TargetInfo::MinGlobalAlign variable that provides a global minimum for the
alignment of every global object (unless overridden via explicit alignment
attribute), and adds code to respect this setting.  Within this patch, no
platform actually sets the value to anything but the default 1, resulting
in no change in behaviour on any existing target.

This version of the patch incorporates feedback from reviews by
Eric Christopher and John McCall.  Thanks to all reviewers!

Patch by Richard Sandiford.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181210 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>AArch64: teach Clang about __clear_cache intrinsic</title>
<updated>2013-05-04T07:15:13Z</updated>
<author>
<name>Tim Northover</name>
<email>Tim.Northover@arm.com</email>
</author>
<published>2013-05-04T07:15:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=ff920eec4d449bee560d8d99636ad0eb50cd9d8d'/>
<id>urn:sha1:ff920eec4d449bee560d8d99636ad0eb50cd9d8d</id>
<content type='text'>
libgcc provides a __clear_cache intrinsic on AArch64, much like it
does on 32-bit ARM.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181111 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Revert r177218.</title>
<updated>2013-05-03T23:20:27Z</updated>
<author>
<name>Argyrios Kyrtzidis</name>
<email>akyrtzi@gmail.com</email>
</author>
<published>2013-05-03T23:20:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=d99990df0b4aca43a0315b2928ff1b8baf704052'/>
<id>urn:sha1:d99990df0b4aca43a0315b2928ff1b8baf704052</id>
<content type='text'>
Per discussion in cfe-commits, asserting may be a better way than introducing a special test flag.

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