summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorLouis Gerbarg <lgg@apple.com>2014-06-16 20:31:50 +0000
committerLouis Gerbarg <lgg@apple.com>2014-06-16 20:31:50 +0000
commitdcf00251ea2aedd8e40ea645d09efbd9f7c8b19a (patch)
tree280f23bf8a0d0edec22a4997849b95faf5f51e02 /llvm/lib/Target
parentc7bc52596f5a978feada4f2f8cbc0639f7b06b2c (diff)
downloadbcm5719-llvm-dcf00251ea2aedd8e40ea645d09efbd9f7c8b19a.tar.gz
bcm5719-llvm-dcf00251ea2aedd8e40ea645d09efbd9f7c8b19a.zip
Improve comments for r211040
Added comment to clarify why we r211040 choose to bail out of fast isel instead of generating a more complicated relocation, and fix mislabelled register in the comments of the asan test case. llvm-svn: 211052
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/X86/X86FastISel.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86FastISel.cpp b/llvm/lib/Target/X86/X86FastISel.cpp
index 4b8a8362c5a..e490c274b5f 100644
--- a/llvm/lib/Target/X86/X86FastISel.cpp
+++ b/llvm/lib/Target/X86/X86FastISel.cpp
@@ -2709,7 +2709,10 @@ unsigned X86FastISel::TargetMaterializeConstant(const Constant *C) {
// Materialize addresses with LEA instructions.
if (isa<GlobalValue>(C)) {
- //LEA can only handle 32 bit immediates
+ // LEA can only handle 32 bit immediates. Currently this happens pretty
+ // rarely, so rather than deal with it just bail out of fast isel. If any
+ // architectures endis up needing to use this path a lot then fast isel
+ // could get the address with a MOV64ri and use that to load the value.
if (TM.getRelocationModel() == Reloc::Static && Subtarget->is64Bit())
return false;
OpenPOWER on IntegriCloud