<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emscripten-fastcomp/test/Transforms/GlobalOpt, branch 1.13.2</title>
<subtitle>LLVM with the emscripten fastcomp javascript backend</subtitle>
<id>https://git.amat.us/emscripten-fastcomp/atom/test/Transforms/GlobalOpt?h=1.13.2</id>
<link rel='self' href='https://git.amat.us/emscripten-fastcomp/atom/test/Transforms/GlobalOpt?h=1.13.2'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/'/>
<updated>2014-03-06T19:54:11Z</updated>
<entry>
<title>Fix a use-after-free error in GlobalOpt CleanupConstantGlobalUsers</title>
<updated>2014-03-06T19:54:11Z</updated>
<author>
<name>Dan Gohman</name>
<email>sunfish@mozilla.com</email>
</author>
<published>2014-03-06T19:51:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=d644d4a9ca114ceb5d6e69f0c0df6cd571bb33c4'/>
<id>urn:sha1:d644d4a9ca114ceb5d6e69f0c0df6cd571bb33c4</id>
<content type='text'>
This is a backport of r197178 from LLVM trunk.
</content>
</entry>
<entry>
<title>Use range metadata instead of introducing selects.</title>
<updated>2014-02-28T20:39:49Z</updated>
<author>
<name>Dan Gohman</name>
<email>sunfish@mozilla.com</email>
</author>
<published>2014-02-28T20:39:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=dc59054db06864099c1b1051b8ef28a30f13e6c7'/>
<id>urn:sha1:dc59054db06864099c1b1051b8ef28a30f13e6c7</id>
<content type='text'>
When GlobalOpt has determined that a GlobalVariable only ever has two values,
it would convert the GlobalVariable to a boolean, and introduce SelectInsts
at every load, to choose between the two possible values. These SelectInsts
introduce overhead and other unpleasantness.

This patch makes GlobalOpt just add range metadata to loads from such
GlobalVariables instead. This enables the same main optimization (as seen in
test/Transforms/GlobalOpt/integer-bool.ll), without introducing selects.

The main downside is that it doesn't get the memory savings of shrinking such
GlobalVariables, but this is expected to be negligible.
</content>
</entry>
<entry>
<title>Merge commit '7dfcb84fc16b3bf6b2379713b53090757f0a45f9'</title>
<updated>2013-07-15T23:09:15Z</updated>
<author>
<name>Eli Bendersky</name>
<email>eliben@chromium.org</email>
</author>
<published>2013-07-15T23:09:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=c6cf05cb5108f356dde97c01ee4188b0671d4542'/>
<id>urn:sha1:c6cf05cb5108f356dde97c01ee4188b0671d4542</id>
<content type='text'>
Conflicts:
	docs/LangRef.rst
	include/llvm/CodeGen/CallingConvLower.h
	include/llvm/IRReader/IRReader.h
	include/llvm/Target/TargetMachine.h
	lib/CodeGen/CallingConvLower.cpp
	lib/IRReader/IRReader.cpp
	lib/IRReader/LLVMBuild.txt
	lib/IRReader/Makefile
	lib/LLVMBuild.txt
	lib/Makefile
	lib/Support/MemoryBuffer.cpp
	lib/Support/Unix/PathV2.inc
	lib/Target/ARM/ARMBaseInstrInfo.cpp
	lib/Target/ARM/ARMISelLowering.cpp
	lib/Target/ARM/ARMInstrInfo.td
	lib/Target/ARM/ARMSubtarget.cpp
	lib/Target/ARM/ARMTargetMachine.cpp
	lib/Target/Mips/CMakeLists.txt
	lib/Target/Mips/MipsDelaySlotFiller.cpp
	lib/Target/Mips/MipsISelLowering.cpp
	lib/Target/Mips/MipsInstrInfo.td
	lib/Target/Mips/MipsSubtarget.cpp
	lib/Target/Mips/MipsSubtarget.h
	lib/Target/X86/X86FastISel.cpp
	lib/Target/X86/X86ISelDAGToDAG.cpp
	lib/Target/X86/X86ISelLowering.cpp
	lib/Target/X86/X86InstrControl.td
	lib/Target/X86/X86InstrFormats.td
	lib/Transforms/IPO/ExtractGV.cpp
	lib/Transforms/InstCombine/InstCombineCompares.cpp
	lib/Transforms/Utils/SimplifyLibCalls.cpp
	test/CodeGen/X86/fast-isel-divrem.ll
	test/MC/ARM/data-in-code.ll
	tools/Makefile
	tools/llvm-extract/llvm-extract.cpp
	tools/llvm-link/CMakeLists.txt
	tools/opt/CMakeLists.txt
	tools/opt/LLVMBuild.txt
	tools/opt/Makefile
	tools/opt/opt.cpp
