llvmGen: Pass -optlo flags last to opt
authorOleg Grenrus <oleg.grenrus@iki.fi>
Mon, 26 Mar 2018 00:13:18 +0000 (20:13 -0400)
committerBen Gamari <ben@smart-cactus.org>
Mon, 26 Mar 2018 00:58:10 +0000 (20:58 -0400)
commit41db237e1290b650e52eb07323eca71de941e184
tree4529408d0eeac8dccbf8e79d146786f13b1da4df
parenta3986d7fa59d96a77ac0f25bcf1dcf96b8746994
llvmGen: Pass -optlo flags last to opt

LLVM, like GHC, processes flags in the order that they appear.
Consequently, we need to ensure the user-provided flags appear last so
they can override flags produced by GHC. See #14821.

Test Plan: `ghc -O2 -optlo-O2 -v3 $FILE` and ensure that `opt` and `llc`
are invoked with `-O2`.

Subscribers: rwbarton, thomie, carter

GHC Trac Issues: #14821

Differential Revision: https://phabricator.haskell.org/D4421
compiler/main/SysTools/Tasks.hs