Age | Commit message (Collapse) | Author | |
---|---|---|---|
2014-03-04 | Don't run calculateNativizedVars at -O1 and higher. | Dan Gohman | |
2014-03-04 | Don't run SimplifyAllocas at -O1 and higher. | Dan Gohman | |
2014-03-04 | Perform alloca coloring only at -O1 and higher. | Dan Gohman | |
2014-03-04 | Introduce 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-04 | Simplify 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-04 | Handle 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-04 | Better integration with the LLVM Target system. | Dan Gohman | |
In particular, this is needed to make getOptLevel() work. | |||
2014-03-03 | check argument and return types statically | Alon Zakai | |
2014-03-03 | forward assertions setting into backend, and use it to check for invalid # ↵ | Alon Zakai | |
of args in static calls | |||
2014-03-03 | Switch 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-03 | Optimize out code and variables for no-op pointer casts. | Dan Gohman | |
2014-03-03 | Fix alignment of vararg buffer allocas. | Dan Gohman | |
Since we do 8-byte loads for va_arg of double, make sure the vararg buffer alloca is 8-byte aligned. | |||
2014-03-03 | Don't store padding zeros for a ConstantAggregateZero. | Dan Gohman | |
2014-03-02 | tolerate phis that refer to values from unreachable blocks | Alon Zakai | |
2014-02-28 | Use range metadata instead of introducing selects. | Dan Gohman | |
When GlobalOpt has determined that a GlobalVariable only ever has two values, it would convert the GlobalVariable to a boolean, and introduce SelectInsts at every load, to choose between the two possible values. These SelectInsts introduce overhead and other unpleasantness. This patch makes GlobalOpt just add range metadata to loads from such GlobalVariables instead. This enables the same main optimization (as seen in test/Transforms/GlobalOpt/integer-bool.ll), without introducing selects. The main downside is that it doesn't get the memory savings of shrinking such GlobalVariables, but this is expected to be negligible. | |||
2014-02-28 | Move ExpandI64 into lib/Target/JSBackend. | Dan Gohman | |
2014-02-28 | Use more LLVM-idiomatic error reporting. | Dan Gohman | |
2014-02-28 | Implement llvm.flt.rounds and disable the createRewriteLLVMIntrinsicsPass pass. | Dan Gohman | |
2014-02-28 | fix check on whether a global is external; fixes issue #24 | Alon Zakai | |
2014-02-28 | use use_empty | Alon Zakai | |
2014-02-27 | emit assigns only for variables actually used | Alon Zakai | |
2014-02-26 | Merge pull request #23 from sunfishcode/incoming | Alon Zakai | |
Incoming | |||
2014-02-26 | NoExitRuntime | Alon Zakai | |
2014-02-25 | properly handle align 0 on memcpy and memset, warning if asked for | Alon Zakai | |
2014-02-25 | Disable the RewritePNaClLibraryCalls pass, which isn't needed for Emscripten. | Dan Gohman | |
2014-02-25 | Fix handling of ConstantExpr Selects. | Dan Gohman | |
2014-02-25 | comment on technically incorrect handling of alignment 0 in memcpy and memset | Alon Zakai | |
2014-02-25 | Re-introduce ConstantExpr expansion for constants containing illegal types. | Dan Gohman | |
2014-02-25 | Eliminate a few more temporary std::strings. | Dan Gohman | |
2014-02-25 | Support 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-25 | Introduce the asmjs-unknown-emscripten target triple. | Dan Gohman | |
2014-02-25 | Minor code simplifications. | Dan Gohman | |
2014-02-25 | workaround for nativeclient issue 3798, wrong alignment on copy of a byval ↵ | Alon Zakai | |
struct argument | |||
2014-02-20 | indirectbr support | Alon Zakai | |
2014-02-20 | fix attribute copying in function recreation code in ExpandI64 pass | Alon Zakai | |
2014-02-19 | tolerate arbitrary illegal chars in global names, lower all of them to _ | Alon Zakai | |
2014-02-19 | Fix atomic decrement (operand order of emitted code was flipped). | jonas echterhoff | |
2014-02-18 | remove locale call handlers, we do this in the js library now | Alon Zakai | |
2014-02-18 | guarantee that sanitize() returns a proper non-colliding value for each input | Alon Zakai | |
2014-02-18 | leave lines with calls to no-ops without a ; | Alon Zakai | |
2014-02-17 | support reserved function pointers | Alon Zakai | |
2014-02-17 | only emit declares with uses | Alon Zakai | |
2014-02-14 | emit nothing for lifetime intrinsics | Alon Zakai | |
2014-02-14 | emit an abort if calling an absolute address | Alon Zakai | |
2014-02-14 | typo fix | Alon Zakai | |
2014-02-14 | fix ashr when high bits are exactly 0 | Alon Zakai | |
2014-02-14 | Another minor code simplification. | Dan Gohman | |
2014-02-14 | Minor code simplification. | Dan Gohman | |
2014-02-14 | Preserve alignment information when promoting integer loads and stores. | Dan Gohman | |
2014-02-14 | Preserve alignment information when splitting loads and stores. | Dan Gohman | |