</content>
</entry>
<entry>
<title>Make GlobalOpt's GV-by-alloca replacement work for PNaCl.</title>
<updated>2013-07-09T22:29:37Z</updated>
<author>
<name>Eli Bendersky</name>
<email>eliben@chromium.org</email>
</author>
<published>2013-07-09T22:29:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=299c82a21a9fd010534ea59c46ae0b88c21f25b7'/>
<id>urn:sha1:299c82a21a9fd010534ea59c46ae0b88c21f25b7</id>
<content type='text'>
GlobalOpt currently assumes only an external "main" is the "real main".
This is no longer the case for PNaCl, where we internalize "main". Make
the test more strict and PNaCl specific by checking that "main" is just
used once - in a call from "_start", but does not have to be external.

Note that this also addresses a possible bug in the optimization for C
code, since C does not guarantee that main is not recursive.

This CL's purpose is to address a SPEC performance regression - 10% in
183.equake. The regression appeared after our ABI change that made 'main'
internal, which disabled this particular optimization. The CL addresses
this by re-enabling the optimization and also being more C-standard
conforming.

BUG=None

Review URL: https://codereview.chromium.org/18615015
</content>
</entry>
<entry>
<title>Merging r181524:</title>
<updated>2013-05-15T18:16:42Z</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2013-05-15T18:16:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=5b85a9b5ad98e06c836c8d9cd0e0e016ecea2f06'/>
<id>urn:sha1:5b85a9b5ad98e06c836c8d9cd0e0e016ecea2f06</id>
<content type='text'>
------------------------------------------------------------------------
r181524 | rafael | 2013-05-09 10:22:59 -0700 (Thu, 09 May 2013) | 4 lines

Don't replace an alias in llvm.used with its target.

When we replace an internal alias with its target, be careful not to
replace the entry in llvm.used (and llvm.compiler_used).
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_33@181909 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Use a worklist to avoid a sneaky iterator invalidation.</title>
<updated>2013-04-02T08:16:45Z</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2013-04-02T08:16:45Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=2b7923665d628c247fcc50c52d7e0618359491c6'/>
<id>urn:sha1:2b7923665d628c247fcc50c52d7e0618359491c6</id>
<content type='text'>
The iterator could be invalidated when it's recursively deleting a whole bunch
of constant expressions in a constant initializer.

Note: This was only reproducible if `opt' was run on a `.bc' file. If `opt' was
run on a `.ll' file, it wouldn't crash. This is why the test first pushes the
`.ll' file through `llvm-as' before feeding it to `opt'.

PR15440


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178531 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Revert the test moves from 176733.  Use "REQUIRES: asserts" instead.</title>
<updated>2013-03-12T16:27:52Z</updated>
<author>
<name>Jan Wen Voung</name>
<email>jvoung@google.com</email>
</author>
<published>2013-03-12T16:27:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=4323665bd857c0527b50463d415d9e76493ad2fe'/>
<id>urn:sha1:4323665bd857c0527b50463d415d9e76493ad2fe</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176873 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix test case.</title>
<updated>2013-03-09T18:34:27Z</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2013-03-09T18:34:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=96a198755ec5a45d9047c2757ab4fdf5eb24647a'/>
<id>urn:sha1:96a198755ec5a45d9047c2757ab4fdf5eb24647a</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176773 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Test case hygiene.</title>
<updated>2013-03-09T18:25:40Z</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2013-03-09T18:25:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=1cb47b9afe77231d6b87b8445dfec475fb5e59cd'/>
<id>urn:sha1:1cb47b9afe77231d6b87b8445dfec475fb5e59cd</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176772 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Disable statistics on Release builds and move tests that depend on -stats.</title>
<updated>2013-03-08T22:56:31Z</updated>
<author>
<name>Jan Wen Voung</name>
<email>jvoung@google.com</email>
</author>
<published>2013-03-08T22:56:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=fa785cb22d50c657eb08c762d627cd6aa96982f3'/>
<id>urn:sha1:fa785cb22d50c657eb08c762d627cd6aa96982f3</id>
<content type='text'>
Summary:
Statistics are still available in Release+Asserts (any +Asserts builds),
and stats can also be turned on with LLVM_ENABLE_STATS.

Move some of the FastISel stats that were moved under DEBUG()
back out of DEBUG(), since stats are disabled across the board now.

Many tests depend on grepping "-stats" output.  Move those into
a orig_dir/Stats/. so that they can be marked as unsupported
when building without statistics.

Differential Revision: http://llvm-reviews.chandlerc.com/D486

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