[ARM] Pass subtarget feature "+reserve-r9" instead of passing backend
authorAkira Hatanaka <ahatanaka@apple.com>
Tue, 21 Jul 2015 01:41:08 +0000 (01:41 +0000)
committerAkira Hatanaka <ahatanaka@apple.com>
Tue, 21 Jul 2015 01:41:08 +0000 (01:41 +0000)
commit0a23fac13cbb1e6cf2d0bc782a6f31b9ef7b64b0
treec2cd8041427a81109e8c3af08279021b606005e8
parent566ce1b0bbd205e7b31c1cab33b95a25dbe2dc0d
[ARM] Pass subtarget feature "+reserve-r9" instead of passing backend
option "-arm-reserve-r9".

This recommits r242736, which had to be reverted because the llvm-side
change that was committed in r242737 caused the number of subtarget
features to go over the limit of 64.

This change is needed since backend options do not make it to the backend
when doing LTO and are not capable of changing the behavior of code-gen
passes on a per-function basis.

rdar://problem/21529937

Differential Revision: http://reviews.llvm.org/D11319

llvm-svn: 242755
clang/lib/Driver/Tools.cpp
clang/test/Driver/arm-fixed-r9.c