Remove the 's' DataLayout specification
authorRafael Espindola <rafael.espindola@gmail.com>
Wed, 1 Jan 2014 22:29:43 +0000 (22:29 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Wed, 1 Jan 2014 22:29:43 +0000 (22:29 +0000)
commit33cc3f81c1f5475b62332262bec3b816b9d8202e
treefbcbeeae92476402da56518a3e1fb24dc07507b6
parent447c3480e54a94274a5cc37eee06f8cada43237e
Remove the 's' DataLayout specification

During the years there have been some attempts at figuring out how to
align byval arguments. A look at the commit log suggests that they
were

* Use the ABI alignment.
* When that was not sufficient for x86-64, I added the 's' specification to
  DataLayout.
* When that was not sufficient Evan added the virtual getByValTypeAlignment.
* When even that was not sufficient, we just got the FE to add the alignment
  to the byval.

This patch is just a simple cleanup that removes my first attempt at fixing the
problem. I also added an AArch64 implementation of getByValTypeAlignment to
make sure this patch is a nop. I also left the 's' parsing for backward
compatibility.

I will send a short email to llvmdev about the change for anyone maintaining
an out of tree target.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198287 91177308-0d34-0410-b5e6-96231b3b80d8
docs/LangRef.rst
include/llvm/IR/DataLayout.h
lib/CodeGen/TargetLoweringBase.cpp
lib/IR/DataLayout.cpp
lib/Target/AArch64/AArch64ISelLowering.cpp
lib/Target/AArch64/AArch64ISelLowering.h
lib/Target/AArch64/AArch64TargetMachine.cpp
lib/Target/Target.cpp
lib/Target/X86/X86TargetMachine.cpp