[PATCH] D35168: [mips] Handle the `long-calls` feature flags in the MIPS backend

Simon Atanasyan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 11 10:33:24 PDT 2017


atanasyan added a comment.

> We should warn/error in LLVM on mixing abicalls and long calls

Do you know why gcc does not warn in this case? Moreover `gcc -mabicalls -mlong-calls` generates `jalr` not `jal` instructions. Is it a bug in gcc?



================
Comment at: lib/Target/Mips/MipsISelLowering.cpp:3024
 
+  if (Subtarget.useLongCalls() && Subtarget.hasSym32() && !IsPIC) {
+    // Get the address of the callee into a register to prevent
----------------
sdardis wrote:
> Nit:// FIXME: Add support for 64 bit symbols.
> Add support for 64 bit symbols
How can I force compiler to generate the `jal` instruction to jump to 64-bit symbol? I.e. it looks like with `-mabi=64` the compiler always uses the `jalr` instruction.


Repository:
  rL LLVM

https://reviews.llvm.org/D35168





More information about the llvm-commits mailing list