<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emscripten-fastcomp/include/llvm/Analysis, branch master</title>
<subtitle>LLVM with the emscripten fastcomp javascript backend</subtitle>
<id>https://git.amat.us/emscripten-fastcomp/atom/include/llvm/Analysis?h=master</id>
<link rel='self' href='https://git.amat.us/emscripten-fastcomp/atom/include/llvm/Analysis?h=master'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/'/>
<updated>2013-07-15T23:09:15Z</updated>
<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>PNaCl: Turn on ABI verifier by default in sandboxed translator</title>
<updated>2013-06-17T23:24:42Z</updated>
<author>
<name>Mark Seaborn</name>
<email>mseaborn@chromium.org</email>
</author>
<published>2013-06-17T23:24:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=139165f35e841945b94685bdd91243f5b14d0a7a'/>
<id>urn:sha1:139165f35e841945b94685bdd91243f5b14d0a7a</id>
<content type='text'>
Change pnacl-llc.cpp to enable the verifier.  This causes two problems
which we fix:

 * The ABI check for declared-but-not-defined functions fails in
   streaming mode.  Fixing this would involve changing the bitcode
   reader.  For now, disable this check when in streaming mode.  Add a
   flag to PNaClABIVerifyModule.

 * ARM's GlobalMerge pass modifies functions' global variable
   references to use ConstantExprs that the ABI checker rejects.
   Address this by disabling GlobalMerge for now.

   GlobalMerge does not provide much benefit at the moment anyway,
   because, with the FlattenGlobals pass applied, GlobalMerge doesn't
   merge variables with alignment &gt;1.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3465
TEST=PNaCl toolchain trybots

Review URL: https://codereview.chromium.org/17190002
</content>
</entry>
<entry>
<title>Merging 182989: Fix ScalarEvolution::ComputeExitLimitFromCond for 'or' conditions.</title>
<updated>2013-05-31T16:06:18Z</updated>
<author>
<name>Andrew Trick</name>
<email>atrick@apple.com</email>
</author>
<published>2013-05-31T16:06:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=7ce804a62555d5bcd9c31485deba9c742c2aa3bf'/>
<id>urn:sha1:7ce804a62555d5bcd9c31485deba9c742c2aa3bf</id>
<content type='text'>
    Fixes PR16130 - clang produces incorrect code with loop/expression at -O2.

    This is a 2+ year old bug that's now holding up the release. It's a
    case where we knowingly made aggressive assumptions about undefined
    behavior. These assumptions are wrong when SCEV is computing a
    subexpression that does not directly control the branch. With this
    fix, we avoid making assumptions in those cases but still optimize the
    common case. SCEV's trip count computation for exits controlled by
    'or' expressions is now analagous to the trip count computation for
    loops with multiple exits. I had already fixed the multiple exit case
    to be conservative.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182989 91177308-0d34-0410-b5e6-96231b3b80d8



git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_33@183013 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Check for metadata in PNaCl ABI checker.</title>
<updated>2013-04-26T21:12:49Z</updated>
<author>
<name>Jan Voung</name>
<email>jvoung@chromium.org</email>
</author>
<published>2013-04-26T21:12:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=f8b761e8e49cf46f796510e5ef946b2a261dd45b'/>
<id>urn:sha1:f8b761e8e49cf46f796510e5ef946b2a261dd45b</id>
<content type='text'>
Disallow all metadata by default.  There is a flag "-allow-debug-metadata",
which will be used in pnacl-ld driver, to not change the debugging workflow.
That flag will not be present in the pnacl-abicheck driver though.

We'll also run -strip-metadata within pnacl-ld, after optimizations are run,
so that at least that part is checked inside pnacl-ld.
CL for driver changes:
https://codereview.chromium.org/14358048/

BUG= http://code.google.com/p/nativeclient/issues/detail?id=3348
R=dschuff@chromium.org

Review URL: https://codereview.chromium.org/14329025
</content>
</entry>
<entry>
<title>RegionInfo: Add helpers to replace entry/exit recursively</title>
<updated>2013-04-10T06:54:49Z</updated>
<author>
<name>Tobias Grosser</name>
<email>grosser@fim.uni-passau.de</email>
</author>
<published>2013-04-10T06:54:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=d03fdfb97c1a693101bfef5800c262237f5d382f'/>
<id>urn:sha1:d03fdfb97c1a693101bfef5800c262237f5d382f</id>
<content type='text'>
Contributed by: Star Tan &lt;tanmx_star@yeah.net&gt;

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179157 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Revert r176408 and r176407 to address PR15540.</title>
<updated>2013-04-09T18:16:05Z</updated>
<author>
<name>Nadav Rotem</name>
<email>nrotem@apple.com</email>
</author>
<published>2013-04-09T18:16:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=8e4df489d0e02e0fbdd00ed829e70e5f21998162'/>
<id>urn:sha1:8e4df489d0e02e0fbdd00ed829e70e5f21998162</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179111 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>CostModel: Add parameter to instruction cost to further classify operand values</title>
<updated>2013-04-04T23:26:21Z</updated>
<author>
<name>Arnold Schwaighofer</name>
<email>aschwaighofer@apple.com</email>
</author>
<published>2013-04-04T23:26:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=6bf4f676413b8f7d97aaff289997aab344180957'/>
<id>urn:sha1:6bf4f676413b8f7d97aaff289997aab344180957</id>
<content type='text'>
On certain architectures we can support efficient vectorized version of
instructions if the operand value is uniform (splat) or a constant scalar.
An example of this is a vector shift on x86.

We can efficiently support

for (i = 0 ; i &lt; ; i += 4)
  w[0:3] = v[0:3] &lt;&lt; &lt;2, 2, 2, 2&gt;

but not

for (i = 0; i &lt; ; i += 4)
  w[0:3] = v[0:3] &lt;&lt; x[0:3]

This patch adds a parameter to getArithmeticInstrCost to further qualify operand
values as uniform or uniform constant.

Targets can then choose to return a different cost for instructions with such
operand values.

A follow-up commit will test this feature on x86.

radar://13576547

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178807 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>PNaCl: Allow the ABI checker to be used from "opt"</title>
<updated>2013-04-01T16:33:02Z</updated>
<author>
<name>Mark Seaborn</name>
<email>mseaborn@chromium.org</email>
</author>
<published>2013-04-01T16:33:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=a6c4b28460c42bc9fbbdcefffb4aed603f07f068'/>
<id>urn:sha1:a6c4b28460c42bc9fbbdcefffb4aed603f07f068</id>
<content type='text'>
This allows the ABI checker passes to be used in the same way as
LLVM's "-verify" pass.  It allows the checker to be run between other
passes, and without launching pnacl-abicheck as a separate process (so
without the overhead of reading bitcode into memory again).

Make the ABI checker passes produce fatal errors by default, to match
"-verify".  This is overridden for pnacl-abicheck's use.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=2309
TEST=tested with pnacl-ld.py changes to use the ABI checker passes

Review URL: https://codereview.chromium.org/13323006
</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/emscripten-fastcomp/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>Merge remote-tracking branch 'origin/master'</title>
<updated>2013-03-20T22:05:17Z</updated>
<author>
<name>Eli Bendersky</name>
<email>eliben@chromium.org</email>
</author>
<published>2013-03-20T22:05:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=ac16fba57480ab5529dab0c63f33e65b0003e205'/>
<id>urn:sha1:ac16fba57480ab5529dab0c63f33e65b0003e205</id>
<content type='text'>
Merge Nacl-LLVM work since the upstream merge branched
</content>
</entry>
</feed>
