[driver] Add a hasFlag API that accepts a positive alias.
Part of rdar://13622687

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180203 91177308-0d34-0410-b5e6-96231b3b80d8
[driver] Improve the implementation of the -Ofast option.

Specifically, allow the flags that fall under this umbrella (i.e., -O3,
-ffast-math, and -fstrict-aliasing) to be overridden/disabled with the
individual -O[0|1|2|s|z]/-fno- flags.

This also fixes the handling of various floating point optimization
flags that are modified by -ffast-math (and thus -Ofast as well).
Part of rdar://13622687

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180204 91177308-0d34-0410-b5e6-96231b3b80d8
[driver] Put -fvectorize under the -Ofast umbrella flag.
Part of rdar://13622687

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180206 91177308-0d34-0410-b5e6-96231b3b80d8
[driver] Test that last option wins between -Ofast and -O2.
Part of rdar://13622687

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180207 91177308-0d34-0410-b5e6-96231b3b80d8
Removing example-dynarray.cpp test since it's of no value.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180208 91177308-0d34-0410-b5e6-96231b3b80d8