diff options
| author | NAKAMURA Takumi <geek4civic@gmail.com> | 2015-03-17 22:55:01 +0000 |
|---|---|---|
| committer | NAKAMURA Takumi <geek4civic@gmail.com> | 2015-03-17 22:55:01 +0000 |
| commit | c085eca17626f117018500eb4d67368c4ada87f7 (patch) | |
| tree | 05dc0287ee7810aae00ca4053b2c9e4d884c02f4 /llvm/lib | |
| parent | 85bc48ca744bb531576109631df36355f64daee7 (diff) | |
| download | bcm5719-llvm-c085eca17626f117018500eb4d67368c4ada87f7.tar.gz bcm5719-llvm-c085eca17626f117018500eb4d67368c4ada87f7.zip | |
Appease AArch64ISelLowering.cpp miscompiled by g++-4.7.2.
I will revert this when 4.7.3 is ready.
llvm-svn: 232561
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp index f1073beb32f..464f56780df 100644 --- a/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp +++ b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp @@ -7201,6 +7201,12 @@ static SDValue performConcatVectorsCombine(SDNode *N, (N00VT == MVT::v2i64 || N00VT == MVT::v4i32) && N00VT.getScalarSizeInBits() == 4 * VT.getScalarSizeInBits()) { MVT MidVT = (N00VT == MVT::v2i64 ? MVT::v2i32 : MVT::v4i16); +#if defined(__GNUC__) +#if __GNUC__ == 4 && __GNUC_MINOR__ == 7 && __GNUC_PATCHLEVEL__ == 2 + // FIXME: g++-4.7.2 might miscompile PerformDAGCombine(). + asm volatile("":::"memory"); +#endif +#endif MVT ConcatMidVT = MVT::getVectorVT(MidVT.getVectorElementType(), MidVT.getVectorNumElements() * 2); return DAG.getNode( |

