[Attributor][FIX] Prevent alignment breakage wrt. must-tail calls
authorJohannes Doerfert <johannes@jdoerfert.de>
Thu, 2 Apr 2020 02:07:41 +0000 (21:07 -0500)
committerJohannes Doerfert <johannes@jdoerfert.de>
Thu, 2 Apr 2020 02:40:07 +0000 (21:40 -0500)
commitb1c788d051872020450cb9d6ebd6336bc72b3812
treea40f286fc62da76044814edd092abcff89370938
parentf7f932284352a6a57701f64575dc13263d234bf4
[Attributor][FIX] Prevent alignment breakage wrt. must-tail calls

If we have a must-tail call the callee and caller need to have matching
ABIs. Part of that is alignment which we might modify when we deduce
alignment of arguments of either. Since we would need to keep them in
sync, which is not as simple, we simply avoid deducing alignment for
arguments of the must-tail caller or callee.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D76673
llvm/include/llvm/Transforms/IPO/Attributor.h
llvm/lib/IR/Verifier.cpp
llvm/lib/Transforms/IPO/Attributor.cpp
llvm/test/Transforms/Attributor/align.ll