Age | Commit message (Collapse) | Author | |
---|---|---|---|
2014-03-28 | expand constantExprs for all illegal values, not just >=64bit, so that ↵ | Alon Zakai | |
things like nested i24 CEs are fixed up by promoteIntegers | |||
2014-03-07 | fix the case where exceptions are lowered and we already had ↵ | Alon Zakai | |
getHigh/preInvoke/postInvoke defined in the module | |||
2014-03-06 | Implement integer promotion for urem, udiv, srem, and sdiv | Dan Gohman | |
The optimizer sometimes thinks it's beneficial to truncate all manner of i64 operators to narrower types, even when still wider than the platform's widest legal type. | |||
2014-03-06 | Fix a use-after-free error in GlobalOpt CleanupConstantGlobalUsers | Dan Gohman | |
This is a backport of r197178 from LLVM trunk. | |||
2014-03-05 | Disable the ResolveAliases and GlobalCleanup passes. | Dan Gohman | |
Also add a test for handling of global aliases. | |||
2014-03-05 | Disable the LowerExpectIntrinsic pass. | Dan Gohman | |
2014-03-05 | Don't run a pass to strip dead prototypes; just ignore them. | Dan Gohman | |
Also, fix the code for supressing declarations for no-op intrinsics. | |||
2014-03-05 | Clean up the handling of inline asm. | Dan Gohman | |
Make inline asm a report_fatal_error instead of an assertion failure so that it's a little friendlier, and add a test to make sure llc -march=js rejects inline asm. Also disable the PNaCl inline asm("":::"memory") lowering pass. If people are using this, it's best that we diagnose it as it likely isn't portable. There are usually better alternatives. | |||
2014-03-03 | Fix alignment of vararg buffer allocas. | Dan Gohman | |
Since we do 8-byte loads for va_arg of double, make sure the vararg buffer alloca is 8-byte aligned. | |||
2014-02-28 | Use range metadata instead of introducing selects. | Dan Gohman | |
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. | |||
2014-02-28 | Move ExpandI64 into lib/Target/JSBackend. | Dan Gohman | |
2014-02-28 | Use more LLVM-idiomatic error reporting. | Dan Gohman | |
2014-02-28 | Implement llvm.flt.rounds and disable the createRewriteLLVMIntrinsicsPass pass. | Dan Gohman | |
2014-02-26 | Merge pull request #23 from sunfishcode/incoming | Alon Zakai | |
Incoming | |||
2014-02-26 | NoExitRuntime | Alon Zakai | |
2014-02-25 | Disable the RewritePNaClLibraryCalls pass, which isn't needed for Emscripten. | Dan Gohman | |
2014-02-25 | Re-introduce ConstantExpr expansion for constants containing illegal types. | Dan Gohman | |
2014-02-25 | Support GEP and ConstantExprs directly in the JSBackend. | Dan Gohman | |
This patch also lays the groundwork for the single-use instruction trick to reduce the number of temporary variables. | |||
2014-02-25 | workaround for nativeclient issue 3798, wrong alignment on copy of a byval ↵ | Alon Zakai | |
struct argument | |||
2014-02-20 | fix attribute copying in function recreation code in ExpandI64 pass | Alon Zakai | |
2014-02-14 | typo fix | Alon Zakai | |
2014-02-14 | fix ashr when high bits are exactly 0 | Alon Zakai | |
2014-02-14 | Preserve alignment information when promoting integer loads and stores. | Dan Gohman | |
2014-02-14 | Preserve alignment information when splitting loads and stores. | Dan Gohman | |
2014-02-14 | Disable two PNaCl passes which the JSBackend no longer needs. | Dan Gohman | |
2014-02-13 | erase more carefully in setjmp lowering | Alon Zakai | |
2014-02-13 | Merge pull request #13 from sunfishcode/incoming | Alon Zakai | |
Emscripten doesn't need to legalize pointers. | |||
2014-02-13 | don't do 32-bit shifts on 32-bit values, as it is undefined behavior | Alon Zakai | |
2014-02-13 | Emscripten doesn't need to legalize pointers. | Dan Gohman | |
2014-02-13 | handle ashr on >64 bits | Alon Zakai | |
2014-02-13 | Don't leave behind unreachable blocks with illegal instructions. | Dan Gohman | |
2014-02-12 | Revamp ExpandI64. | Dan Gohman | |
By using a reverse-postorder traversal of the basic blocks, we can perform this transform in a single pass. This eliminates the need for tricky coordination between the passes. | |||
2014-02-12 | Generalize PromoteIntegers to handle arbitrary bit widths. | Dan Gohman | |
2014-02-12 | Disable an unnecessary optimization pass. | Dan Gohman | |
2014-02-12 | Use more LLVM-idiomatic debug and error facilities. | Dan Gohman | |
2014-02-12 | optimize reg/mem stuff around setjmp lowering | Alon Zakai | |
2014-02-12 | do reg2mem/mem2reg around the setjmp pass, to ensure our cfg changes do not ↵ | Alon Zakai | |
break module validation through altering dominances | |||
2014-02-05 | fix a bug in LowerEmSetjmp, and improve error reporting | Alon Zakai | |
2014-02-03 | allow only one of setjmp|longjmp to be present | Alon Zakai | |
2014-02-02 | support llvm.used | Alon Zakai | |
2014-02-02 | exceptions whitelist option, for emscripten EXCEPTION_CATCHING_WHITELIST | Alon Zakai | |
2014-02-02 | generalize ExpandWithOverflow to handle completely nonconstant additions | Alon Zakai | |
2014-01-30 | suppress warnings on default nacl globals | Alon Zakai | |
2014-01-30 | assume worst-case alignment in PromoteIntegers, as we actually break on ↵ | Alon Zakai | |
unaligned operations | |||
2014-01-29 | remove incorrect warning (ExpandI64 is a new pass of ours) and fix a ↵ | Alon Zakai | |
compilation warning | |||
2014-01-29 | generalize and fix select legalization code | Alon Zakai | |
2014-01-29 | fix call legalization bug | Alon Zakai | |
2014-01-29 | legalize phis >64 bits | Alon Zakai | |
2014-01-29 | handle >64bit trunc and zext | Alon Zakai | |
2014-01-29 | legalize >64bit shifts of non-32-multiple amounts | Alon Zakai | |