Chris Lattner [Mon, 21 Oct 2002 19:47:18 +0000 (19:47 +0000)]
- Add "ResolvingCaller" to the CallSite record. This keeps track of which
function was finally able to resolve the function call. Adding this allows
the TD pass to actually work right!
- Temporarily disable dead node pruning. This will be reenabled soon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4252
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Oct 2002 15:32:34 +0000 (15:32 +0000)]
Add another copy ctor form
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4251
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Oct 2002 15:04:18 +0000 (15:04 +0000)]
As it turns out, we don't need a fully generic mapping copy ctor, we just need
something that maps through a std::map. Since this simplified the client and
implementation code, do so now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4250
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Oct 2002 13:51:30 +0000 (13:51 +0000)]
Don't create a new node for every reference to a global. This caused a huge
node explosion that doesn't help anything at all. In previous versions of
the representation this DID help, but not anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4249
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Oct 2002 13:47:57 +0000 (13:47 +0000)]
Fix a confusing bug that caused return value and callee pointers to not
be printed!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4248
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Oct 2002 13:38:07 +0000 (13:38 +0000)]
Make sure to initialize isArray member
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4247
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Oct 2002 13:31:48 +0000 (13:31 +0000)]
Remove some unneccesary 'using' directives
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4246
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Oct 2002 13:24:50 +0000 (13:24 +0000)]
Remove a 'using' directives from a header file. Using directives cause
global changes, so aren't good for headers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4245
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Oct 2002 13:23:42 +0000 (13:23 +0000)]
Add a missing std:: qualifier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4244
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Oct 2002 02:38:02 +0000 (02:38 +0000)]
Add a link to C++ in a nutshell book
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4243
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Oct 2002 02:18:55 +0000 (02:18 +0000)]
Fix bug with prior checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4242
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Oct 2002 02:09:03 +0000 (02:09 +0000)]
Two callsites are equivalent even if they are from two completely different
call instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4241
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 21 Oct 2002 02:08:03 +0000 (02:08 +0000)]
- Make DSCallSite not inherit from std::vector. Renamed methods slightly.
Make copy ctor have two versions to avoid dealing with conditional template
argument. DSCallSite ctor now takes all arguments instead of taking one
and being populated later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4240
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Oct 2002 22:12:06 +0000 (22:12 +0000)]
Avoid extra copy
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4239
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Oct 2002 22:11:44 +0000 (22:11 +0000)]
Simplify code a bit, add comment flyer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4238
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Oct 2002 22:11:17 +0000 (22:11 +0000)]
Split some long lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4237
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 20 Oct 2002 21:45:49 +0000 (21:45 +0000)]
Warn when we are linking an executable without symbols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4236
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 20 Oct 2002 21:41:02 +0000 (21:41 +0000)]
Remove spurious caller pointer in DSCallSite.
Also add functions to access pointer argument nodes cleanly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4235
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Oct 2002 20:39:31 +0000 (20:39 +0000)]
This function can be static
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4234
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Oct 2002 20:39:17 +0000 (20:39 +0000)]
Fix previous checkin :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4233
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Oct 2002 20:32:13 +0000 (20:32 +0000)]
Avoid extra callSite copy
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4232
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Oct 2002 20:29:10 +0000 (20:29 +0000)]
Print the array flag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4231
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Oct 2002 20:28:35 +0000 (20:28 +0000)]
Add isArray flag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4230
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 20 Oct 2002 18:08:55 +0000 (18:08 +0000)]
Added a first-class representation for each call site that can be
used in the DS graphs in DSGraph.h. With that, the special-purpose
class BUDataStructure::CallSite is no longer needed here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4229
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 20 Oct 2002 18:07:37 +0000 (18:07 +0000)]
Added a first-class representation for each call site that can be
used in the DS graphs. Essentially, what was vector<DSNodeHandle>
before is now a DSCallSite with the same vector, plus pointers to the
CallInst and the caller Function. The special-purpose class
BUDataStructure::CallSite is no longer needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4228
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 20 Oct 2002 18:04:43 +0000 (18:04 +0000)]
Added a first-class representation for each call site that can be used
in the DS graphs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4227
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 18 Oct 2002 18:22:46 +0000 (18:22 +0000)]
Convert typerec to be a structure instead of a pair
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4226
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 18 Oct 2002 14:55:44 +0000 (14:55 +0000)]
Don't emit braces around something without outgoing edges
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4225
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Oct 2002 22:13:28 +0000 (22:13 +0000)]
Print Mod/ref info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4224
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Oct 2002 22:13:19 +0000 (22:13 +0000)]
Calculate mod/ref info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4223
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Oct 2002 21:03:49 +0000 (21:03 +0000)]
Add interface for mod/ref info to be captures by dsgraphs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4222
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Oct 2002 20:53:12 +0000 (20:53 +0000)]
Remove more obsolete code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4221
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Oct 2002 20:09:52 +0000 (20:09 +0000)]
* Make the DSGraph cloner automatically merge global nodes
* BUClosure doesn't have to worry about global nodes
* TDClosure now works with global nodes
* Reenable DNE on TD pass, now that globals work right
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4220
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Oct 2002 16:22:08 +0000 (16:22 +0000)]
* Apparently string::find doesn't work right on our sun boxes. Work around this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4219
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Oct 2002 04:58:10 +0000 (04:58 +0000)]
Remove obsolete code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4218
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Oct 2002 04:57:28 +0000 (04:57 +0000)]
Enable incompleteness marking
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4217
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Oct 2002 04:57:09 +0000 (04:57 +0000)]
Really disable pool allocator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4216
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Oct 2002 04:26:54 +0000 (04:26 +0000)]
* First try at implementing TD pass this does not merge global nodes yet,
among other things.
* Significant rewrite of TD pass to avoid potentially N^2 algorithms if
possible. It is still not complete, but at least it's checked in now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4215
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Oct 2002 04:24:30 +0000 (04:24 +0000)]
Reenable printing of TD analysis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4214
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Oct 2002 04:24:08 +0000 (04:24 +0000)]
* Add data structures and code to track the call sites for each function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4213
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Oct 2002 04:23:05 +0000 (04:23 +0000)]
* Add data structures to BU pass to keep track of call sites for functions
* Reenable the TD analysis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4212
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Oct 2002 04:22:16 +0000 (04:22 +0000)]
* Remove a lot of obsolete #if 0'd code
* Add a simple getNodeForValue method to access the ValueMap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4211
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Oct 2002 01:36:08 +0000 (01:36 +0000)]
Use the forward declaration for GraphTraits instead of #including
the header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4210
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Oct 2002 01:02:46 +0000 (01:02 +0000)]
Cleanup data structure graph printer, eliminate hard coded printing in
favor of generic printer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4209
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Oct 2002 01:01:06 +0000 (01:01 +0000)]
Be const correct. Handle both DSGraph* and const DSGraph*'s
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4208
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Oct 2002 00:59:59 +0000 (00:59 +0000)]
Break up the GraphWriter into smaller chunks to be used in different ways
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4207
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Oct 2002 00:16:39 +0000 (00:16 +0000)]
As wierd as it feels to type it, const void* is more generic than void*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4206
91177308-0d34-0410-b5e6-
96231b3b80d8
Joel Stanley [Wed, 16 Oct 2002 23:26:00 +0000 (23:26 +0000)]
Added partial specialization of GraphTraits for the DominatorTree class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4205
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Hildenbrandt [Wed, 16 Oct 2002 22:12:31 +0000 (22:12 +0000)]
changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4204
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 20:16:16 +0000 (20:16 +0000)]
Make sure to print out the call nodes as well
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4203
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 20:15:38 +0000 (20:15 +0000)]
Allow simple nodes to have outgoing edges
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4202
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 20:08:47 +0000 (20:08 +0000)]
Fix bug: CBackend/2002-10-16-External.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4201
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 20:08:19 +0000 (20:08 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4200
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 02:04:36 +0000 (02:04 +0000)]
* Print the "return" node in the graphs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4199
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 02:03:18 +0000 (02:03 +0000)]
* Factor printing code again, add emitSimpleNode method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4198
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 01:44:59 +0000 (01:44 +0000)]
* Add new DOTGraphTraits::addCustomGraphFeatures method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4197
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 01:43:11 +0000 (01:43 +0000)]
The second element of the iterator is really an offset, not a link
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4196
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 01:34:28 +0000 (01:34 +0000)]
Specify the graph name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4195
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 01:34:18 +0000 (01:34 +0000)]
* Significantly refactor GraphWriter into a class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4194
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 01:18:27 +0000 (01:18 +0000)]
- DSGraph Printing Improvements:
* Print edge source labels again
* Override node shape to be Mrecord again, instead of just record.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4193
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 01:18:14 +0000 (01:18 +0000)]
- Generic graph printing infrastructure changes:
* Only print outgoing edges from a cell if the destination isn't null.
This is important for DSGraphs, which have sources with no edges.
* Allow Node attributes to override shape of the node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4192
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 01:17:16 +0000 (01:17 +0000)]
Allow direct access to mergemap for printing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4191
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 00:08:22 +0000 (00:08 +0000)]
Fix bug: test/Regression/CBackend/2002-10-15-OpaqueTypeProblem.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4190
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 00:08:08 +0000 (00:08 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4189
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Oct 2002 21:41:14 +0000 (21:41 +0000)]
- Fix bug: Assembler/2002-10-15-NameClash.ll
- Clean up code a bit, s/Method/Function/
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4188
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Oct 2002 21:39:49 +0000 (21:39 +0000)]
Clean up testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4187
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Oct 2002 21:26:29 +0000 (21:26 +0000)]
- Eliminate SymbolTable::ParentSymTab, ST::localLookup, and
Function::ParentSymTab. These aren't needed at all.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4186
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Oct 2002 21:21:42 +0000 (21:21 +0000)]
Cleanup test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4185
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Oct 2002 21:20:18 +0000 (21:20 +0000)]
Fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4184
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Oct 2002 21:18:03 +0000 (21:18 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4183
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Oct 2002 21:14:24 +0000 (21:14 +0000)]
Cleanup testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4182
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Oct 2002 21:10:53 +0000 (21:10 +0000)]
Fix testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4181
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Oct 2002 20:34:05 +0000 (20:34 +0000)]
- Fix LLI so that it simulates the endianness of the target machine
correctly, despite the fact that the host machine might not be the same.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4180
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Oct 2002 19:56:24 +0000 (19:56 +0000)]
Make sure to escape \'s when they are output
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4179
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 15 Oct 2002 01:59:45 +0000 (01:59 +0000)]
Remove outdated line which of course cvs merging never detects...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4175
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 14 Oct 2002 22:41:13 +0000 (22:41 +0000)]
- Add an endianness field to the TargetData datastructure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4174
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 14 Oct 2002 16:40:04 +0000 (16:40 +0000)]
Allow the Source variable to be overridden completely if needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4172
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 14 Oct 2002 16:32:49 +0000 (16:32 +0000)]
Print "circular" warning message only in debug mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4170
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 14 Oct 2002 16:32:24 +0000 (16:32 +0000)]
Removed misleading const keyword.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4169
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 14 Oct 2002 16:30:55 +0000 (16:30 +0000)]
Significant improvement: GEP used by a load or store no longer generates
a separate ADD; instead just use the indexed load/store instruction!
Also, a bug fix: folding a GEP with a leading non-zero index with
its predecessor was incorrect: now it only happens if the predecessor
is pointing to an indexable type (aka SequentialType).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4168
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 14 Oct 2002 14:53:06 +0000 (14:53 +0000)]
Test case that shows some poor results for register allocation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4167
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 14 Oct 2002 06:14:18 +0000 (06:14 +0000)]
Allow emission of names that start with an underscore. This is needed to
interface with code that uses symbols in the ansi-c protected namespace. In
most cases this comes from system header files, such as stdio.h. In particular,
without this change, a reference to the __iob symbol is mangled into ll_iob,
which is not resolved by libc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4165
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 14 Oct 2002 06:12:10 +0000 (06:12 +0000)]
MAke sure llc output is regenerated if the LLC binary changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4164
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 14 Oct 2002 03:34:17 +0000 (03:34 +0000)]
Clean up code a bit, no functionality changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4162
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 14 Oct 2002 03:33:02 +0000 (03:33 +0000)]
There is no way to guarantee that constants are not forward referenced.
Handle forward referenced constants in a general way. This fixes bug:
Assembler/2002-10-13-ConstantEncodingProblem.llx and allows the SPEC
197.parser benchmark to be built
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4161
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 14 Oct 2002 03:30:23 +0000 (03:30 +0000)]
- Dramatically simplify the Constant::mutateReferences implementation,
allowing it to be called on all constant types (structures/arrays)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4160
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 14 Oct 2002 03:28:42 +0000 (03:28 +0000)]
This loop executed exactly one time, turn it into straightline code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4159
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Hildenbrandt [Mon, 14 Oct 2002 01:08:06 +0000 (01:08 +0000)]
More results
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4158
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 14 Oct 2002 00:48:57 +0000 (00:48 +0000)]
Minor cleanups, no changes to functionality
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4157
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Hildenbrandt [Sun, 13 Oct 2002 22:43:11 +0000 (22:43 +0000)]
More successes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4156
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Hildenbrandt [Sun, 13 Oct 2002 22:10:08 +0000 (22:10 +0000)]
New Results
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4155
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 13 Oct 2002 21:51:55 +0000 (21:51 +0000)]
Simplify again
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4154
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 13 Oct 2002 21:47:44 +0000 (21:47 +0000)]
Don't try to compute the size of an "array" element if the index is 0:
the size may be unknown, and is not needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4153
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 13 Oct 2002 21:47:43 +0000 (21:47 +0000)]
Simplify testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4152
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 13 Oct 2002 21:43:56 +0000 (21:43 +0000)]
Rename test so that we can run the disassembler on it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4151
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 13 Oct 2002 21:38:21 +0000 (21:38 +0000)]
Checking testcase for bytecode reader/writer that is causing the SPEC parser
benchmark to not build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4150
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 13 Oct 2002 20:57:00 +0000 (20:57 +0000)]
- Change Function's so that their argument list is populated when they are
constructed. Before, external functions would have an empty argument list,
now a Function ALWAYS has a populated argument list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4149
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 13 Oct 2002 19:39:16 +0000 (19:39 +0000)]
- Rename Instruction::First*Op to *OpsBegin, and Num*Ops to *OpsEnd to
reflect the fact that it's a range being defined.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4147
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 13 Oct 2002 19:31:57 +0000 (19:31 +0000)]
Halfway conversion from custom printing to GraphWriter printing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4146
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 13 Oct 2002 19:31:34 +0000 (19:31 +0000)]
First crack at reimplementing graph traits for DSGraphs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4145
91177308-0d34-0410-b5e6-
96231b3b80d8