aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/JSBackend
AgeCommit message (Collapse)Author
2014-03-23handle switches that reach phis appearing before them; fixes emscripen issue ↵Alon Zakai
2244
2014-03-15Handle conflicting lifetime markers conservatively.Dan Gohman
Avoid infinite looping in AllocaManager::computeInterBlockLiveness, without using new temporary variables. This also makes it clear that the algorithm is conservative in the face of conflicting liveness intrinsics.
2014-03-15update relooperAlon Zakai
2014-03-14warn if given the wrong tripleAlon Zakai
2014-03-14prettyWarning utilityAlon Zakai
2014-03-14update relooper; 1.13.21.13.2Alon Zakai
2014-03-11tiny indentation fixAlon Zakai
2014-03-11mention the function in the asm() errorAlon Zakai
2014-03-10update float ffi rulesAlon Zakai
2014-03-08resolve constants fully, through both multiple aliases and bitcastsAlon Zakai
2014-03-08avoid infinite loops in AllocaManager::computeInterBlockLivenessAlon Zakai
2014-03-06handle aliases in getConstAsOffsetAlon Zakai
2014-03-06do not warn on invalid argument numbers or types in varargs callsAlon Zakai
2014-03-05Disable the ResolveAliases and GlobalCleanup passes.Dan Gohman
Also add a test for handling of global aliases.
2014-03-05Minor CallHandler cleanups.Dan Gohman
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.