[mips] Mark aggregates returned in registers with the 'inreg' attribute.
authorDaniel Sanders <daniel.sanders@imgtec.com>
Thu, 4 Sep 2014 15:05:39 +0000 (15:05 +0000)
committerDaniel Sanders <daniel.sanders@imgtec.com>
Thu, 4 Sep 2014 15:05:39 +0000 (15:05 +0000)
commit2a8dab41aacaf6918a7eae2159b79d1f40691f0c
tree759cbddb2a62c9cddbf0283aae999679995c7d0d
parent8b3cb5a2a29a5cf402fa833dbe72ace75b873724
[mips] Mark aggregates returned in registers with the 'inreg' attribute.

Summary:
This allows us to easily find them in the backend after the aggregates have
been lowered to other types. This is important on big-endian targets using
the N32/N64 ABI's since these ABI's must shift small structures into the
upper bits of the register.

Reviewers: atanasyan

Reviewed By: atanasyan

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@217160 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/TargetInfo.cpp
test/CodeGen/mips-vector-return.c
test/CodeGen/mips64-class-return.cpp