- Feb 10, 2008
-
-
Duncan Sands authored
llvm-svn: 46926
-
Bill Wendling authored
no-op). llvm-svn: 46922
-
Chris Lattner authored
llvm-svn: 46918
-
- Feb 09, 2008
-
-
Evan Cheng authored
llvm-svn: 46903
-
- Feb 08, 2008
-
-
Dan Gohman authored
begin adding some methods to use it this way. llvm-svn: 46899
-
Evan Cheng authored
llvm-svn: 46896
-
Evan Cheng authored
llvm-svn: 46895
-
Dan Gohman authored
llvm-svn: 46876
-
- Feb 07, 2008
-
-
Evan Cheng authored
llvm-svn: 46861
-
Dan Gohman authored
to return pointers instead of references, since this is always what is needed. llvm-svn: 46857
-
Dan Gohman authored
as <unknown>. And make some minor adjustments to the MemOperand dump format. llvm-svn: 46853
-
Nick Lewycky authored
llvm-svn: 46848
-
- Feb 06, 2008
-
-
Dan Gohman authored
initializer problem, a minor tweak to the way the DAGISelEmitter finds load/store nodes, and a renaming of the new PseudoSourceValue objects. llvm-svn: 46827
-
Evan Cheng authored
llvm-svn: 46821
-
Evan Cheng authored
RegAllocaLocal still *requires* LiveVariables since it runs PHIElimination, followed by TwoAddress which requires LiveVariables. We cannot run LiveVariables on non-SSA code. llvm-svn: 46813
-
- Feb 05, 2008
-
-
Evan Cheng authored
llvm-svn: 46776
-
Evan Cheng authored
If a vr is already marked alive in a bb, then it has PHI uses that are visited earlier, then it is not killed in the def block (i.e. not dead). llvm-svn: 46763
-
Evan Cheng authored
llvm-svn: 46725
-
Evan Cheng authored
Dwarf requires variable entries to be in the source order. Right now, since we are recording variable information at isel time this means parameters would appear in the reverse order. The short term fix is to issue recordVariable() at asm printing time instead. llvm-svn: 46724
-
- Feb 04, 2008
-
-
Duncan Sands authored
ReadyToProcess node - add an assertion to check this. Add an assertion to NodeDeleted that checks that processed/ready nodes are indeed not deleted. It is because they are never deleted that none of the maps can have a deleted node as the source of a mapping. It does however seem to be possible in theory to have a deleted value as the target of a mapping, however this has not yet been spotted in the wild. Still mulling on what to do about this. [The theoretical situation is this: a node A is expanded/promoted/whatever to a newly created node B. Thus A->B is added to a map. When the subtree rooted at B is legalized it is conceivable that B is deleted due to RAUW on a node somewhere above it]. llvm-svn: 46705
-
- Feb 03, 2008
-
-
Chris Lattner authored
llvm-svn: 46682
-
Chris Lattner authored
multiple times due to a RAUW. llvm-svn: 46680
-
Chris Lattner authored
keep the LegalizeTypes node flags up to date when doing a RAUW. This fixes a nasty bug that Duncan ran into and makes the previous (nonbuggy case) more efficent. llvm-svn: 46679
-
Chris Lattner authored
llvm-svn: 46678
-
Chris Lattner authored
DAGUpdateListener object pointer instead of just returning a vector of deleted nodes. This makes the interfaces more efficient (no more allocating a vector [at least a malloc], filling it in, then walking it) and more clean. This also allows the client to be notified of nodes that are *changed* but not deleted. llvm-svn: 46677
-
Chris Lattner authored
SelectionDAG::ReplaceAllUsesWith to handle replacement of an SDOperand with *any* sdoperand, not just one for a node with a single result. Note that this has a horrible FIXME'd hack in it to work around PR1975. This should be removed when PR1975 is fixed. llvm-svn: 46674
-
Chris Lattner authored
llvm-svn: 46672
-
- Feb 02, 2008
-
-
Evan Cheng authored
llvm-svn: 46667
-
Evan Cheng authored
SDIsel processes llvm.dbg.declare by recording the variable debug information descriptor and its corresponding stack frame index in MachineModuleInfo. This only works if the local variable is "homed" in the stack frame. It does not work for byval parameter, etc. Added ISD::DECLARE node type to represent llvm.dbg.declare intrinsic. Now the intrinsic calls are lowered into a SDNode and lives on through out the codegen passes. For now, since all the debugging information recording is done at isel time, when a ISD::DECLARE node is selected, it has the side effect of also recording the variable. This is a short term solution that should be fixed in time. llvm-svn: 46659
-
- Feb 01, 2008
-
-
Evan Cheng authored
Remove the nasty LABEL hack with a much less evil one. Now llvm.dbg.func.start implies a stoppoint is set. SelectionDAGISel records a new source line but does not create a ISD::LABEL node for this special stoppoint. Asm printer will magically print this label. This ensures nothing is emitted before. llvm-svn: 46635
-
Evan Cheng authored
llvm-svn: 46628
-
- Jan 31, 2008
-
-
Evan Cheng authored
llvm-svn: 46623
-
Evan Cheng authored
llvm-svn: 46610
-
Evan Cheng authored
Add an extra operand to LABEL nodes which distinguishes between debug, EH, or misc labels. This fixes the EH breakage. However I am not convinced this is *the* solution. llvm-svn: 46609
-
Christopher Lamb authored
llvm-svn: 46605
-
Evan Cheng authored
MRegisterInfo::getLocation() is a really bad idea. Its function is to calculate the offset from frame pointer to a stack slot and then storing the delta in a MachineLocation object. The name is bad (it implies a getter), and MRegisterInfo doesn't need to know about MachineLocation. Replace getLocation() with getFrameIndexOffset() which returns the delta from frame pointer to stack slot. Dwarf writer can then use the information for whatever it wants. llvm-svn: 46597
-
Dan Gohman authored
with the real FLT_ROUNDS (defined in <float.h>). llvm-svn: 46587
-
Evan Cheng authored
llvm-svn: 46586
-
Dan Gohman authored
in the backend. Introduce a new SDNode type, MemOperandSDNode, for holding a MemOperand in the SelectionDAG IR, and add a MemOperand list to MachineInstr, and code to manage them. Remove the offset field from SrcValueSDNode; uses of SrcValueSDNode that were using it are all all using MemOperandSDNode now. Also, begin updating some getLoad and getStore calls to use the PseudoSourceValue objects. Most of this was written by Florian Brander, some reorganization and updating to TOT by me. llvm-svn: 46585
-
- Jan 30, 2008
-
-
Evan Cheng authored
Fixed a bug in MergeValueInAsValue() pointed out by David Greene. Replace val# with previous liverange's. llvm-svn: 46579
-