opnsense-src/contrib/llvm/lib/Target/Mips
Dimitry Andric 82d50f9201 Pull in r280350 from upstream llvm trunk (by Hal Finkel):
Add ISD::EH_DWARF_CFA, simplify @llvm.eh.dwarf.cfa on Mips, fix on
  PowerPC

  LLVM has an @llvm.eh.dwarf.cfa intrinsic, used to lower the
  GCC-compatible __builtin_dwarf_cfa() builtin. As pointed out in
  PR26761, this is currently broken on PowerPC (and likely on ARM as
  well). Currently, @llvm.eh.dwarf.cfa is lowered using:

    ADD(FRAMEADDR, FRAME_TO_ARGS_OFFSET)

  where FRAME_TO_ARGS_OFFSET defaults to the constant zero. On x86,
  FRAME_TO_ARGS_OFFSET is lowered to 2*SlotSize. This setup, however,
  does not work for PowerPC. Because of the way that the stack layout
  works, the canonical frame address is not exactly (FRAMEADDR +
  FRAME_TO_ARGS_OFFSET) on PowerPC (there is a lower save-area offset
  as well), so it is not just a matter of implementing
  FRAME_TO_ARGS_OFFSET for PowerPC (unless we redefine its semantics --
  We can do that, since it is currently used only for
  @llvm.eh.dwarf.cfa lowering, but the better to directly lower the CFA
  construct itself (since it can be easily represented as a
  fixed-offset FrameIndex)). Mips currently does this, but by using a
  custom lowering for ADD that specifically recognizes the (FRAMEADDR,
  FRAME_TO_ARGS_OFFSET) pattern.

  This change introduces a ISD::EH_DWARF_CFA node, which by default
  expands using the existing logic, but can be directly lowered by the
  target. Mips is updated to use this method (which simplifies its
  implementation, and I suspect makes it more robust), and updates
  PowerPC to do the same.

  Fixes PR26761.

  Differential Revision: https://reviews.llvm.org/D24038
2016-09-10 16:11:42 +00:00
..
AsmParser Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
Disassembler Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
InstPrinter Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MCTargetDesc Update llvm to release_39 branch r278877. 2016-08-17 19:41:29 +00:00
TargetInfo Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk 2015-06-10 19:12:52 +00:00
MicroMips32r6InstrFormats.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MicroMips32r6InstrInfo.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MicroMips64r6InstrFormats.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MicroMips64r6InstrInfo.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MicroMipsDSPInstrFormats.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MicroMipsDSPInstrInfo.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MicroMipsInstrFormats.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MicroMipsInstrFPU.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MicroMipsInstrInfo.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
Mips.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
Mips.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
Mips16FrameLowering.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
Mips16FrameLowering.h Update llvm/clang to r242221. 2015-08-12 18:31:11 +00:00
Mips16HardFloat.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
Mips16HardFloatInfo.cpp Update llvm/clang to r241361. 2015-07-05 22:34:42 +00:00
Mips16HardFloatInfo.h Update llvm/clang to r241361. 2015-07-05 22:34:42 +00:00
Mips16InstrFormats.td Merge llvm 3.6.0rc1 from ^/vendor/llvm/dist, merge clang 3.6.0rc1 from 2015-01-25 23:36:55 +00:00
Mips16InstrInfo.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
Mips16InstrInfo.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
Mips16InstrInfo.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
Mips16ISelDAGToDAG.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
Mips16ISelDAGToDAG.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
Mips16ISelLowering.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
Mips16ISelLowering.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
Mips16RegisterInfo.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
Mips16RegisterInfo.h Merge llvm trunk r238337 from ^/vendor/llvm/dist, resolve conflicts, and 2015-05-27 20:26:41 +00:00
Mips32r6InstrFormats.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
Mips32r6InstrInfo.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
Mips64InstrInfo.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
Mips64r6InstrInfo.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsAnalyzeImmediate.cpp Merge llvm 3.6.0rc1 from ^/vendor/llvm/dist, merge clang 3.6.0rc1 from 2015-01-25 23:36:55 +00:00
MipsAnalyzeImmediate.h Update llvm/clang to r241361. 2015-07-05 22:34:42 +00:00
MipsAsmPrinter.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsAsmPrinter.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsCallingConv.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsCCState.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsCCState.h Update llvm/clang to r241361. 2015-07-05 22:34:42 +00:00
MipsCondMov.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsConstantIslandPass.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsDelaySlotFiller.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsDSPInstrFormats.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsDSPInstrInfo.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsEVAInstrFormats.td Update llvm to trunk r256633. 2015-12-30 13:13:10 +00:00
MipsEVAInstrInfo.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsFastISel.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsFrameLowering.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsFrameLowering.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsHazardSchedule.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsInstrFormats.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsInstrFPU.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsInstrInfo.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsInstrInfo.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsInstrInfo.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsISelDAGToDAG.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsISelDAGToDAG.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsISelLowering.cpp Pull in r280350 from upstream llvm trunk (by Hal Finkel): 2016-09-10 16:11:42 +00:00
MipsISelLowering.h Pull in r280350 from upstream llvm trunk (by Hal Finkel): 2016-09-10 16:11:42 +00:00
MipsLongBranch.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsMachineFunction.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsMachineFunction.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsMCInstLower.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsMCInstLower.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsModuleISelDAGToDAG.cpp Update llvm/clang to r241361. 2015-07-05 22:34:42 +00:00
MipsMSAInstrFormats.td Update llvm to trunk r256633. 2015-12-30 13:13:10 +00:00
MipsMSAInstrInfo.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsOptimizePICCall.cpp Merge llvm trunk r238337 from ^/vendor/llvm/dist, resolve conflicts, and 2015-05-27 20:26:41 +00:00
MipsOptionRecord.h Update llvm/clang to r241361. 2015-07-05 22:34:42 +00:00
MipsOs16.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsRegisterInfo.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsRegisterInfo.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsRegisterInfo.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsSchedule.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsScheduleP5600.td Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsSEFrameLowering.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsSEFrameLowering.h Update llvm to trunk r256633. 2015-12-30 13:13:10 +00:00
MipsSEInstrInfo.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsSEInstrInfo.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsSEISelDAGToDAG.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsSEISelDAGToDAG.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsSEISelLowering.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsSEISelLowering.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsSERegisterInfo.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsSERegisterInfo.h Merge llvm trunk r238337 from ^/vendor/llvm/dist, resolve conflicts, and 2015-05-27 20:26:41 +00:00
MipsSubtarget.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsSubtarget.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsTargetMachine.cpp Update llvm to release_39 branch r278877. 2016-08-17 19:41:29 +00:00
MipsTargetMachine.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsTargetObjectFile.cpp Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsTargetObjectFile.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MipsTargetStreamer.h Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
MSA.txt Merge llvm 3.5.0 release from ^/vendor/llvm/dist, resolve conflicts, and 2014-11-24 17:02:24 +00:00