Age | Commit message (Collapse) | Author |
|
things like nested i24 CEs are fixed up by promoteIntegers
|
|
getHigh/preInvoke/postInvoke defined in the module
|
|
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.
|
|
Also add a test for handling of global aliases.
|
|
|
|
Also, fix the code for supressing declarations for no-op intrinsics.
|
|
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.
|
|
Since we do 8-byte loads for va_arg of double, make sure the vararg buffer
alloca is 8-byte aligned.
|
|
|
|
|
|
|
|
Incoming
|
|
|
|
|
|
|
|
This patch also lays the groundwork for the single-use instruction trick to
reduce the number of temporary variables.
|
|
struct argument
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Emscripten doesn't need to legalize pointers.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
break module validation through altering dominances
|
|
|
|
|
|
|
|
|
|
|
|
|
|
unaligned operations
|
|
compilation warning
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|