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)
commit6994fdf33ca0853be55b7db01f7320c42441a79b
tree3e717209816c3396d9a320d32132cdde4c9a97c0
parent9a3da52ea2dd0a3d40c7d6addeadde7d4f6cdd9d
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.

llvm-svn: 198287
llvm/docs/LangRef.rst
llvm/include/llvm/IR/DataLayout.h
llvm/lib/CodeGen/TargetLoweringBase.cpp
llvm/lib/IR/DataLayout.cpp
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/lib/Target/AArch64/AArch64ISelLowering.h
llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
llvm/lib/Target/Target.cpp
llvm/lib/Target/X86/X86TargetMachine.cpp