aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2008-11-03 20:22:12 +0000
committerDuncan Sands <baldrick@free.fr>2008-11-03 20:22:12 +0000
commit6692dec2a0ff6ad5618d8aa49f0c6fab846d6ad1 (patch)
tree030c863f3ae78667bf9ea02e2a824ebd5cb3410a /llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
parent925dc26d5168fae2f05cf3d92f7ef9a3a5ab36c1 (diff)
downloadllvm-6692dec2a0ff6ad5618d8aa49f0c6fab846d6ad1.zip
llvm-6692dec2a0ff6ad5618d8aa49f0c6fab846d6ad1.tar.gz
llvm-6692dec2a0ff6ad5618d8aa49f0c6fab846d6ad1.tar.bz2
Make VAARG promotion work correctly with large funky
sized integers like i129, and also reduce the number of assumptions made about how vaarg is implemented. This still doesn't work correctly for small integers like (eg) i1 on x86, since x86 passes each of them (essentially an i8) in a 4 byte stack slot, so the pointer needs to be advanced by 4 bytes not by 1 byte as now. But this is no longer a LegalizeTypes problem (it was also wrong in LT before): it is a bug in the operation expansion in LegalizeDAG: now LegalizeTypes turns an i1 vaarg into an i8 vaarg which would work fine if only the i8 vaarg was turned into correct code later. llvm-svn: 58635
Diffstat (limited to 'llvm/lib/Transforms/Utils/BasicBlockUtils.cpp')
0 files changed, 0 insertions, 0 deletions