llvm/lib/Target/Mips
Sergey Dmitrouk 1f7a90d793 Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes"
[DebugInfo] Add debug locations to constant SD nodes

This adds debug location to constant nodes of Selection DAG and updates
all places that create constants to pass debug locations
(see PR13269).

Can't guarantee that all locations are correct, but in a lot of cases choice
is obvious, so most of them should be. At least all tests pass.

Tests for these changes do not cover everything, instead just check it for
SDNodes, ARM and AArch64 where it's easy to get incorrect locations on
constants.

This is not complete fix as FastISel contains workaround for wrong debug
locations, which drops locations from instructions on processing constants,
but there isn't currently a way to use debug locations from constants there
as llvm::Constant doesn't cache it (yet). Although this is a bit different
issue, not directly related to these changes.

Differential Revision: http://reviews.llvm.org/D9084

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235989 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-28 14:05:47 +00:00
..
AsmParser [mips] [IAS] Rename the createShiftOr function to createLShiftOri. NFC. 2015-04-28 13:16:06 +00:00
Disassembler [mips][microMIPSr6] Implement disassembler support 2015-04-20 14:40:38 +00:00
InstPrinter [MCInstPrinter] Enable MCInstPrinter to change its behavior based on the 2015-03-27 20:36:02 +00:00
MCTargetDesc [mips][microMIPSr6] Implement mips32 to microMIPSr6 mapping support 2015-04-22 13:27:34 +00:00
TargetInfo
CMakeLists.txt
LLVMBuild.txt
Makefile
MicroMips32r6InstrFormats.td [mips][microMIPSr6] Implement CACHE and PREF instructions 2015-04-21 11:17:25 +00:00
MicroMips32r6InstrInfo.td [mips][microMIPSr6] Implement CACHE and PREF instructions 2015-04-21 11:17:25 +00:00
MicroMipsInstrFormats.td
MicroMipsInstrFPU.td
MicroMipsInstrInfo.td [mips][microMIPS] Make usage of NOT16 by code generator 2015-03-11 20:28:31 +00:00
Mips16FrameLowering.cpp [mips] Implement eliminateCallFramePseudoInstr() in MipsFrameLowering. NFC. 2015-04-02 11:09:40 +00:00
Mips16FrameLowering.h [mips] Implement eliminateCallFramePseudoInstr() in MipsFrameLowering. NFC. 2015-04-02 11:09:40 +00:00
Mips16HardFloat.cpp Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
Mips16HardFloatInfo.cpp
Mips16HardFloatInfo.h
Mips16InstrFormats.td
Mips16InstrInfo.cpp [mips] Make sure that we don't adjust the stack pointer by zero amount. 2015-04-02 10:14:54 +00:00
Mips16InstrInfo.h [mips] Expose adjustStackPtr() from MipsInstrInfo. NFC. 2015-04-02 10:42:44 +00:00
Mips16InstrInfo.td
Mips16ISelDAGToDAG.cpp Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
Mips16ISelDAGToDAG.h
Mips16ISelLowering.cpp Remove an argument-less call to getSubtargetImpl from TargetLoweringBase. 2015-02-26 00:00:24 +00:00
Mips16ISelLowering.h
Mips16RegisterInfo.cpp Remove the need to cache the subtarget in the Mips TargetRegisterInfo 2015-03-12 05:43:57 +00:00
Mips16RegisterInfo.h Remove the need to cache the subtarget in the Mips TargetRegisterInfo 2015-03-12 05:43:57 +00:00
Mips32r6InstrFormats.td [mips][microMIPSr6] Implement initial mapping support 2015-04-20 12:42:08 +00:00
Mips32r6InstrInfo.td [mips][microMIPSr6] Implement CACHE and PREF instructions 2015-04-21 11:17:25 +00:00
Mips64InstrInfo.td [mips] Optimize code generation for 64-bit variable shift instructions. 2015-04-21 10:49:03 +00:00
Mips64r6InstrInfo.td
Mips.h [mips] Remove trivial header for the MipsModuleISelDAGToDAG pass. NFC. 2015-03-14 09:20:52 +00:00
Mips.td [mips] Remove redundant periods from -mattr=help descriptions for MIPS. 2015-02-27 10:44:02 +00:00
MipsAnalyzeImmediate.cpp
MipsAnalyzeImmediate.h
MipsAsmPrinter.cpp [AsmPrinter] Make AsmPrinter's OutStreamer member a unique_ptr. 2015-04-24 19:11:51 +00:00
MipsAsmPrinter.h Remove obsolete comment. 2015-02-21 08:48:23 +00:00
MipsCallingConv.td [MIPS] Fix justify error for small structures 2015-03-16 15:01:09 +00:00
MipsCCState.cpp AArch64: Safely handle the incoming sret call argument. 2015-02-16 18:10:47 +00:00
MipsCCState.h Removing LLVM_DELETED_FUNCTION, as MSVC 2012 was the last reason for requiring the macro. NFC; LLVM edition. 2015-02-15 22:54:22 +00:00
MipsCondMov.td
MipsConstantIslandPass.cpp
MipsDelaySlotFiller.cpp [mips] Teach the delay slot filler to remove needless KILL instructions. 2015-04-17 12:01:02 +00:00
MipsDSPInstrFormats.td
MipsDSPInstrInfo.td
MipsFastISel.cpp Reapply "[mips][FastISel] Implement shift ops for Mips fast-isel."" 2015-04-27 13:28:05 +00:00
MipsFrameLowering.cpp [mips] Implement eliminateCallFramePseudoInstr() in MipsFrameLowering. NFC. 2015-04-02 11:09:40 +00:00
MipsFrameLowering.h [mips] Implement eliminateCallFramePseudoInstr() in MipsFrameLowering. NFC. 2015-04-02 11:09:40 +00:00
MipsInstrFormats.td [mips][microMIPSr6] Implement mips32 to microMIPSr6 mapping support 2015-04-22 13:27:34 +00:00
MipsInstrFPU.td [mips] Cleanup old floating-point flag conditions definitions. NFC. 2015-04-21 10:53:57 +00:00
MipsInstrInfo.cpp
MipsInstrInfo.h [mips] Expose adjustStackPtr() from MipsInstrInfo. NFC. 2015-04-02 10:42:44 +00:00
MipsInstrInfo.td [mips][microMIPSr6] Implement BALC and BC instructions 2015-04-20 13:04:14 +00:00
MipsISelDAGToDAG.cpp [mips] Distinguish 'R', 'ZC', and 'm' inline assembly memory constraint. 2015-03-24 11:26:34 +00:00
MipsISelDAGToDAG.h Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
MipsISelLowering.cpp Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
MipsISelLowering.h [mips] Distinguish 'R', 'ZC', and 'm' inline assembly memory constraint. 2015-03-24 11:26:34 +00:00
MipsLongBranch.cpp
MipsMachineFunction.cpp [Mips] Use unique_ptr to manage ownership. 2015-04-16 12:43:33 +00:00
MipsMachineFunction.h [Mips] Use unique_ptr to manage ownership. 2015-04-16 12:43:33 +00:00
MipsMCInstLower.cpp Remove MCStreamer.h include from MCContext.h and explictly include it where necessary. NFC 2015-03-04 01:24:11 +00:00
MipsMCInstLower.h
MipsModuleISelDAGToDAG.cpp Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
MipsMSAInstrFormats.td
MipsMSAInstrInfo.td
MipsOptimizePICCall.cpp
MipsOptionRecord.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
MipsOs16.cpp Re-sort includes with sort-includes.py and insert raw_ostream.h where it's used. 2015-03-23 19:32:43 +00:00
MipsRegisterInfo.cpp [mips] Move ABI-dependent register selections to MipsABIInfo. NFC. 2015-04-17 09:50:21 +00:00
MipsRegisterInfo.h Remove some unnecessary forward declarations and put a couple more 2015-03-12 06:07:16 +00:00
MipsRegisterInfo.td [mips] Honour -mno-odd-spreg for vector insert/extract when MSA is enabled. 2015-02-23 17:22:16 +00:00
MipsSchedule.td [mips] Add itineraries for ext and ins instructions. 2015-03-18 06:28:38 +00:00
MipsSEFrameLowering.cpp [mips] Move ABI-dependent register selections to MipsABIInfo. NFC. 2015-04-17 09:50:21 +00:00
MipsSEFrameLowering.h [mips] Implement eliminateCallFramePseudoInstr() in MipsFrameLowering. NFC. 2015-04-02 11:09:40 +00:00
MipsSEInstrInfo.cpp [mips] Move ABI-dependent register selections to MipsABIInfo. NFC. 2015-04-17 09:50:21 +00:00
MipsSEInstrInfo.h [mips] Expose adjustStackPtr() from MipsInstrInfo. NFC. 2015-04-02 10:42:44 +00:00
MipsSEISelDAGToDAG.cpp Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
MipsSEISelDAGToDAG.h [mips] Distinguish 'R', 'ZC', and 'm' inline assembly memory constraint. 2015-03-24 11:26:34 +00:00
MipsSEISelLowering.cpp Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
MipsSEISelLowering.h
MipsSelectionDAGInfo.cpp
MipsSelectionDAGInfo.h
MipsSERegisterInfo.cpp [mips] Move ABI-dependent register selections to MipsABIInfo. NFC. 2015-04-17 09:50:21 +00:00
MipsSERegisterInfo.h Remove the need to cache the subtarget in the Mips TargetRegisterInfo 2015-03-12 05:43:57 +00:00
MipsSubtarget.cpp Fix wording and grammar in Mips subtarget options. 2015-02-20 08:42:34 +00:00
MipsSubtarget.h [mips][microMIPSr6] Implement initial subtarget support 2015-04-20 12:23:06 +00:00
MipsTargetMachine.cpp [mips] Remove trivial header for the MipsModuleISelDAGToDAG pass. NFC. 2015-03-14 09:20:52 +00:00
MipsTargetMachine.h Remove the target independent TargetMachine::getSubtarget and 2015-03-21 04:22:23 +00:00
MipsTargetObjectFile.cpp Grab a subtarget off of a MipsTargetMachine rather than a 2015-03-21 03:13:05 +00:00
MipsTargetObjectFile.h Grab a subtarget off of a MipsTargetMachine rather than a 2015-03-21 03:13:05 +00:00
MipsTargetStreamer.h [mips] [IAS] Add support for the .insn directive. 2015-04-16 09:53:47 +00:00
MSA.txt