[X86][x32] Save callee-save register used as base pointer for x32 ABI
authorDerek Schuff <dschuff@google.com>
Fri, 2 Mar 2018 17:46:39 +0000 (17:46 +0000)
committerDerek Schuff <dschuff@google.com>
Fri, 2 Mar 2018 17:46:39 +0000 (17:46 +0000)
commit57feeed3076137da48c43010130eddbb8e81cb54
tree964b051cb0612658345e22886c5c5e03680bf9d4
parent4925653555942acbafbb936ccf81cc6e5b384868
[X86][x32] Save callee-save register used as base pointer for x32 ABI

For the x32 ABI, since the base pointer register (EBX) is a callee save register
it should be saved before use.

This fixes https://bugs.llvm.org/show_bug.cgi?id=36011

Differential Revision: https://reviews.llvm.org/D42358

Patch by Pratik Bhatu

llvm-svn: 326593
llvm/lib/Target/X86/X86FrameLowering.cpp
llvm/test/CodeGen/X86/x86-64-baseptr.ll