[llvm-commits] [PATCH] Make X86-64 in the Large model always emit 64-bit calls

Evan Cheng evan.cheng at apple.com
Sun Nov 15 23:39:35 PST 2009


On Nov 15, 2009, at 8:28 PM, Eric Christopher wrote:

>> 
>> I'm trying for no far-stubs at all. :) With a unique stub for each
>> GlobalValue, the _stub_ can be more than 2GB away from the code using
>> it. And without either a unique stub or a bunch of work distinguishing
>> uses from address-of operations, &GV == address_of_GV() can be false.
> 
> After we took this offline I think I figured out what the problem is. We still had a point where we were trying to tell llvm that we wanted a small code model instead of large.
> 
> That said, there's still a problem:  what if someone really does want small code model? Do we want to support that? If so, then we need to have some way of making small code model continue to work on x86-64. I do have an internal customer that we believe needs small code model. Unless the new way has no disadvantages over small?

We can support small code model. So we should force large code model unless explicitly specified otherwise.

If the client wants small code model, the memory manager must be able to ensure that.

Evan

> 
> -eric
> 
> <z.diff.txt>_______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits





More information about the llvm-commits mailing list