| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 46667
|
| |
|
|
| |
llvm-svn: 46666
|
| |
|
|
| |
llvm-svn: 46665
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 46658
|
| |
|
|
|
|
|
| |
than double through the C bindings. Thanks to Tomas Lindquist
Olsen for reporting it.
llvm-svn: 46656
|
| |
|
|
| |
llvm-svn: 46655
|
| |
|
|
| |
llvm-svn: 46646
|
| |
|
|
| |
llvm-svn: 46645
|
| |
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 46628
|
| |
|
|
|
|
| |
re-commit.
llvm-svn: 46623
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 46610
|
| |
|
|
|
|
| |
or misc labels. This fixes the EH breakage. However I am not convinced this is *the* solution.
llvm-svn: 46609
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 46605
|
| |
|
|
|
|
| |
info.
llvm-svn: 46598
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
labels.
llvm-svn: 46596
|
| |
|
|
| |
llvm-svn: 46591
|
| |
|
|
| |
llvm-svn: 46590
|
| |
|
|
|
|
| |
with the real FLT_ROUNDS (defined in <float.h>).
llvm-svn: 46587
|
| |
|
|
| |
llvm-svn: 46586
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
val# with previous liverange's.
llvm-svn: 46579
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 46569
|
| |
|
|
|
|
| |
label (i.e. first label in the entry block) take care to insert it at the beginning of the block.
llvm-svn: 46568
|
| |
|
|
|
|
| |
legitimate way of representing global variable GV in debug info.
llvm-svn: 46565
|
| |
|
|
|
|
|
|
| |
proper name. Rename it to EmitInstrWithCustomInserter since it does not necessarily insert
instruction at the end.
llvm-svn: 46562
|
| |
|
|
|
|
|
| |
memory reference information in the backend. Most of this was written by
Florian Brander, cleanup and updating to TOT by me.
llvm-svn: 46556
|
| |
|
|
|
|
| |
list just to see if whether the list is empty.
llvm-svn: 46555
|
| |
|
|
| |
llvm-svn: 46554
|
| |
|
|
| |
llvm-svn: 46553
|
| |
|
|
|
|
| |
inserting prologue code.
llvm-svn: 46546
|
| |
|
|
| |
llvm-svn: 46545
|
| |
|
|
|
|
|
|
|
| |
- Expand tabs... (poss 80-col violations, will get them later...)
- Consolidate logic for SelectDFormAddr and SelectDForm2Addr into a single
function, simplifying maintenance. Also reduced custom instruction
generation for SPUvecinsert/INSERT_MASK.
llvm-svn: 46544
|
| |
|
|
|
|
| |
to reflect this increased aggressiveness.
llvm-svn: 46542
|
| |
|
|
|
|
|
|
| |
dereferencing the end
of one of its internal maps.
llvm-svn: 46541
|
| |
|
|
|
|
|
| |
In practice this can only happen on code with already undefined behavior,
but this is still a good thing to handle correctly.
llvm-svn: 46539
|
| |
|
|
|
|
|
|
| |
and StoreSDNode into their common base class LSBaseSDNode. Member
functions getLoadedVT and getStoredVT are replaced with the common
getMemoryVT to simplify code that will handle both loads and stores.
llvm-svn: 46538
|
| |
|
|
|
|
|
|
| |
StructRet but really should be return in registers, e.g. _Complex long double, some 128-bit aggregates. This is a short term solution that is necessary only because llvm, for now, cannot model i128 nor call's with multiple results.
Status: This only works for direct calls, and only the caller side is done. Disabled for now.
llvm-svn: 46527
|
| |
|
|
|
|
|
|
|
|
|
| |
type that matters but the operand type. This fixes
2008-01-08-IllegalCMP.ll which crashed with the new
legalize infrastructure because SETCC with result
type i8 and operand type i64 was being custom expanded
by the X86 backend. With this fix, the gcc build gets
as far as the first libcall.
llvm-svn: 46525
|
| |
|
|
| |
llvm-svn: 46523
|
| |
|
|
| |
llvm-svn: 46514
|
| |
|
|
| |
llvm-svn: 46513
|
| |
|
|
| |
llvm-svn: 46510
|
| |
|
|
|
|
| |
compiler warnings.
llvm-svn: 46509
|
| |
|
|
| |
llvm-svn: 46508
|