Commit Graph

3868 Commits

Author SHA1 Message Date
Chris Lattner e2dd92be96 The parser now accepts "external" global variables, in addition to the backwards
compatible "uninitialized" global variables

llvm-svn: 4050
2002-10-06 22:45:09 +00:00
Chris Lattner 8ec8b2547f - Cleaned up all of the test/Feature tests to not use uint's with
getelementptr instructions and not to add pointers.

llvm-svn: 4049
2002-10-06 22:43:49 +00:00
Chris Lattner fa3f55cfaa Remove old crusty test
llvm-svn: 4048
2002-10-06 22:35:56 +00:00
Chris Lattner ee67e9ae51 Test "external" modifier on global variable
Fix getelementptr instruction to use long isntead of uint index

llvm-svn: 4047
2002-10-06 22:32:38 +00:00
Chris Lattner 9e31c7ea8a - Add new isExternal() method to GlobalVariable to mirror Function.
- doxygenize comments and add new comments

llvm-svn: 4046
2002-10-06 22:29:58 +00:00
Chris Lattner ae4cf5237a - The extract tool now is sure to extract the function implementation for
the specified name instead of extracting the prototype if both exist.

llvm-svn: 4045
2002-10-06 21:30:04 +00:00
Chris Lattner 4cd9df88a7 PHI nodes are not allowed to exist with zero incoming values, check that
there aren't any like this.

llvm-svn: 4044
2002-10-06 21:00:31 +00:00
Vikram S. Adve 2cc6609e25 Bug fix: In preventing static global variables from being printed twice,
I also prevented external globals from being printed twice, but they
should (extern declaration and definition).

llvm-svn: 4043
2002-10-05 23:43:10 +00:00
Anand Shukla b8aef8eff8 Added #include<unistd.h> to compile with solaris gcc3.2
llvm-svn: 4042
2002-10-04 23:57:01 +00:00
Anand Shukla 195d3fb37f added cast to unsigned to compile with gcc3.2 (sparc)
llvm-svn: 4041
2002-10-04 23:56:18 +00:00
Chris Lattner 8ea38b996b New testcase for bug never checked into CVS, but that I hit during debugging a
new feature

llvm-svn: 4039
2002-10-04 23:29:40 +00:00
Chris Lattner d7b3bb0fa4 Handle post dominance correctly in the case where blocks do not have a path to
the exit node.

llvm-svn: 4038
2002-10-04 14:50:20 +00:00
Chris Lattner 2cedf1ce82 Fix a nasty problem with dominance calculation for unreachable blocks.
If we had a CFG that look like Entry -> B, Unreachable -> B, then we would
not correctly determine that Entry dominated B, because Entry did not
apparently dominate "unreachable".  This patch fixes this by making the entry
node dominate all blocks, including unreachable ones.

llvm-svn: 4037
2002-10-04 14:45:48 +00:00
Chris Lattner 9df1cf3034 Prune function nodes that are no longer referenced due to inlining
llvm-svn: 4036
2002-10-03 21:55:28 +00:00
Chris Lattner 9dfb9f44cc sgefa uses truely huge data structures nodes. Only print part of them if they
are so big

llvm-svn: 4035
2002-10-03 21:55:13 +00:00
Chris Lattner 9a389b3cce The wall clock timer (implementing using the RTC or cycle counter on x86) is
so much more accurate than the per process timers that we get better results
(less noise) by sorting according to wall time than process time.

llvm-svn: 4034
2002-10-03 21:08:20 +00:00
Chris Lattner 4ee4381a23 Handle bug exposed by power benchmark
llvm-svn: 4033
2002-10-03 21:06:38 +00:00
Nick Hildenbrandt afff0a25b7 Add parens around constant calls to getelemptr to properly associate the reference
llvm-svn: 4032
2002-10-03 20:47:24 +00:00
Chris Lattner c9c681e4f5 Reimplement/port the Bottom Up Closure pass
llvm-svn: 4031
2002-10-03 20:38:41 +00:00
Chris Lattner 223ce0ed91 New testcase
llvm-svn: 4030
2002-10-03 20:06:33 +00:00
Chris Lattner 3f69054dd5 DataStructure.h doesn't include DSGraph.h
llvm-svn: 4029
2002-10-02 22:14:38 +00:00
Chris Lattner 7a525a94db Remove commented out stuff
DataStructure.h doesn't include DSGraph.h now

llvm-svn: 4028
2002-10-02 22:14:17 +00:00
Chris Lattner 10725d5341 Move GlobalDSGraph class defn to the end of the file
llvm-svn: 4027
2002-10-02 21:55:52 +00:00
Chris Lattner 9beee8590a This file doesn't need Pass.h
llvm-svn: 4026
2002-10-02 21:55:24 +00:00
Nick Hildenbrandt 2d3eb5a349 I was wrong on the removing of those references on the last commit.
llvm-svn: 4023
2002-10-02 21:14:33 +00:00
Chris Lattner 0313db6b02 * Implement the getc() function
* Support usage of stdin, stdout & stderr correctly in LLI!

llvm-svn: 4022
2002-10-02 21:12:13 +00:00
Chris Lattner 8b952fa7ae Cleanup #includes, expose module
llvm-svn: 4021
2002-10-02 21:11:16 +00:00
Chris Lattner dabbf17b47 Expose TD to ExternalFunctions.cpp
llvm-svn: 4020
2002-10-02 21:10:48 +00:00
Chris Lattner 58185f2df9 - Print the predecessors of a basic block instead of the number of uses of
the block in the AsmWriter

