aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineScheduler.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2014-03-31 16:12:47 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2014-03-31 16:12:47 +0000
commit32b57b0a4c32f5a53f7a61e94d0b859cc72c4450 (patch)
tree10f0420e444cd778737a3b403fcef57d984818f9 /llvm/lib/CodeGen/MachineScheduler.cpp
parent6a0ccfb585e1caa9d04d13e8303c0786c0c3b6db (diff)
downloadllvm-32b57b0a4c32f5a53f7a61e94d0b859cc72c4450.zip
llvm-32b57b0a4c32f5a53f7a61e94d0b859cc72c4450.tar.gz
llvm-32b57b0a4c32f5a53f7a61e94d0b859cc72c4450.tar.bz2
MS ABI: Use the proper type for inalloca args
Summary: The definition of a type later in a translation unit may change it's type from {}* to (%struct.foo*)*. Earlier function definitions may use the former while more recent definitions might use the later. This is fine until they interact with one another (like one calling the other). In these cases, a bitcast is needed because the inalloca must match the function call but the store to the lvalue which initializes the argument slot has to match the rvalue's type. This technique is along the same lines with what the other, non-inalloca, codepaths perform. This fixes PR19287. Reviewers: rnk CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D3224 llvm-svn: 205217
Diffstat (limited to 'llvm/lib/CodeGen/MachineScheduler.cpp')
0 files changed, 0 insertions, 0 deletions