llvm/utils
Daniel Sanders 03fe69e90d [mips] Add CCValAssign::[ASZ]ExtUpper and CCPromoteToUpperBitsInType and handle struct's correctly on big-endian N32/N64 return values.
Summary:
The N32/N64 ABI's require that structs passed in registers are laid out
such that spilling the register with 'sd' places the struct at the lowest
address. For little endian this is trivial but for big-endian it requires
that structs are shifted into the upper bits of the register.

We also require that structs passed in registers have the 'inreg'
attribute for big-endian N32/N64 to work correctly. This is because the
tablegen-erated calling convention implementation only has access to the
lowered form of struct arguments (one or more integers of up to 64-bits
each) and is unable to determine the original type.

Reviewers: vmedic

Reviewed By: vmedic

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218451 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-25 12:15:05 +00:00
..
bugpoint
buildit ARM64: initial backend import 2014-03-29 10:18:08 +00:00
count
crosstool
emacs IR: Implement uselistorder assembly directives 2014-08-19 21:30:15 +00:00
FileCheck Return a std::unique_ptr when creating a new MemoryBuffer. 2014-08-27 20:03:13 +00:00
fpcmp
git
git-svn
jedit
kate
KillTheDoctor Remove broken include. 2014-06-13 15:21:50 +00:00
lint
lit [lit] Parse all strings as UTF-8 rather than ASCII. 2014-09-12 16:46:05 +00:00
llvm-build Reinstate "Nuke the old JIT." 2014-09-02 22:28:02 +00:00
llvm-lit [testing]: lld generally lives in tools/, so fix llvm-lit. 2014-07-07 15:26:53 +00:00
Misc
not not: Only consider exit code 3 to be a crash with --crash 2014-06-23 22:54:33 +00:00
PerfectShuffle [C++11] Use 'nullptr'. 2014-06-08 22:29:17 +00:00
release Use 'xz' compression instead of 'gz'. 2014-08-26 08:11:22 +00:00
TableGen [mips] Add CCValAssign::[ASZ]ExtUpper and CCPromoteToUpperBitsInType and handle struct's correctly on big-endian N32/N64 return values. 2014-09-25 12:15:05 +00:00
Target/ARM
testgen
textmate
unittest
valgrind valgrind/x86_64-pc-linux-gnu.supp: Suppress also /bin/bash. 2014-09-24 04:38:20 +00:00
vim IR: Implement uselistorder assembly directives 2014-08-19 21:30:15 +00:00
yaml-bench Remove some calls to std::move. 2014-08-01 14:31:55 +00:00
bisect Add a small utility called bisect that enables commandline bisecting on a counter. 2014-08-02 01:39:08 +00:00
check-each-file
clang-parse-diagnostics-file
codegen-diff
countloc.sh
DSAclean.py
DSAextract.py
findmisopt
findoptdiff
findsym.pl
GenLibDeps.pl
GetRepositoryPath
GetSourceVersion
getsrcs.sh
lldbDataFormatters.py utils: Teach lldbDataFormatters how to format ArrayRefs 2014-09-11 01:47:38 +00:00
llvm-compilers-check Remove bogus configure check 2014-06-19 19:31:11 +00:00
llvm-native-gxx
llvm.grm
llvm.natvis Use correct memeber when displaying StringMap's size. 2014-07-09 05:34:24 +00:00
LLVMBuild.txt
llvmdo
llvmgrep
Makefile Delete utils/FileUpdate. 2014-06-23 17:58:39 +00:00
makellvm
shuffle_fuzz.py [shuffle] Teach the shufflevector fuzzer to support fixed element types. 2014-08-17 00:40:31 +00:00
sort_includes.py
test_debuginfo.pl
UpdateCMakeLists.pl
wciia.py