]> granicus.if.org Git - clang/commit
[CodeGen][mips] Support `long_call/far/near` attributes
authorSimon Atanasyan <simon@atanasyan.com>
Thu, 20 Jul 2017 20:34:18 +0000 (20:34 +0000)
committerSimon Atanasyan <simon@atanasyan.com>
Thu, 20 Jul 2017 20:34:18 +0000 (20:34 +0000)
commita51c0d82773ec07e4fbdb88d88b408b6eef1f8e1
tree286d07f18a9828a8ec3235ca04dd3d006ff89614
parent26bc81978dda48df0a850c02dffd7a506dc3fdea
[CodeGen][mips] Support `long_call/far/near` attributes

This patch adds support for the `long_call`, `far`, and `near` attributes
for MIPS targets. The `long_call` and `far` attributes are synonyms. All
these attributes override `-mlong-calls` / `-mno-long-calls` command
line options for particular function.

Differential revision: https://reviews.llvm.org/D35479

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@308667 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/Attr.td
include/clang/Basic/AttrDocs.td
lib/CodeGen/CodeGenModule.cpp
lib/CodeGen/CodeGenModule.h
lib/CodeGen/TargetInfo.cpp
lib/CodeGen/TargetInfo.h
lib/Sema/SemaDeclAttr.cpp
test/CodeGen/long-call-attr.c [new file with mode: 0644]
test/Misc/pragma-attribute-supported-attributes-list.test
test/Sema/attr-long-call.c [new file with mode: 0644]