mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-01 00:17:01 +00:00
Revert r124611 - "Keep track of incoming argument's location while emitting LiveIns."
In other words, do not keep track of argument's location. The debugger (gdb) is not prepared to see line table entries for arguments. For the debugger, "second" line table entry marks beginning of function body. This requires some coordination with debugger to get this working. - The debugger needs to be aware of prolog_end attribute attached with line table entries. - The compiler needs to accurately mark prolog_end in line table entries (at -O0 and at -O1+) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126155 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -17,8 +17,6 @@
|
||||
#include "llvm/Target/TargetRegisterInfo.h"
|
||||
#include "llvm/ADT/BitVector.h"
|
||||
#include "llvm/ADT/IndexedMap.h"
|
||||
#include "llvm/ADT/DenseMap.h"
|
||||
#include "llvm/Support/DebugLoc.h"
|
||||
#include <vector>
|
||||
|
||||
namespace llvm {
|
||||
@@ -66,10 +64,7 @@ class MachineRegisterInfo {
|
||||
/// stored in the second element.
|
||||
std::vector<std::pair<unsigned, unsigned> > LiveIns;
|
||||
std::vector<unsigned> LiveOuts;
|
||||
|
||||
/// LiveInLocs - Keep track of location livein registers.
|
||||
DenseMap<unsigned, DebugLoc> LiveInLocs;
|
||||
|
||||
|
||||
MachineRegisterInfo(const MachineRegisterInfo&); // DO NOT IMPLEMENT
|
||||
void operator=(const MachineRegisterInfo&); // DO NOT IMPLEMENT
|
||||
public:
|
||||
@@ -276,12 +271,7 @@ public:
|
||||
LiveIns.push_back(std::make_pair(Reg, vreg));
|
||||
}
|
||||
void addLiveOut(unsigned Reg) { LiveOuts.push_back(Reg); }
|
||||
|
||||
/// addLiveInLoc - Keep track of location info for live in reg.
|
||||
void addLiveInLoc(unsigned VReg, DebugLoc DL) {
|
||||
LiveInLocs[VReg] = DL;
|
||||
}
|
||||
|
||||
|
||||
// Iteration support for live in/out sets. These sets are kept in sorted
|
||||
// order by their register number.
|
||||
typedef std::vector<std::pair<unsigned,unsigned> >::const_iterator
|
||||
|
||||
Reference in New Issue
Block a user