| Index: lib/Transforms/NaCl/PNaClABISimplify.cpp
|
| diff --git a/lib/Transforms/NaCl/PNaClABISimplify.cpp b/lib/Transforms/NaCl/PNaClABISimplify.cpp
|
| index 06342d98be352c413e6e423853dba1f5040d151e..1fc1afb938c2dcf8ccd8c5c4e0bd562c0cc5750e 100644
|
| --- a/lib/Transforms/NaCl/PNaClABISimplify.cpp
|
| +++ b/lib/Transforms/NaCl/PNaClABISimplify.cpp
|
| @@ -92,6 +92,16 @@ void llvm::PNaClABISimplifyAddPostOptPasses(PassManagerBase &PM) {
|
|
|
| PM.add(createPromoteI1OpsPass());
|
|
|
| + // Vector simplifications.
|
| + // TODO(jfb) Remove duplicate constant vector values using
|
| + // ConstantMerge after the GlobalizeConstantVectors pass?
|
| + PM.add(createGlobalizeConstantVectorsPass());
|
| + // The following pass inserts GEPs, it must precede
|
| + // ExpandGetElementPtr. It also creates vector loads and stores, the
|
| + // subsequent pass cleans them up to fix their alignment.
|
| + PM.add(createConstantInsertExtractElementIndexPass());
|
| + PM.add(createFixVectorLoadStoreAlignmentPass());
|
| +
|
| // Optimization passes and ExpandByVal introduce
|
| // memset/memcpy/memmove intrinsics with a 64-bit size argument.
|
| // This pass converts those arguments to 32-bit.
|
|
|