aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/JSBackend
AgeCommit message (Collapse)Author
2014-03-05Don't emit redirects for llvm.memcpy.p0i8.p0i8.i32 and friends.Dan Gohman
We never reference these intrinsics by name, so we don't need redirects for them.
2014-03-05Don't emit JS declarations for LLVM intrinsics expanded inline.Dan Gohman
2014-03-05Tidy up the output for memset and memcpy, and add a test.Dan Gohman
2014-03-05Don'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-05emscripten_debugger() intrinsicAlon Zakai
2014-03-05Clean 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-05Teach phi translation to also look through bitcasts.Dan Gohman
This fixes a regression introduced in d95cd364f0c049d6c1b8d78746d44c00ed2f69f2; when regular expression translation looks through bitcasts but phi translation doesn't, phi translation may fail to properly detect dependencies.
2014-03-05Fix missing LLVMBuild.txt and CMake dependencies.Dan Gohman
2014-03-05Trim unneeded #includes.Dan Gohman
This also helps clarify that we're not using the MC framework.
2014-03-05Eliminate a few more temporary std::strings.Dan Gohman
2014-03-05Fix a broken CMake build file.Dan Gohman
2014-03-04Don't run calculateNativizedVars at -O1 and higher.Dan Gohman
2014-03-04Don't run SimplifyAllocas at -O1 and higher.Dan Gohman
2014-03-04Perform alloca coloring only at -O1 and higher.Dan Gohman
2014-03-04Introduce AllocaManager, a class for managing allocas.Dan Gohman
The AllocaManager performs stack layout for alloca objects. It is capable of analyzing alloca liveness and sharing space between multiple allocas.
2014-03-04Simplify the handling of unnamed values.Dan Gohman
This will also make it easier for the upcoming AllocaManager to eliminate allocas, because unnamed eliminated allocas won't be assigned names.
2014-03-04Handle name prefixing in sanitizeGlobal/sanitizeLocal.Dan Gohman
In the case of sanitizeGlobal, "_" was being prefixed in two different places; this factors it out into one place.
2014-03-04Better integration with the LLVM Target system.Dan Gohman
In particular, this is needed to make getOptLevel() work.
2014-03-03check argument and return types staticallyAlon Zakai
2014-03-03forward assertions setting into backend, and use it to check for invalid # ↵Alon Zakai
of args in static calls
2014-03-03Switch to 16-byte stack alignment.Dan Gohman
When we support 16-byte SIMD types, it will be nice to be able to store them on the stack aligned without dynamic stack pointer realignment.
2014-03-03Optimize out code and variables for no-op pointer casts.Dan Gohman
2014-03-03Don't store padding zeros for a ConstantAggregateZero.Dan Gohman
2014-03-02tolerate phis that refer to values from unreachable blocksAlon Zakai
2014-02-28Move ExpandI64 into lib/Target/JSBackend.Dan Gohman
2014-02-28Implement llvm.flt.rounds and disable the createRewriteLLVMIntrinsicsPass pass.Dan Gohman
2014-02-28fix check on whether a global is external; fixes issue #24Alon Zakai
2014-02-28use use_emptyAlon Zakai
2014-02-27emit assigns only for variables actually usedAlon Zakai
2014-02-26Merge pull request #23 from sunfishcode/incomingAlon Zakai
Incoming
2014-02-25properly handle align 0 on memcpy and memset, warning if asked forAlon Zakai
2014-02-25Fix handling of ConstantExpr Selects.Dan Gohman
2014-02-25comment on technically incorrect handling of alignment 0 in memcpy and memsetAlon Zakai
2014-02-25Eliminate a few more temporary std::strings.Dan Gohman
2014-02-25Support 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-25Minor code simplifications.Dan Gohman
2014-02-20indirectbr supportAlon Zakai
2014-02-19tolerate arbitrary illegal chars in global names, lower all of them to _Alon Zakai
2014-02-19Fix atomic decrement (operand order of emitted code was flipped).jonas echterhoff
2014-02-18remove locale call handlers, we do this in the js library nowAlon Zakai
2014-02-18guarantee that sanitize() returns a proper non-colliding value for each inputAlon Zakai
2014-02-18leave lines with calls to no-ops without a ;Alon Zakai
2014-02-17support reserved function pointersAlon Zakai
2014-02-17only emit declares with usesAlon Zakai
2014-02-14emit nothing for lifetime intrinsicsAlon Zakai
2014-02-14emit an abort if calling an absolute addressAlon Zakai
2014-02-14Another minor code simplification.Dan Gohman
2014-02-14Minor code simplification.Dan Gohman
2014-02-14Don't try to nativize aggregate allocas.Dan Gohman
2014-02-14Fix a crash when an alloca has no ultimate users.Dan Gohman