[X86] Check that attribute parameters match for tail calls (PR26590)
authorHans Wennborg <hans@hanshq.net>
Tue, 1 Mar 2016 17:45:23 +0000 (17:45 +0000)
committerHans Wennborg <hans@hanshq.net>
Tue, 1 Mar 2016 17:45:23 +0000 (17:45 +0000)
commite64cf9dddb4ed095cadf8cacc5125b1bbfdb3b72
tree74a32cb38e393ba8f6bb9dc31ed13beb8c90c34a
parent2ca144f14c0e725237ad2ccda4922925f08ccdb4
[X86] Check that attribute parameters match for tail calls (PR26590)

In the code below on 32-bit targets, x would previously get forwarded to g()
without sign-extension to 32 bits as required by the parameter attribute.

  void g(signed short);
  void f(unsigned short x) {
    g(x);
  }

llvm-svn: 262352
llvm/include/llvm/CodeGen/MachineFrameInfo.h
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/tail-call-parameter-attrs-mismatch.ll [new file with mode: 0644]