aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
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-28expand constantExprs for all illegal values, not just >=64bit, so that ↵Alon Zakai
things like nested i24 CEs are fixed up by promoteIntegers
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-07fix the case where exceptions are lowered and we already had ↵Alon Zakai
getHigh/preInvoke/postInvoke defined in the module
2014-03-06Implement integer promotion for urem, udiv, srem, and sdivDan 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-06handle aliases in getConstAsOffsetAlon Zakai
2014-03-06Fix a use-after-free error in GlobalOpt CleanupConstantGlobalUsersDan Gohman
This is a backport of r197178 from LLVM trunk.
2014-03-06do not warn on invalid argument numbers or types in varargs callsAlon Zakai
2014-03-06Improve linker messages when modules differ in triple or data layout.Dan Gohman
This is a backport of r203009 from LLVM trunk. Since we recently changed triples and data layouts, this is particularly apropos.
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-05Disable the LowerExpectIntrinsic pass.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