From dbf30f7b02e23a19eaa4f7b437a1f5682e4ee74c Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 4 Dec 2002 06:45:19 +0000 Subject: Add support for referencing global variables/functions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4907 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86ISelSimple.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'lib/Target/X86/X86ISelSimple.cpp') diff --git a/lib/Target/X86/X86ISelSimple.cpp b/lib/Target/X86/X86ISelSimple.cpp index 04827f03fc..56ce189fca 100644 --- a/lib/Target/X86/X86ISelSimple.cpp +++ b/lib/Target/X86/X86ISelSimple.cpp @@ -133,8 +133,14 @@ namespace { // If this operand is a constant, emit the code to copy the constant into // the register here... // - if (Constant *C = dyn_cast(V)) + if (Constant *C = dyn_cast(V)) { copyConstantToRegister(C, Reg); + } else if (GlobalValue *GV = dyn_cast(V)) { + // Move the address of the global into the register + BuildMI(BB, X86::MOVir32, 1, Reg).addReg(GV); + } else { + assert(0 && "Don't know how to handle a value of this type!"); + } return Reg; } -- cgit v1.2.3-18-g5258