Run opt at optimization levels above 0

"opt" performs frontend optimizations while "llc" only generates code.
To get fully optimized code we need to run both. Luckily. this can be
done without creating any more temporary files and the existing unit
tests still pass.
Remove needless regexs for symbolic characters

This is leftover from when symbolic characters were case insensitive.
Now they can be switched for simple strings which noticeably increases
parser performance.