Chris Lattner
108484eb68
add two helper methods
...
llvm-svn: 31143
2006-10-23 23:35:35 +00:00
Jim Laskey
f6a28d7161
More complete solution to deleting blocks and debug info.
...
llvm-svn: 31129
2006-10-23 14:56:37 +00:00
Chris Lattner
9b527c4477
New, wonderful isSuccessor method
...
llvm-svn: 31103
2006-10-21 06:50:05 +00:00
Chris Lattner
f959f98fda
typo
...
llvm-svn: 31089
2006-10-20 22:44:45 +00:00
Chris Lattner
b9ea8d6ddd
add isIdenticalTo method to machineinstr/operand.
...
llvm-svn: 31087
2006-10-20 22:39:36 +00:00
Chris Lattner
684db58e17
add method
...
llvm-svn: 31066
2006-10-20 18:00:03 +00:00
Chris Lattner
22e311fe77
add a method to remove a line # record.
...
llvm-svn: 31025
2006-10-17 23:16:42 +00:00
Chris Lattner
dd39b9d358
Do not leak all of the SourceLineInfo objects. Do not bother mallocing each
...
one separately.
llvm-svn: 31022
2006-10-17 22:06:46 +00:00
Chris Lattner
9771af72c1
minor cleanups
...
llvm-svn: 31021
2006-10-17 21:51:44 +00:00
Evan Cheng
582d22a821
Split PRE_INDEXED to PRE_INC / PRE_DEC and similarly for POST_INDEXED.
...
llvm-svn: 31015
2006-10-17 21:12:56 +00:00
Jim Laskey
37679253ae
Clean up interface to getGlobalLinkName.
...
llvm-svn: 31001
2006-10-17 17:17:24 +00:00
Jim Laskey
620df3ea5f
Basic support for getGlobalLinkName.
...
llvm-svn: 30997
2006-10-17 13:41:07 +00:00
Jim Laskey
06f4428abc
Pass AliasAnalysis thru to DAGCombiner.
...
llvm-svn: 30984
2006-10-16 20:52:31 +00:00
Chris Lattner
3bfbb5eabd
add a ReplaceMBBInJumpTables method
...
llvm-svn: 30983
2006-10-16 20:41:42 +00:00
Evan Cheng
c8b9d15614
Start checking from the root of the matched sub-tree.
...
llvm-svn: 30957
2006-10-14 08:30:53 +00:00
Chris Lattner
25ad62d132
When SimplifySetCC was moved to the DAGCombiner, it was never removed from
...
SelectionDAG and it has since bitrotted. Remove the copy from SelectionDAG.
Next, remove the constant folding piece of DAGCombiner::SimplifySetCC into
a new FoldSetCC method which can be used by getNode() and SimplifySetCC.
This fixes obscure bugs.
llvm-svn: 30952
2006-10-14 00:41:01 +00:00
Evan Cheng
fe5bb5dbe6
Merge ISD::TRUNCSTORE to ISD::STORE. Switch to using StoreSDNode.
...
llvm-svn: 30945
2006-10-13 21:14:26 +00:00
Evan Cheng
61afb767eb
Add RemoveDeadNode to remove a dead node and its (potentially) dead operands.
...
llvm-svn: 30916
2006-10-12 20:34:05 +00:00
Evan Cheng
9b31a4d4ed
Naming consistency.
...
llvm-svn: 30878
2006-10-11 07:10:22 +00:00
Andrew Lenharth
4b783303e5
Jimptables working again on alpha.
...
As a bonus, use the GOT node instead of the AlphaISD::GOT for internal stuff.
llvm-svn: 30873
2006-10-11 04:29:42 +00:00
Chris Lattner
aa1741fc87
add two helper methods.
...
llvm-svn: 30869
2006-10-11 03:58:02 +00:00
Evan Cheng
8090a67f40
Comments; getChain(), getBasePtr(), etc. should return a SDOperand by value.
...
llvm-svn: 30850
2006-10-10 01:44:58 +00:00
Evan Cheng
967d6af1d2
Merging ISD::LOAD and ISD::LOADX. Added LoadSDNode to represent load nodes.
...
Chain and address ptr remains as operands. SrcValue, extending mode, extending
VT (or rather loaded VT before extension) are now instance variables of
LoadSDNode.
Introduce load / store addressing modes to represent pre- and post-indexed
load and store. Also added an additional operand offset that is only used in
post-indexed mode (i.e. base ptr += offset after load/store).
Added alignment info (not yet used) and isVolatile fields.
llvm-svn: 30843
2006-10-09 20:55:20 +00:00
Chris Lattner
621a182abd
add an accessor
...
llvm-svn: 30761
2006-10-06 01:16:29 +00:00
Evan Cheng
c9e079d0c1
Add getStore() helper function to create ISD::STORE nodes.
...
llvm-svn: 30758
2006-10-05 22:57:11 +00:00
Chris Lattner
068190eb91
Pass the MachineFunction into EmitJumpTableInfo.
...
llvm-svn: 30742
2006-10-05 03:01:21 +00:00
Chris Lattner
da8321b52e
move getSectionForFunction to AsmPrinter.
...
llvm-svn: 30734
2006-10-05 02:41:43 +00:00
Evan Cheng
494e8e6971
Combine ISD::EXTLOAD, ISD::SEXTLOAD, ISD::ZEXTLOAD into ISD::LOADX. Add an
...
extra operand to LOADX to specify the exact value extension type.
llvm-svn: 30714
2006-10-04 00:56:09 +00:00
Chris Lattner
a05ee6de92
ADd a method
...
llvm-svn: 30707
2006-10-03 20:16:45 +00:00
Chris Lattner
77aa419991
Provide a function that ensures MBB numbering is dense and inorder. This
...
can be used by MachineFunctionPasses who need this property.
llvm-svn: 30706
2006-10-03 19:18:57 +00:00
Bill Wendling
9b15198af4
Fix for PR929. The PHI nodes were being gone through for each instruction
...
in a successor block for every block...resulting in some O(N^k) algorithm
which wasn't very good for performance. Calculating this information up
front and keeping it in a map made it much faster.
llvm-svn: 30697
2006-10-03 07:20:20 +00:00
Jim Laskey
3d44b337d9
Add ability to annotate (color) nodes in a viewGraph.
...
llvm-svn: 30686
2006-10-02 12:26:53 +00:00
Chris Lattner
b512048344
refactor critical edge breaking out into the SplitCritEdgesForPHIConstants method.
...
This is a baby step towards fixing PR925.
llvm-svn: 30643
2006-09-28 06:17:10 +00:00
Chris Lattner
ddf92db1ca
Add support for ${:comment}, which expands to the current target's comment
...
character, and ${:uid} which expands to a unique ID for the MachineInstr.
More can be added if/when they are needed.
llvm-svn: 30619
2006-09-26 23:59:50 +00:00
Chris Lattner
167aa73273
Add support for targets that want to do something with the llvm.used list,
...
because they have an aggressive linker that does dead code stripping.
llvm-svn: 30604
2006-09-26 03:38:18 +00:00
Andrew Lenharth
58f5a24f0c
Add support for other relocation bases to jump tables, as well as custom asm directives
...
llvm-svn: 30593
2006-09-24 19:45:58 +00:00
Jim Laskey
07ac577a34
Sort out mangled names for globals
...
llvm-svn: 30460
2006-09-18 14:47:26 +00:00
Chris Lattner
9306fac571
Keep track of the start of MBB's in a separate map from instructions. This
...
is faster and is needed for future improvements.
llvm-svn: 30383
2006-09-15 03:57:23 +00:00
Evan Cheng
489428e6f8
Add MachineConstantPoolEntry getOffset() accessor.
...
llvm-svn: 30325
2006-09-14 07:32:32 +00:00
Evan Cheng
b25fd42e43
The top bit is used to determine whether it's a MachineConstantPoolValue.
...
llvm-svn: 30324
2006-09-14 07:30:48 +00:00
Chris Lattner
31e8414b3f
revert accidentally committed file
...
llvm-svn: 30323
2006-09-14 06:42:17 +00:00
Chris Lattner
2544818d6b
Remove dead methods, add getNumBlockIDs() method
...
llvm-svn: 30322
2006-09-14 06:40:48 +00:00
Evan Cheng
b68bfafe09
Mirrors ConstantPoolSDNode.
...
llvm-svn: 30314
2006-09-14 05:48:39 +00:00
Evan Cheng
499d77553a
Added support for machine specific constantpool values. These are useful for
...
representing expressions that can only be resolved at link time, etc.
llvm-svn: 30278
2006-09-12 21:00:35 +00:00
Nate Begeman
1109e4a222
Behold, more work on relocations. Things are looking pretty good now.
...
llvm-svn: 30240
2006-09-10 23:03:44 +00:00
Chris Lattner
7005757ced
Implement new fpowi node
...
llvm-svn: 30223
2006-09-09 05:55:44 +00:00
Nate Begeman
2dfa13e74f
First pass at supporting relocations. Relocations are written correctly to
...
the file now, however the relocated address is currently wrong. Fixing
that will require some deep pondering.
llvm-svn: 30207
2006-09-08 22:42:09 +00:00
Jim Laskey
9da25f6119
Make target asm info a property of the target machine.
...
llvm-svn: 30162
2006-09-07 22:06:40 +00:00
Jim Laskey
6b86ef852c
Separate target specific asm properties from the asm printers.
...
llvm-svn: 30126
2006-09-06 18:34:40 +00:00
Evan Cheng
e7875b655d
IsDef can only be accessed / set if operand is a register.
...
llvm-svn: 30119
2006-09-05 20:20:04 +00:00
Evan Cheng
f041d2de7e
Initialize IsDef of all non-register MachineOperand to false.
...
llvm-svn: 30116
2006-09-05 18:56:02 +00:00
Chris Lattner
9cd4e3429e
Completely eliminate def&use operands. Now a register operand is EITHER a
...
def operand or a use operand.
llvm-svn: 30109
2006-09-05 02:31:13 +00:00
Chris Lattner
40e16d9e51
ADd getImm/setImm methods
...
llvm-svn: 30105
2006-09-04 23:35:22 +00:00
Chris Lattner
35f1acab3a
Add some short-hand accessors
...
llvm-svn: 30104
2006-09-04 23:05:29 +00:00
Chris Lattner
b590a41f7b
Avoid beating on the mi2i map when we know the answer already.
...
llvm-svn: 30066
2006-09-03 08:07:11 +00:00
Chris Lattner
cc5b4bff8f
Move two methods out of line, make them work when the record for a machine
...
instruction includes physregs.
llvm-svn: 30061
2006-09-03 00:05:09 +00:00
Chris Lattner
518f055373
Fix a typo pointed out by Gabor
...
llvm-svn: 30058
2006-09-02 22:27:29 +00:00
Chris Lattner
c01fbffc67
add a prototype
...
llvm-svn: 30051
2006-09-02 05:37:53 +00:00
Chris Lattner
dfda549a00
Iteration is required for some cases, even if they don't occur in crafty.
...
Restore it, which re-fixes X86/2006-08-21-ExtraMovInst.ll
llvm-svn: 30050
2006-09-02 05:32:53 +00:00
Chris Lattner
9ad19f6f8b
new method
...
llvm-svn: 30048
2006-09-02 05:26:01 +00:00
Chris Lattner
89a7eadf22
remove some particularly expensive assertions
...
llvm-svn: 30014
2006-09-01 06:57:35 +00:00
Chris Lattner
0c120af606
Iterative coallescing doesn't buy us anything (we get identical results on
...
crafty with and without it). Removing it speeds up live intervals 6%.
llvm-svn: 30010
2006-09-01 04:02:42 +00:00
Chris Lattner
998dd9b42e
avoid calling the virtual isMoveInstr method endlessly by caching its results.
...
llvm-svn: 29994
2006-08-31 05:54:43 +00:00
Chris Lattner
c7fb7a05bf
fix 80 column issue
...
llvm-svn: 29972
2006-08-30 05:56:52 +00:00
Chris Lattner
3a4d512930
Teach the coallescer to coallesce live intervals joined by an arbitrary
...
number of copies, potentially defining live ranges that appear to have
differing value numbers that become identical when coallsced. Among other
things, this fixes CodeGen/X86/shift-coalesce.ll and PR687.
llvm-svn: 29968
2006-08-29 23:18:15 +00:00
Evan Cheng
2335c819cd
Move isCommutativeBinOp from SelectionDAG.cpp and DAGCombiner.cpp out. Make it a static method of SelectionDAG.
...
llvm-svn: 29951
2006-08-29 06:42:35 +00:00
Evan Cheng
6e08e7035f
Eliminate SelectNodeTo() and getTargetNode() variants which take more than
...
3 SDOperand operands. They are replaced by versions which take an array
of SDOperand and the number of operands.
llvm-svn: 29905
2006-08-27 08:08:54 +00:00
Nate Begeman
f94ddf0d12
Properly size the string table, and emit symbol table and string table
...
entries in the correct order, fixing several fixmes.
llvm-svn: 29902
2006-08-26 15:46:34 +00:00
Evan Cheng
1c3d571e4b
SelectNodeTo now returns a SDNode*.
...
llvm-svn: 29901
2006-08-26 08:00:10 +00:00
Chris Lattner
ec9c7fa089
Completely change the way that joining with physregs is implemented. This
...
paves the way for future changes, increases coallescing opportunities (in
theory, not witnessed in practice), and eliminates the really expensive
LiveIntervals::overlapsAliases method.
llvm-svn: 29890
2006-08-25 23:41:24 +00:00
Jim Laskey
e9b0e1014e
Tidy up.
...
llvm-svn: 29888
2006-08-25 22:56:30 +00:00
Jim Laskey
3af6953257
Consolidate callee saved register information so that it can me used by debug
...
information and exception handling.
llvm-svn: 29881
2006-08-25 19:45:51 +00:00
Nate Begeman
ce8ab85260
Get closer to handling globals correctly. We now generally get them in the
...
right section.
llvm-svn: 29871
2006-08-25 06:36:58 +00:00
Chris Lattner
28645a15bd
Take advantage of the recent improvements to the liveintervals set (tracking
...
instructions which define each value#) to simplify and improve the coallescer.
In particular, this patch:
1. Implements iterative coallescing.
2. Reverts an unsafe hack from handlePhysRegDef, superceeding it with a
better solution.
3. Implements PR865, "coallescing" away the second copy in code like:
A = B
...
B = A
This also includes changes to symbolically print registers in intervals
when possible.
llvm-svn: 29862
2006-08-24 22:43:55 +00:00
Reid Spencer
88bbd0bcf8
Remove a FIXME. Don't use strlcpy that isn't available on non-BSD platforms
...
and ensure that a memory overrun won't occur while still writing Length
bytes in the outstring function.
llvm-svn: 29855
2006-08-24 14:25:39 +00:00
Nate Begeman
0f0148d5f8
Correctly attribute file author & remote tabs
...
llvm-svn: 29852
2006-08-23 21:33:27 +00:00
Nate Begeman
1268d6cd46
Initial checkin of the Mach-O emitter. There's plenty of fixmes, but it
...
does emit linkable .o files in very simple cases.
llvm-svn: 29850
2006-08-23 21:08:52 +00:00
Chris Lattner
410c49afd3
Improve the LiveInterval class to keep track of which machine instruction
...
defines each value# tracked by the interval. This will be used to improve
coallescing.
llvm-svn: 29830
2006-08-22 18:19:46 +00:00
Chris Lattner
0a5e21e28d
Switch to using smallvector for liveintervals. This speeds up live interval
...
analysis 11% on kc++.
llvm-svn: 29812
2006-08-22 06:32:56 +00:00
Chris Lattner
2e9885371b
move LiveInterval state all together
...
llvm-svn: 29806
2006-08-21 23:15:12 +00:00
Chris Lattner
db290f7479
Constify some methods. Patch provided by Anton Vayvod, thanks!
...
llvm-svn: 29756
2006-08-17 22:00:08 +00:00
Chris Lattner
a2eba83561
switch the SUnit pred/succ sets from being std::sets to being smallvectors.
...
This reduces selectiondag time on kc++ from 5.43s to 4.98s (9%). More
significantly, this speeds up the default ppc scheduler from ~1571ms to 1063ms,
a 33% speedup.
llvm-svn: 29743
2006-08-17 00:09:56 +00:00
Chris Lattner
c0e2997872
add an accessor
...
llvm-svn: 29739
2006-08-16 22:57:08 +00:00
Chris Lattner
1e0b221fb2
Convert vector to smallvector: 4% speedup.
...
llvm-svn: 29735
2006-08-16 22:12:48 +00:00
Chris Lattner
c1654416d6
Change the use_list to be a smallvector instead of a vector. This reduces
...
isel time from 6.79s to 5.53s (22%) on kc++ with a release build on ppc.
Go smallvector! :)
llvm-svn: 29731
2006-08-16 21:01:10 +00:00
Chris Lattner
cb3adb8225
Start using SDVTList more consistently
...
llvm-svn: 29711
2006-08-15 19:11:05 +00:00
Chris Lattner
ff1826e850
add a new SDVTList type and new SelectionDAG::getVTList methods to streamline
...
the creation of canonical VTLists.
llvm-svn: 29709
2006-08-15 17:46:01 +00:00
Chris Lattner
28369b8d7d
Make getNodeValueTypes methods public.
...
llvm-svn: 29688
2006-08-14 23:54:24 +00:00
Chris Lattner
8e8d9a3358
Add a new getNode() method that takes a pointer to an already-intern'd list
...
of value-type nodes. This avoids having to do mallocs for std::vectors of
valuetypes when a node returns more than one type.
llvm-svn: 29685
2006-08-14 23:31:51 +00:00
Chris Lattner
9ff7eb17e0
remove SelectionDAG::InsertISelMapEntry, it is dead
...
llvm-svn: 29677
2006-08-14 22:24:39 +00:00
Chris Lattner
fe1fd00ce8
Add code to resize the CSEMap hash table. This doesn't speedup codegen of
...
kimwitu, but seems like a good idea from a "avoid performance cliffs" standpoint :)
llvm-svn: 29675
2006-08-14 22:19:25 +00:00
Nate Begeman
0e92042770
Emit .set directives for jump table entries when possible, which reduces
...
the number of relocations in object files, shrinkifying them.
llvm-svn: 29650
2006-08-12 21:29:52 +00:00
Chris Lattner
7d59e9d16c
Track # nodes in a CSEMap.
...
llvm-svn: 29643
2006-08-12 01:07:51 +00:00
Chris Lattner
5510fa4ac5
Switch NodeID to track 32-bit chunks instead of 8-bit chunks, for a 2.5%
...
speedup in isel time.
llvm-svn: 29640
2006-08-11 23:55:53 +00:00
Chris Lattner
a271f8f58c
Remove 8 more std::map's.
...
llvm-svn: 29631
2006-08-11 21:55:30 +00:00
Chris Lattner
173c5fb3f3
remove old piece of the V9 backend.
...
llvm-svn: 29628
2006-08-11 21:11:35 +00:00
Chris Lattner
c3f78d1407
Start moving leaf nodes over to the CSEMap.
...
llvm-svn: 29625
2006-08-11 21:00:46 +00:00
Chris Lattner
c3def8c8f4
new method for adding ints
...
llvm-svn: 29622
2006-08-11 18:53:44 +00:00
Chris Lattner
3c504c013b
eliminate the NullaryOps map, use CSEMap instead.
...
llvm-svn: 29621
2006-08-11 18:38:11 +00:00
Chris Lattner
d154649343
Change one ReplaceAllUsesWith method to take an array of operands to replaceinstead of a vector of operands.
...
llvm-svn: 29617
2006-08-11 17:46:44 +00:00
Chris Lattner
cc742c4155
Remove now-dead method.
...
llvm-svn: 29615
2006-08-11 17:40:26 +00:00
Chris Lattner
587718e305
remove a (now) unused getNode method.
...
llvm-svn: 29613
2006-08-11 17:25:05 +00:00
Chris Lattner
7b1362fa52
Start eliminating temporary vectors used to create DAG nodes. Instead, pass
...
in the start of an array and a count of operands where applicable. In many
cases, the number of operands is known, so this static array can be allocated
on the stack, avoiding the heap. In many other cases, a SmallVector can be
used, which has the same benefit in the common cases.
I updated a lot of code calling getNode that takes a vector, but ran out of
time. The rest of the code should be updated, and these methods should be
removed.
We should also do the same thing to eliminate the methods that take a
vector of MVT::ValueTypes.
It would be extra nice to convert the dagiselemitter to avoid creating vectors
for operands when calling getTargetNode.
llvm-svn: 29566
2006-08-08 02:23:42 +00:00
Chris Lattner
be2fc7b875
Eliminate some malloc traffic by allocating vectors on the stack. Change some
...
method that took std::vector<SDOperand> to take a pointer to a first operand
and #operands.
This speeds up isel on kc++ by about 3%.
llvm-svn: 29561
2006-08-08 01:09:31 +00:00
Chris Lattner
8058dae7a7
New CSEMap datastructure impl
...
llvm-svn: 29555
2006-08-07 23:31:24 +00:00
Chris Lattner
1661ffa2eb
Revamp the "CSEMap" datastructure used in the SelectionDAG class. This
...
eliminates a bunch of std::map's in the SelectionDAG, replacing them with a
home-grown hashtable.
This is still a work in progress: not all the maps have been moved over and the
hashtable never resizes. That said, this still speeds up llc 20% on kimwitu++
with -fast -regalloc=local using a release build.
llvm-svn: 29550
2006-08-07 23:03:03 +00:00
Evan Cheng
a42653b7ae
Move DAGSize to SelectionDAGISel; it's used in tablegen'd isel code.
...
llvm-svn: 29547
2006-08-07 22:16:08 +00:00
Chris Lattner
154ffd3c8f
Make SelectionDAG::RemoveDeadNodes iterative instead of recursive, which
...
also make it simpler.
llvm-svn: 29524
2006-08-04 17:45:20 +00:00
Evan Cheng
7bdbdf9ae7
AssignTopologicalOrder now returns the vector of SDNode* by reference to
...
avoid the expensive operation of copying a vector.
It also returns a maximum id by value.
llvm-svn: 29478
2006-08-02 21:58:44 +00:00
Jim Laskey
6d121090d3
Final polish on machine pass registries.
...
llvm-svn: 29471
2006-08-02 12:30:23 +00:00
Jim Laskey
f850832788
Breaking out specialized classes.
...
llvm-svn: 29470
2006-08-02 12:27:50 +00:00
Jim Laskey
f9f462bc5e
Now that the ISel is available, it's possible to create a default instruction
...
scheduler creator.
llvm-svn: 29452
2006-08-01 19:14:14 +00:00
Jim Laskey
f5e160063e
1. Change use of "Cache" to "Default".
...
2. Added argument to instruction scheduler creators so the creators can do
special things.
3. Repaired target hazard code.
4. Misc.
More to follow.
llvm-svn: 29450
2006-08-01 18:29:48 +00:00
Jim Laskey
29880272a9
Forgot the added files for plugable machine passes.
...
llvm-svn: 29436
2006-08-01 16:31:08 +00:00
Jim Laskey
b92b14f422
Introducing plugable register allocators and instruction schedulers.
...
llvm-svn: 29434
2006-08-01 14:21:23 +00:00
Evan Cheng
e4fdb294ae
Added AssignTopologicalOrder() to assign each node an unique id based on their topological order.
...
llvm-svn: 29431
2006-08-01 08:20:41 +00:00
Evan Cheng
5f0e94c299
Rename IsFoldableBy to CanBeFoldedleBy
...
llvm-svn: 29376
2006-07-28 01:03:48 +00:00
Evan Cheng
3b5f1c6248
Remove InFlightSet hack. No longer needed.
...
llvm-svn: 29373
2006-07-28 00:47:19 +00:00
Evan Cheng
60d02d04dd
Add basic block machine relocation.
...
llvm-svn: 29349
2006-07-27 18:18:13 +00:00
Evan Cheng
bdb2562804
AssignNodeIds should return unsigned.
...
llvm-svn: 29343
2006-07-27 07:36:47 +00:00
Evan Cheng
a8e15977aa
Remove NodeDepth; Add NodeId which is a unique id per node per DAG. It can only be set by SelectionDAG.
...
llvm-svn: 29336
2006-07-27 06:38:21 +00:00
Evan Cheng
1e640aeee8
Let each target specific isel provide routine to check if a chain producing node is foldable by another.
...
llvm-svn: 29335
2006-07-27 06:36:49 +00:00
Nate Begeman
3d5f5b4e8b
Support jump tables when in PIC relocation model
...
llvm-svn: 29318
2006-07-27 01:13:04 +00:00
Chris Lattner
2d0f9f0d59
Move MVT::getVectorType out of line, it is large and shouldn't be inlined.
...
llvm-svn: 29195
2006-07-19 00:40:45 +00:00
Chris Lattner
3415e20ae6
Add an out-of-line virtual method for the sdnode class to give it a home.
...
llvm-svn: 29192
2006-07-19 00:00:37 +00:00
Chris Lattner
ac585b37b1
Add an out-of-line virtual function to home class.
...
llvm-svn: 29154
2006-07-14 23:08:47 +00:00
Jim Laskey
6fe083c694
1. Support for c++ mangled names.
...
2. Support for private/protected class members.
llvm-svn: 29104
2006-07-11 15:58:09 +00:00
Evan Cheng
90a25bcd6f
Ugly hack! Add helper functions InsertInFlightSetEntry and
...
RemoveInFlightSetEntry. They are used in place of direct set operators to
reduce instruction selection function stack size.
llvm-svn: 28987
2006-06-29 23:57:05 +00:00
Evan Cheng
6ec6e10b48
Add support to print 4-, 8-, and 16- byte constant literals in special
...
sections. e.g. On Darwin that would be .literal4 and .literal8.
llvm-svn: 28977
2006-06-29 00:26:09 +00:00
Evan Cheng
6572fa9869
Allow EmitConstantPool to be redefined by derived classes.
...
llvm-svn: 28952
2006-06-28 00:52:32 +00:00
Jim Laskey
a8284f65e1
Add and sort "sections" in debug lines. This always stepping through
...
code in sections other than ".text", including weak sections like ctors and
dtors.
llvm-svn: 28909
2006-06-23 12:51:53 +00:00
Evan Cheng
2db138d4b0
Added jump table address relocation.
...
llvm-svn: 28908
2006-06-23 01:02:37 +00:00
Evan Cheng
72794862e1
Fix non-64-bit clean code.
...
llvm-svn: 28891
2006-06-21 00:29:14 +00:00
Jim Laskey
120281ddcf
1. Revise vector debug support.
...
2. Update docs for vector debug support and new version control.
3. Simplify serialization of DebugDescInfo subclasses.
llvm-svn: 28816
2006-06-16 13:14:03 +00:00
Jim Laskey
849c76e55c
1. Support standard dwarf format (was bootstrapping in Apple format.)
...
2. Add vector support.
llvm-svn: 28807
2006-06-15 20:51:43 +00:00
Jim Laskey
bd680a03fd
Change versioning to per debug info descriptor (merged with tag.)
...
llvm-svn: 28782
2006-06-14 14:45:39 +00:00
Jim Laskey
69d5018a05
Place dwarf headers at earliest possible point. Well behaved when skipping
...
functions.
llvm-svn: 28781
2006-06-14 11:35:03 +00:00
Chris Lattner
990b00b325
Add a new sentry node type, allowing assertions to catch trivial
...
use-after-deleted errors.
llvm-svn: 28513
2006-05-27 00:40:15 +00:00
Evan Cheng
f53c4cc192
Change RET node to include signness information of the return values. e.g.
...
RET chain, value1, sign1, value2, sign2
llvm-svn: 28509
2006-05-26 23:09:09 +00:00
Evan Cheng
5d83c6ad6a
CALL node change: now containing signness of each argument.
...
llvm-svn: 28460
2006-05-25 00:54:33 +00:00
Reid Spencer
574d4e6992
For PR786:
...
Minor tweaks in public headers and a few .cpp files so that LLVM can build
successfully with -pedantic and projects using LLVM with -pedantic don't
get warnings from LLVM. There's still more -pedantic warnings to fix.
llvm-svn: 28453
2006-05-24 19:21:13 +00:00
Chris Lattner
f604017e47
Patches to make the LLVM sources more -pedantic clean. Patch provided
...
by Anton Korobeynikov! This is a step towards closing PR786.
llvm-svn: 28447
2006-05-24 17:04:05 +00:00
Vladimir Prus
b609f27099
Make class comment visible in Doxygen.
...
llvm-svn: 28436
2006-05-23 15:32:15 +00:00
Reid Spencer
55df120f95
Fix some doxygen usage in these headers.
...
llvm-svn: 28394
2006-05-19 19:07:54 +00:00
Chris Lattner
5d949a2ad2
Add a new CALL node.
...
llvm-svn: 28337
2006-05-16 22:52:27 +00:00
Chris Lattner
f88654d468
Add a chain to FORMAL_ARGUMENTS.
...
llvm-svn: 28319
2006-05-16 06:43:59 +00:00
Reid Spencer
f74d63a4ba
Doxygenify the comments, bringing the file level comments down to be attached
...
with the class that it documents. Patch suggested by Vladimir Prus.
llvm-svn: 28304
2006-05-15 16:12:01 +00:00
Evan Cheng
7bb257e178
Revert an un-intended change
...
llvm-svn: 28278
2006-05-13 05:53:47 +00:00
Evan Cheng
f3d7bb7a9e
Backing out fix for PR770. Need to re-apply it after live range splitting is possible
...
llvm-svn: 28236
2006-05-12 06:06:34 +00:00
Evan Cheng
0b8e4bca80
Add capability to scheduler to commute nodes for profit.
...
If a two-address code whose first operand has uses below, it should be commuted
when possible.
llvm-svn: 28230
2006-05-12 01:58:24 +00:00