Skip to content
  1. Nov 17, 2016
  2. Dec 18, 2014
    • Eric Christopher's avatar
      Add a new string member to the TargetOptions struct for the name · 661f2d1c
      Eric Christopher authored
      of the abi we should be using. For targets that don't use the
      option there's no change, otherwise this allows external users
      to set the ABI via string and avoid some of the -backend-option
      pain in clang.
      
      Use this option to move the ABI for the ARM port from the
      Subtarget to the TargetMachine and update the testcases
      accordingly since it's no longer valid to set via -mattr.
      
      llvm-svn: 224492
      661f2d1c
    • Eric Christopher's avatar
      Model ARM backend ABI selection after the front end code doing the · 1971c350
      Eric Christopher authored
      same. This will change the "bare metal" ABI from APCS to AAPCS.
      
      The only difference between the front and back end code is that
      the code for Triple::GNU was added for environment. That will migrate
      to the front end shortly.
      
      Tests updated with the ABI they were originally testing in the case
      of bare metal (e.g. -mtriple armv7) or with a -gnu for arm-linux
      triples.
      
      llvm-svn: 224489
      1971c350
  3. Aug 18, 2014
    • Oliver Stannard's avatar
      [ARM,AArch64] Do not tail-call to an externally-defined function with weak linkage · 12993dd9
      Oliver Stannard authored
      Externally-defined functions with weak linkage should not be
      tail-called on ARM or AArch64, as the AAELF spec requires normal calls
      to undefined weak functions to be replaced with a NOP or jump to the
      next instruction. The behaviour of branch instructions in this
      situation (as used for tail calls) is implementation-defined, so we
      cannot rely on the linker replacing the tail call with a return.
      
      llvm-svn: 215890
      12993dd9
  4. Mar 25, 2014
  5. Mar 11, 2014
    • Saleem Abdulrasool's avatar
      ARM: honour -f{no-,}optimize-sibling-calls · 0d96f3dd
      Saleem Abdulrasool authored
      Use the options in the ARMISelLowering to control whether tail calls are
      optimised or not.  Previously, this option was entirely ignored on the ARM
      target and only honoured on x86.
      
      This option is mostly useful in profiling scenarios.  The default remains that
      tail call optimisations will be applied.
      
      llvm-svn: 203577
      0d96f3dd
Loading