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

Anton Korobeynikov anton at korobeynikov.info
Thu Nov 12 12:10:35 PST 2009


> In the X86ISelLowering.cpp part, disabling the special handling
> for GlobalAddresses and ExternalSymbols is fine, but the way the
> proposed patch does that also happens to disable the
> "else if (isTailCall)" code immediately below that, which handles
> indirect tail calls. That code is still needed in the large code
> model -- the callee needs to be in a specific physical register
> so that it can survive the epilogue.
Also, the check for Is64Bit seems to be redundant - the codemodel
setting is valid only in 64 bit mode, thus "large code model" and
32-bit code is undefined :)

-- 
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University



More information about the llvm-commits mailing list