llvm-svn: 4019
2002-10-02 19:38:55 +00:00
Chris Lattner 0f5346d743 Fix bug: 2002-10-02-SignExtensionProblem.ll
llvm-svn: 4017
2002-10-02 18:53:14 +00:00
Nick Hildenbrandt bff2adb2a4 Removed unneeded reference and dereferences.
llvm-svn: 4016
2002-10-02 18:34:51 +00:00
Chris Lattner 6ee87ef090 New testcase for a problem discovered in the SPECINT gzip benchmark.
llvm-svn: 4015
2002-10-02 18:32:38 +00:00
Nick Hildenbrandt e07698b492 Cleaned up my last check-in.
llvm-svn: 4014
2002-10-02 18:32:35 +00:00
Nick Hildenbrandt e0ba1f25b6 No longer include malloc.h. If protoypes are needed for memory functions they will be present in the byte code and the generated c as well.
llvm-svn: 4013
2002-10-02 18:20:18 +00:00
Chris Lattner c4d2ad21bf * Implement fully general merging of array subscripts on demand! This
does not handle the initial pointer index case yet though.

llvm-svn: 4012
2002-10-02 06:24:36 +00:00
Chris Lattner be9f70e342 * Implement fully general merging of array subscripts on demand! This
does not handle the initial pointer index case yet though.

llvm-svn: 4011
2002-10-02 06:24:29 +00:00
Chris Lattner 4e37455a69 When printing DS nodes, print the mergemap index as well to allow easier
debugging of merging process.

llvm-svn: 4010
2002-10-02 05:17:55 +00:00
Chris Lattner c2222c8077 Checkin the "meat" of the Data structure graph itself. I forgot to check
this in before.  :(

llvm-svn: 4009
2002-10-02 04:58:12 +00:00
Chris Lattner 0b2a6e00d1 * Significant rework of DSNode to support arbitrary aliasing due to merging
* Now all and any bytes of a DSNode can be merged together individually.  This
  is neccesary to support the full generality of C and support aliasing
  correctly.

llvm-svn: 4008
2002-10-02 04:57:39 +00:00
Chris Lattner 06f9532c8a - Remove the User::eraseOperand method which is never used, really
dangerous, and not something we want to expose.

llvm-svn: 4007
2002-10-01 23:41:17 +00:00
Chris Lattner 3e55b86821 Do some cleanups to the Type and Constant section to remove latex stuff
There is still a lot of cleanup and fleshing out required here, but at least
it gets rid of the flagrantly bad parts.

llvm-svn: 4006
2002-10-01 23:17:09 +00:00
Chris Lattner e6e375e704 Temporary change to make datastructure stuff link in right
llvm-svn: 4005
2002-10-01 22:41:01 +00:00
Chris Lattner c2996d9a8b Changes to work with Statistics rework
* Renamed StatisticReporter.h/cpp to Statistic.h/cpp
    * Broke constructor to take two const char * arguments instead of one, so
      that indendation can be taken care of automatically.
    * Sort the list by pass name when printing
    * Make sure to print all statistics as a group, instead of randomly when
      the statistics dtors are called.
    * Updated ProgrammersManual with new semantics.

llvm-svn: 4004
2002-10-01 22:40:31 +00:00
Chris Lattner 3dfd3b5a3d Update manual to reflect recent changes in the Statistic class.
llvm-svn: 4003
2002-10-01 22:39:41 +00:00
Chris Lattner bf3a099a62 Updates to work with recent Statistic's changes:
* Renamed StatisticReporter.h/cpp to Statistic.h/cpp
    * Broke constructor to take two const char * arguments instead of one, so
      that indendation can be taken care of automatically.
    * Sort the list by pass name when printing
    * Make sure to print all statistics as a group, instead of randomly when
      the statistics dtors are called.
    * Updated ProgrammersManual with new semantics.

llvm-svn: 4002
2002-10-01 22:38:41 +00:00
Chris Lattner 3cf3782bc0 Updates to work with recent Statistic's changes:
* Renamed StatisticReporter.h/cpp to Statistic.h/cpp
    * Broke constructor to take two const char * arguments instead of one, so
      that indendation can be taken care of automatically.
    * Sort the list by pass name when printing
    * Make sure to print all statistics as a group, instead of randomly when
      the statistics dtors are called.
    * Updated ProgrammersManual with new semantics.

llvm-svn: 4001
2002-10-01 22:38:37 +00:00
Chris Lattner f242bec91b Build subdirs in parallel
llvm-svn: 4000
2002-10-01 22:36:35 +00:00
Chris Lattner c758fe6b72 - Rework Statistics:
* Renamed StatisticReporter.h/cpp to Statistic.h/cpp
    * Broke constructor to take two const char * arguments instead of one, so
      that indendation can be taken care of automatically.
    * Sort the list by pass name when printing
    * Make sure to print all statistics as a group, instead of randomly when
      the statistics dtors are called.

llvm-svn: 3999
2002-10-01 22:35:45 +00:00
Chris Lattner 7c91242aef Check in DataStructure rewrite so far.
llvm-svn: 3998
2002-10-01 22:34:45 +00:00
Chris Lattner d3121eb8cb Initial checkin of Steensgaards context insensitive flow insensitive
alias analysis

llvm-svn: 3997
2002-10-01 22:34:12 +00:00