aboutsummaryrefslogtreecommitdiff
path: root/lib/Target
AgeCommit message (Collapse)Author
2014-05-07Split alloca liveness propagation into separate forward and backward phases.Dan Gohman
This makes the code simpler, and avoids problems with the two directions interfering with each other. This fixes asm2.test_sqlite and other failures.
2014-05-07Make bottom-up and top-down liveness propagation independent. This fixes Bug ↵Dan Gohman
1006301.
2014-05-06remove unneeded |0 also in memcpyAlon Zakai
2014-05-06avoid unneeded |0 now that we >>0 HEAP8 accessesAlon Zakai
2014-05-06emit >>0 in HEAP8, for consistency with HEAP16|32Alon Zakai
2014-04-29do not emit a branch to the relooper if the target is the default ↵Alon Zakai
destination anyhow; fixes #32
2014-04-29relooper updateAlon Zakai
2014-04-29relooper updateAlon Zakai
2014-04-25emscripten-no-aliasing-function-pointers optionAlon Zakai
2014-04-24commentAlon Zakai
2014-04-16relooper updateAlon Zakai
2014-04-08break phi var cycles only between actual phi varsAlon Zakai
2014-03-31suppress args warnings when the number is forced anyhowAlon Zakai
2014-03-31ensure a cast on everything in a return, even a nan or an infAlon Zakai
2014-03-31truncate arguments that are not in the actual function being calledAlon Zakai
2014-03-26optimize x < 0 and generalize it to non-i64 values tooAlon Zakai
2014-03-25emit output variable for calls to absolute values, even though they ↵Alon Zakai
segfault, to not break validation
2014-03-24apply switch-related phi changes after illegal phis were erasedAlon Zakai
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.