Use function attribute "trap-func-name" and remove TargetOptions::TrapFuncName.
authorAkira Hatanaka <ahatanaka@apple.com>
Thu, 2 Jul 2015 22:13:27 +0000 (22:13 +0000)
committerAkira Hatanaka <ahatanaka@apple.com>
Thu, 2 Jul 2015 22:13:27 +0000 (22:13 +0000)
commit516286ff698dd0781ba39e3f3144dfbcc241e5db
tree1a734c45ba638ded51ec62694b53f25c7b283102
parent7ef8957773694ed583f847799c1fa8ea5aa43d0b
Use function attribute "trap-func-name" and remove TargetOptions::TrapFuncName.

This commit changes normal isel and fast isel to read the user-defined trap
function name from function attribute "trap-func-name" attached to llvm.trap or
llvm.debugtrap instead of from TargetOptions::TrapFuncName. This is needed to
use clang's command line option "-ftrap-function" for LTO and enable changing
the trap function name on a per-call-site basis.

Out-of-tree projects currently using TargetOptions::TrapFuncName to specify the
trap function name should attach attribute "trap-func-name" to the call sites
of llvm.trap and llvm.debugtrap instead.

rdar://problem/21225723

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241305 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/CommandFlags.h
include/llvm/Target/TargetOptions.h
lib/CodeGen/SelectionDAG/FastISel.cpp
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
lib/CodeGen/TargetOptionsImpl.cpp
test/CodeGen/ARM/fnattr-trap.ll [new file with mode: 0644]