- Feb 02, 2008
-
-
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
-
Devang Patel authored
llvm-svn: 46658
-
Devang Patel authored
llvm-svn: 46657
-
Gordon Henriksen authored
than double through the C bindings. Thanks to Tomas Lindquist Olsen for reporting it. llvm-svn: 46656
-
Evan Cheng authored
llvm-svn: 46655
-
- Feb 01, 2008
-
-
Lauro Ramos Venancio authored
llvm-svn: 46646
-
Duncan Sands authored
llvm-svn: 46645
-
Evan Cheng authored
llvm-svn: 46636
-
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
-
Anton Korobeynikov authored
llvm-svn: 46625
-
- Jan 31, 2008
-
-
Evan Cheng authored
llvm-svn: 46623
-
Dale Johannesen authored
exposed a bug in APFloat's long double->double conversion of NaNs. Broke several things in the ieee part of gcc testsuite. llvm-svn: 46617
-
Anton Korobeynikov authored
llvm-svn: 46615
-
Chris Lattner authored
llvm-svn: 46614
-
Anton Korobeynikov authored
llvm-svn: 46612
-
Anton Korobeynikov authored
llvm-svn: 46611
-
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
Allow ComplexExpressions in InstrInfo.td files to be slightly more... complex! ComplexExpressions can now have attributes which affect how TableGen interprets the pattern when generating matchin code. The first (and currently, only) attribute causes the immediate parent node of the ComplexPattern operand to be passed into the matching code rather than the node at the root of the entire DAG containing the pattern. llvm-svn: 46606
-
Christopher Lamb authored
llvm-svn: 46605
-
Evan Cheng authored
llvm-svn: 46598
-
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
-
Evan Cheng authored
llvm-svn: 46596
-
Dan Gohman authored
llvm-svn: 46591
-
Dan Gohman authored
llvm-svn: 46590
-
Dan Gohman authored
llvm-svn: 46588
-
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
-
Evan Cheng authored
Treat the label for the first @llvm.dbg.stoppoint the same way as the dbg_func_start label. Make sure nothing else is inserted before them. Note this solution might be somewhat fragile since ISD::LABEL may be used for other purposes. If that ends up to be an issue, we may need to introduce a different node for debug labels. llvm-svn: 46571
-
Dale Johannesen authored
llvm-svn: 46569
-
Evan Cheng authored
A semi-gross fix for a debug info issue. When inserting the "function start" label (i.e. first label in the entry block) take care to insert it at the beginning of the block. llvm-svn: 46568
-
Devang Patel authored
llvm-svn: 46567
-
Dale Johannesen authored
legitimate way of representing global variable GV in debug info. llvm-svn: 46565
-
Devang Patel authored
llvm-svn: 46563
-
Evan Cheng authored
Even though InsertAtEndOfBasicBlock is an ugly hack it still deserves a proper name. Rename it to EmitInstrWithCustomInserter since it does not necessarily insert instruction at the end. llvm-svn: 46562
-
Devang Patel authored
llvm-svn: 46560
-
Dan Gohman authored
memory reference information in the backend. Most of this was written by Florian Brander, cleanup and updating to TOT by me. llvm-svn: 46556
-