]> granicus.if.org Git - llvm/commit
Merging r303679:
authorTom Stellard <tstellar@redhat.com>
Wed, 24 May 2017 14:20:42 +0000 (14:20 +0000)
committerTom Stellard <tstellar@redhat.com>
Wed, 24 May 2017 14:20:42 +0000 (14:20 +0000)
commitcc461ef2a2c9046458383b219f2b6836dfc3e0f4
tree9cb0bf2836b89701ce63dc4693ba9e182f84a4ac
parente867bfca1a093353e3176f875081ec29f1c9017b
Merging r303679:

------------------------------------------------------------------------
r303679 | oleg | 2017-05-23 15:38:37 -0400 (Tue, 23 May 2017) | 16 lines

[ARM] Temporarily disable globals promotion to constant pools to prevent miscompilation

Summary:
A temporary workaround for PR32780 - rematerialized instructions accessing the same promoted global through different constant pool entries.

The patch turns off the globals promotion optimization leaving all its code in place, so that it can be easily turned on once PR32780 is fixed.

Since this is a miscompilation issue causing generation of misbehaving code, and the problem is very subtle, the patch might be valuable enough to get into 4.0.1.

Reviewers: efriedma, jmolloy

Reviewed By: efriedma

Subscribers: aemerson, javed.absar, llvm-commits, rengolin, asl, tstellar

Differential Revision: https://reviews.llvm.org/D33446
------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_40@303749 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMISelLowering.cpp
test/CodeGen/ARM/constantpool-promote-dbg.ll
test/CodeGen/ARM/constantpool-promote-ldrh.ll
test/CodeGen/ARM/constantpool-promote.ll