summaryrefslogtreecommitdiffstats
path: root/clang/CodeGen/ModuleBuilder.cpp
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2008-02-27 13:03:44 +0000
committerDuncan Sands <baldrick@free.fr>2008-02-27 13:03:44 +0000
commit2111bd2e37c6169bda18d58bf0b4d3cb56e5e9bf (patch)
tree4382ba04a716f66f536c833f012bb1650e9b998c /clang/CodeGen/ModuleBuilder.cpp
parent5d5bc484d0b7c86b2515748977d8cb5f45521b49 (diff)
downloadbcm5719-llvm-2111bd2e37c6169bda18d58bf0b4d3cb56e5e9bf.tar.gz
bcm5719-llvm-2111bd2e37c6169bda18d58bf0b4d3cb56e5e9bf.zip
LegalizeTypes support for legalizing the mask
operand of a VECTOR_SHUFFLE. The mask is a vector of constant integers. The code in LegalizeDAG doesn't bother to legalize the mask, since it's basically just storage for a bunch of constants, however LegalizeTypes is more picky. The problem is that there may not exist any legal vector-of-integers type with a legal element type, so it is impossible to create a legal mask! Unless of course you cheat by creating a BUILD_VECTOR where the operands have a different type to the element type of the vector being built... This is pretty ugly but works - all relevant tests in the testsuite pass, and produce the same assembler with and without LegalizeTypes. llvm-svn: 47670
Diffstat (limited to 'clang/CodeGen/ModuleBuilder.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud