Revert "Compound literals at global scope (breaks external storage currently)"

This reverts commit 67e51a67948b1896d20c6c815496806c80da0639.
Started retarget work to i386
Did some register renaming, added TODOs, split makefile to two
Revert "Revert "Compound literals at global scope (breaks external storage currently)""

This reverts commit 70f1aff71c537fb7243e4bcafbc847747a92b886.