Jim Laskey
89492c12bb
Improve visibility/correctness of operand indices in "llvm.db" objects.
...
Handle 64 in DIEs.
llvm-svn: 25684
2006-01-27 15:20:54 +00:00
Reid Spencer
bd79be19a2
Fix auto-upgrade of intrinsics to work properly with both assembly and
...
bytecode reading. This code is crufty, the result of much hacking to get things
working correctly. Cleanup patches will follow.
llvm-svn: 25682
2006-01-27 11:49:27 +00:00
Chris Lattner
0ef77f8cec
add a method
...
llvm-svn: 25675
2006-01-27 02:09:16 +00:00
Chris Lattner
b234392bc5
Add a common INLINEASM opcode
...
llvm-svn: 25667
2006-01-26 23:27:02 +00:00
Jim Laskey
143edc0923
Dropped DwarfWriter::
...
llvm-svn: 25665
2006-01-26 22:25:04 +00:00
Chris Lattner
6980ff5179
Add new INLINEASM node
...
llvm-svn: 25663
2006-01-26 22:23:45 +00:00
Jim Laskey
df47d0df3e
Use global information to fill out Dwarf compile units.
...
llvm-svn: 25662
2006-01-26 21:22:49 +00:00
Jeff Cohen
f329a41a66
Improve compatibility with VC2005, patch by Morten Ofstad!
...
llvm-svn: 25661
2006-01-26 20:41:32 +00:00
Chris Lattner
27ca00bcf7
add some methods for case-insensitive string compares
...
llvm-svn: 25659
2006-01-26 20:36:29 +00:00
Jim Laskey
bf023c019d
Use find instead of lower_bounds.
...
llvm-svn: 25657
2006-01-26 20:30:51 +00:00
Chris Lattner
ab8e0e40f9
Add a method for inline asm support.
...
llvm-svn: 25656
2006-01-26 20:27:33 +00:00
Jim Laskey
583aae3110
Set up MachineDebugInfo to scan for debug information form "llvm.db"g globals.
...
Global Variable information is now pulled from "llvm.dbg.globals"
llvm-svn: 25655
2006-01-26 20:21:46 +00:00
Jim Laskey
f6b249fb50
Add support to find existing entries.
...
llvm-svn: 25654
2006-01-26 20:09:35 +00:00
Andrew Lenharth
c2973ea159
Remember plugins should someone like bugpoint want to know them.
...
llvm-svn: 25649
2006-01-26 18:36:50 +00:00
Jim Laskey
036aa0ddc9
Split out Dwarf constants for use outside DwarfWriter.
...
llvm-svn: 25646
2006-01-26 14:45:22 +00:00
Chris Lattner
b94207514a
add methods for constraint parsing
...
llvm-svn: 25636
2006-01-26 02:21:42 +00:00
Chris Lattner
a3d00d1780
Allow use of isa<InlineAsm>(X) without #including InlineAsm.h
...
llvm-svn: 25632
2006-01-26 01:54:21 +00:00
Evan Cheng
cf49c6411a
Duh.
...
llvm-svn: 25628
2006-01-26 00:28:35 +00:00
Chris Lattner
81aef013ac
add another method
...
llvm-svn: 25616
2006-01-25 22:10:35 +00:00
Chris Lattner
aff32aa901
add some useful accessors :)
...
llvm-svn: 25612
2006-01-25 19:58:26 +00:00
Chris Lattner
d36993d81d
Change inline asms to be uniqued like constants, not embedded in a Module.
...
llvm-svn: 25610
2006-01-25 18:57:27 +00:00
Evan Cheng
168b8c5b29
No need to keep track of top and bottom nodes in a group since the vector is
...
already in order. Thanks Jim for pointing it out.
llvm-svn: 25608
2006-01-25 18:54:24 +00:00
Nate Begeman
c29fac7fce
First part of bug 680:
...
Remove TLI.LowerVA* and replace it with SDNodes that are lowered the same
way as everything else.
llvm-svn: 25606
2006-01-25 18:21:52 +00:00
Evan Cheng
f4b53efbb2
Add a enum to specify target scheduling preference: SchedulingForLatency or
...
SchedulingForRegPressure. Added corresponding methods to set / get the value.
llvm-svn: 25598
2006-01-25 09:09:02 +00:00
Evan Cheng
27e82023a4
Some minor scheduler changes.
...
llvm-svn: 25597
2006-01-25 09:07:50 +00:00
Chris Lattner
1c40cfd488
add a method
...
llvm-svn: 25581
2006-01-24 05:47:05 +00:00
Jeff Cohen
d08e0cadd6
Be consistent in using class/struct to keep Visual Studio happy.
...
llvm-svn: 25575
2006-01-24 04:41:48 +00:00
Chris Lattner
50ba79e71b
Initial checkin of the InlineAsm class
...
llvm-svn: 25570
2006-01-24 04:13:11 +00:00
Jim Laskey
18ba7ce7b3
Crude Dwarf global variable debugging.
...
llvm-svn: 25569
2006-01-24 00:49:18 +00:00
Chris Lattner
7812ed6d6a
Add global scope asm support
...
llvm-svn: 25555
2006-01-23 23:02:28 +00:00
Andrew Lenharth
35efa9c2d9
another couple selects
...
llvm-svn: 25551
2006-01-23 21:51:14 +00:00
Andrew Lenharth
28a8d211f6
another selectto
...
llvm-svn: 25548
2006-01-23 20:59:12 +00:00
Evan Cheng
f622869383
Skeleton of the list schedule.
...
llvm-svn: 25544
2006-01-23 08:26:10 +00:00
Reid Spencer
a8aebf9192
Update for including additional function tests.
...
llvm-svn: 25542
2006-01-23 08:15:53 +00:00
Evan Cheng
37c62244a6
Factor out more instruction scheduler code to the base class.
...
llvm-svn: 25532
2006-01-23 07:01:07 +00:00
Chris Lattner
ff2ce95673
Speedup and simplify pass registration by the observation that there is
...
exactly one PassInfo object per RegisterPass object and that their lifetimes
are the same. As such, there is no reason for the RegisterPass object to
dynamically allocate the PassInfo object at compiler startup time: just inline
the object by-value. This should reduce codesize, heap size, and startup time. Yaay.
llvm-svn: 25521
2006-01-23 01:01:04 +00:00
Chris Lattner
b1b6b1d541
This only needs <iosfwd> not <iostream>
...
llvm-svn: 25517
2006-01-22 23:43:45 +00:00
Chris Lattner
4cefd6fa96
This header should not pull in <iostream>
...
llvm-svn: 25511
2006-01-22 22:54:51 +00:00
Jeff Cohen
a31ecbc2a0
Visual Studio neurotic about inconsistent class/struct usage.
...
llvm-svn: 25506
2006-01-22 20:36:43 +00:00
Evan Cheng
4a57a7551f
Do some code refactoring on Jim's scheduler in preparation of the new list
...
scheduler.
llvm-svn: 25493
2006-01-21 02:32:06 +00:00
Jim Laskey
75adb3d269
Simplify search for abbreviations.
...
llvm-svn: 25491
2006-01-21 01:13:18 +00:00
Jim Laskey
08d15fdc02
Correct some simple errors.
...
llvm-svn: 25490
2006-01-21 00:59:54 +00:00
Jim Laskey
946caff856
Right size integer values before emitting.
...
llvm-svn: 25489
2006-01-20 21:02:36 +00:00
Jim Laskey
b2abea6ab6
Reworked how Dwarf debug info entries and abbreviations are handled. Added
...
pubnames and debuy str sections.
llvm-svn: 25487
2006-01-20 20:34:06 +00:00
Reid Spencer
ae31d4858b
Make sure that libm is used during config tests so that ceil, floor, and
...
friends are actually detected.
llvm-svn: 25454
2006-01-19 08:31:08 +00:00
Reid Spencer
effe3e54e4
For PR696:
...
Add checks for ceil, ceilf, floor, and floorf
llvm-svn: 25453
2006-01-19 08:22:40 +00:00
Reid Spencer
c2e3662a89
1. Documentation upgrade.
...
2. Have UpgradeInstrinicCall return an Instruction* instead of a CallInst*
and return the needed CastInst* if the result of the upgraded call needs
to be casted back to a signed type.
llvm-svn: 25446
2006-01-19 06:59:26 +00:00
Reid Spencer
7ee9a0016a
Add a new interface function to AutoUpgrade for simultaneously upgrading
...
the Function and the CallInst: UpgradeCallsToIntrinsic(Function*). Also,
re-factor the AutoUpgrade implementation to eliminate some duplication of
code.
llvm-svn: 25432
2006-01-19 01:18:29 +00:00
Jim Laskey
6b25a4e659
Added minimum Dwarf aranges. Cleaned up some section headers. Line number
...
support now works in gdb.
llvm-svn: 25417
2006-01-18 16:54:26 +00:00
Jim Laskey
964e70be01
Pastos.
...
llvm-svn: 25412
2006-01-17 21:39:39 +00:00
Jim Laskey
52d9832e70
Add frame work for additional dwarf sections. Comments will improve as code
...
is added.
llvm-svn: 25410
2006-01-17 20:41:40 +00:00
Robert Bocchino
dc31d8561b
Support for the insertelement operation.
...
llvm-svn: 25405
2006-01-17 20:06:42 +00:00
Robert Bocchino
a5ec2815a1
Instruction and constant expression definitions for the insertelement
...
operation.
llvm-svn: 25402
2006-01-17 20:05:59 +00:00
Evan Cheng
a9c4d32e7e
Suppress "no newline at end of file" warnings.
...
llvm-svn: 25400
2006-01-17 19:21:01 +00:00
Jim Laskey
a86da88ba3
Misc. errors.
...
llvm-svn: 25399
2006-01-17 19:12:24 +00:00
Jim Laskey
0c4202b0ba
Adding basic support for Dwarf line number debug information.
...
I promise to keep future commits smaller.
llvm-svn: 25396
2006-01-17 17:31:53 +00:00
Jim Laskey
38e4ff875d
Reduce memory consumption and force (somewhat) access to entries via ID.
...
llvm-svn: 25393
2006-01-17 16:29:58 +00:00
Evan Cheng
3a7f44a3b6
Yet another getTargetNode() variant. I promise one of these days I'll fix
...
tblgen so this is unnecessary.
llvm-svn: 25380
2006-01-17 00:32:38 +00:00
Jim Laskey
bf73e50cc5
Redundant inline keyword.
...
llvm-svn: 25377
2006-01-16 23:44:03 +00:00
Jim Laskey
9f2391c897
UniqueVector template provides a means of enumerating objects uniquely.
...
llvm-svn: 25376
2006-01-16 23:29:43 +00:00
Reid Spencer
3cecd3c4cf
For PR411:
...
This patch is an incremental step towards supporting a flat symbol table.
It de-overloads the intrinsic functions by providing type-specific intrinsics
and arranging for automatically upgrading from the old overloaded name to
the new non-overloaded name. Specifically:
llvm.isunordered -> llvm.isunordered.f32, llvm.isunordered.f64
llvm.sqrt -> llvm.sqrt.f32, llvm.sqrt.f64
llvm.ctpop -> llvm.ctpop.i8, llvm.ctpop.i16, llvm.ctpop.i32, llvm.ctpop.i64
llvm.ctlz -> llvm.ctlz.i8, llvm.ctlz.i16, llvm.ctlz.i32, llvm.ctlz.i64
llvm.cttz -> llvm.cttz.i8, llvm.cttz.i16, llvm.cttz.i32, llvm.cttz.i64
New code should not use the overloaded intrinsic names. Warnings will be
emitted if they are used.
llvm-svn: 25366
2006-01-16 21:12:35 +00:00
Reid Spencer
ea1bec59db
For PR411:
...
This file makes the helper functions for auto-upgrade of llvm assembly and
bytecode more accessible. This is part of de-overloading of intrinsic
functions to support the flat symbol table (no type planes).
llvm-svn: 25365
2006-01-16 21:06:01 +00:00
Chris Lattner
5c0f92e308
Remove a never-working pass
...
llvm-svn: 25348
2006-01-16 01:05:24 +00:00
Chris Lattner
fa8477498c
Initialize DFSnum's to -1, in case a node is not reachable.
...
llvm-svn: 25344
2006-01-15 21:48:36 +00:00
Chris Lattner
789d498d78
add an assert, patch by Daniel Berlin
...
llvm-svn: 25343
2006-01-15 21:46:23 +00:00
Chris Lattner
551df64bd0
Change ET-Forest to automatically recalculate its DFSnum's if too many slow
...
queries are made.
Patch by Daniel Berlin!
llvm-svn: 25323
2006-01-14 20:55:09 +00:00
Chris Lattner
3e2e2b22ec
Teach inline function how to update the callgraph when it makes changes.
...
llvm-svn: 25318
2006-01-14 20:05:06 +00:00
Chris Lattner
62ab0d6471
Add CallGraph::getOrInsertFunction, to allow clients to update the callgraph
...
when they change the program
llvm-svn: 25316
2006-01-14 20:01:50 +00:00
Chris Lattner
f75f017cae
add a dump method to CallGraph
...
llvm-svn: 25314
2006-01-14 19:17:02 +00:00
Jeff Cohen
ae3d2a938b
Fix generous source of VC++ truncation warnings.
...
llvm-svn: 25311
2006-01-14 02:17:20 +00:00
Nate Begeman
4750001146
Add bswap intrinsics as documented in the Language Reference
...
llvm-svn: 25309
2006-01-14 01:25:24 +00:00
Chris Lattner
b64d2919c7
Add a new InvalidateStructLayoutInfo method and some comments.
...
llvm-svn: 25303
2006-01-14 00:06:42 +00:00
Chris Lattner
673ccaba39
Simplify the implementations of classof using the new IntrinsicInst classof.
...
llvm-svn: 25291
2006-01-13 20:00:51 +00:00
Chris Lattner
731f17c9bd
Add some functionality to the IntrinsicInst class and some comments
...
llvm-svn: 25289
2006-01-13 19:49:02 +00:00
Chris Lattner
67fb415248
Allow the code cloning interfaces to capture some important info about the
...
code being cloned if the client wants.
llvm-svn: 25281
2006-01-13 18:39:17 +00:00
Chris Lattner
8fe9dd16fb
Provide an interface for Targets to specify their stack pointer register
...
for llvm.stacksave/restore.
llvm-svn: 25275
2006-01-13 17:47:52 +00:00
Chris Lattner
fac137d4bd
add stacksave/stackrestore nodes
...
llvm-svn: 25270
2006-01-13 02:39:42 +00:00
Chris Lattner
6f8204560f
add new llvm.stacksave/llvm.stackrestore intrinsics
...
llvm-svn: 25265
2006-01-13 02:15:02 +00:00
Nate Begeman
cff96008ac
Add bswap, rotl, and rotr nodes
...
Add dag combiner code to recognize rotl, rotr
Add ppc code to match rotl
Targets should add rotl/rotr patterns if they have them
llvm-svn: 25222
2006-01-11 21:21:00 +00:00
Chris Lattner
4456e1530a
Simple is good, CVS log is for history, not the silly credits block
...
llvm-svn: 25204
2006-01-11 05:38:15 +00:00
Chris Lattner
07daf14bbd
Switch loopinfo to using ETForest instead of DominatorSet to compute itself.Patch by Daniel Berlin!
...
llvm-svn: 25200
2006-01-11 05:08:57 +00:00
Robert Bocchino
1088fb019d
Added an instruction and constant expression for the extractelement
...
operation.
llvm-svn: 25176
2006-01-10 19:04:13 +00:00
Reid Spencer
ebf3eceb26
For PR411:
...
First step in refactoring the SymbolTable is to split it into two classes,
one for a symbol table of types and one for a symbol table of Values.
llvm-svn: 25175
2006-01-10 09:51:48 +00:00
Reid Spencer
57db434426
Make ValueSymbolTable (temporarily) a friend of Value so it can mod the
...
Name of Value instances.
llvm-svn: 25174
2006-01-10 09:45:57 +00:00
Reid Spencer
783084211a
For PR521:
...
With these patches we implement the ability for the Linker library to
keep track of which libraries were actually bytecode files (not archives)
and cause their users to remove such files from the list of libraries to
pass to the native linker.
llvm-svn: 25169
2006-01-10 03:14:40 +00:00
Evan Cheng
7a32c047d9
New getNode() variants.
...
llvm-svn: 25156
2006-01-09 18:29:18 +00:00
Reid Spencer
fb5ba86d31
Add some documentation.
...
llvm-svn: 25150
2006-01-08 22:41:22 +00:00
Chris Lattner
60499c68b3
Fix the build on platforms where <cassert> doesn't define NULL
...
llvm-svn: 25147
2006-01-08 09:10:46 +00:00
Chris Lattner
84a9d11b28
Initial implementation of the ET-Forest data structure for dominators and
...
post-dominators. This code was written/adapted by Daniel Berlin!
llvm-svn: 25144
2006-01-08 08:22:18 +00:00
Chris Lattner
31d0e66ff2
Fix out of date comments, patch by Marco Matthies.
...
llvm-svn: 25143
2006-01-08 02:32:52 +00:00
Jim Laskey
b5b63a11df
Grammer correction.
...
llvm-svn: 25106
2006-01-05 01:53:28 +00:00
Jim Laskey
5eddaee9f3
Added initial support for DEBUG_LABEL allowing debug specific labels to be
...
inserted in the code.
llvm-svn: 25104
2006-01-05 01:25:28 +00:00
Jim Laskey
61138e28ff
Applied some recommend changes from sabre. The dominate one beginning "let the
...
pass manager do it's thing." Fixes crash when compiling -g files and suppresses
dwarf statements if no debug info is present.
llvm-svn: 25100
2006-01-04 22:28:25 +00:00
Jeff Cohen
9b99d8fde6
Be consistent in using class vs struct to make VC++ happy. And as it contains
...
methods, virtual method even, class wins.
llvm-svn: 25098
2006-01-04 17:21:23 +00:00
Jim Laskey
897ad8ddb7
Add unique id to debug location for debug label use (work in progress.)
...
llvm-svn: 25096
2006-01-04 15:04:11 +00:00
Jim Laskey
d834ac50d5
Add flag for debug presence.
...
llvm-svn: 25094
2006-01-04 14:29:26 +00:00
Jim Laskey
62b29812a6
Tie dwarf generation to darwin assembler.
...
llvm-svn: 25093
2006-01-04 13:52:30 +00:00
Jim Laskey
36c8946b56
1. Make MachineDebugInfo a pass.
...
2. Add label uniquing code.
llvm-svn: 25092
2006-01-04 13:46:37 +00:00
Jim Laskey
3519bc08c5
Move MachineDebugInfo to module level location.
...
llvm-svn: 25091
2006-01-04 13:44:43 +00:00
Chris Lattner
064e45054a
Patch #6 's in Saem's refactor-the-passmanager patch series. From him:
...
This sanitises the world, blows away the specialisations and adds
traits per passmanager type -- seemed most natural.
llvm-svn: 25085
2006-01-04 07:47:13 +00:00