Move branch instructions up during function splitting to reduce NOPs
Prepare for future LLVM upgrades by setting the stack argument alignment via getByValTypeAlignment (commit r198287).
Improvements for function splitting heuristics

* Added option -mpatmos-preferred-scc-size to allow larger regions for SCCs without calls
* Always add post-dominators to subfunctions, if possible
Fix regions starting with a SCC, do not allow jump table entries in such SCCs and ensure correct order of header
Bugfixes for post-RA anti-dep breaker calls.
Applied Wolfgang's patch to prevent renaming of return registers
Fixed missing initialization on empty CriticalPathRCs in anti-dep-breaker
Enable anti-dep breaker by default, allow path breaking for all paths for all registers by default
Fixed option help text
Use .init_array/.fini_array for constructors/destructors.
Reworked function splitter jump table handling, cleaner algorithm now
Cleanup of function splitter logic, some comments and fixed branch delay size estimation
Do not look up global system paths for bitcode files when linking with llvm-link.
Fixed llvm-link search for modules by symbolname offset mismatch
Patmos: use qualified name llvm::next() to avoid ambiguities
platin/patch_loads: Find libelf using CMake, fix warnings
platin: modify include directory handling in lpsolve gem (OSX support)
platin: detect ruby 2.0 (now default on OS X)
platin: adapted to new pasim options
Do not generate spill code for naked functions