Commit Graph

5497 Commits

Author SHA1 Message Date
Chris Lattner 459b9e2485 New testcase
llvm-svn: 5794
2003-04-16 22:46:16 +00:00
Chris Lattner 46b3d30bf6 Change the interface to constant expressions to allow automatic folding
llvm-svn: 5793
2003-04-16 22:40:51 +00:00
Chris Lattner a9a988005b Allow the user to disable the internalize pass
llvm-svn: 5792
2003-04-16 21:43:22 +00:00
Chris Lattner 1078b20bc0 Add tests for linker and linkonce globals
llvm-svn: 5791
2003-04-16 21:21:35 +00:00
Chris Lattner 23bf637211 Add support to the bytecode reader/writer for the new linkage types
llvm-svn: 5790
2003-04-16 21:16:05 +00:00
Chris Lattner f46a02c88e Give verbose error messages if bytecode file cannot be parsed
llvm-svn: 5789
2003-04-16 20:51:36 +00:00
Chris Lattner 3ac483bc89 Add code to verify correctly linkages
llvm-svn: 5788
2003-04-16 20:42:40 +00:00
Chris Lattner 0d2d871e80 Revert modulo scheduling change that should be part of the modulo-sched pass itself,
not part of the Instruction class.

llvm-svn: 5787
2003-04-16 20:30:02 +00:00
Chris Lattner 379a8d2d1c Add new linkage types to support a real frontend
llvm-svn: 5786
2003-04-16 20:28:45 +00:00
Chris Lattner f0e92b575f Add missing keyword, add new linkage keywords
llvm-svn: 5785
2003-04-16 20:26:11 +00:00
Chris Lattner 1d647ae600 Add new linkage keywords. Spell uninitialized correctly
llvm-svn: 5784
2003-04-16 20:25:57 +00:00
Chris Lattner 39f251a0fc Add PRE directory
llvm-svn: 5783
2003-04-16 20:23:42 +00:00
Chris Lattner deccfafddb Improve the efficiency and cleanup writing a bit
llvm-svn: 5782
2003-04-16 20:20:02 +00:00
Chris Lattner fcfb1761c7 Don't allow declaring an external internal variable
llvm-svn: 5781
2003-04-16 18:13:57 +00:00
Chris Lattner 12fe9b47cc Improve compatibility with system AS further by allowing input from stdin
llvm-svn: 5780
2003-04-16 17:49:18 +00:00
Chris Lattner 3708870ec8 * Get rid of using declaration
* Add two compatibility options to work better with new GCC frontend

llvm-svn: 5779
2003-04-16 17:41:08 +00:00
Chris Lattner 1f412aeeb2 Namespacify command line options
llvm-svn: 5778
2003-04-16 17:34:29 +00:00
Chris Lattner 4b1d10604e Fix bug: Assember2003-04-15-ConstantInitAssertion.llx
llvm-svn: 5777
2003-04-15 16:09:31 +00:00
Chris Lattner f7cc6aeb41 New testcase that triggered assertion failure.
llvm-svn: 5776
2003-04-15 16:07:05 +00:00
Chris Lattner 01587d4ad1 Make help message more clear
llvm-svn: 5775
2003-04-13 03:50:14 +00:00
Misha Brukman f0971994ca Simple arithmetic loop-based test case for modulo scheduling.
llvm-svn: 5774
2003-04-10 22:01:15 +00:00
Misha Brukman dbea9cd4be Adding a simple test case in the hope that commit-diffs.pl will pick this up.
llvm-svn: 5773
2003-04-10 21:49:13 +00:00
Misha Brukman 3064bff740 Not only is this the first test case for ModuloScheduing, it's also the first
test case for the CVS commit-diffs.pl script which should show the entire
contents of this file below:

llvm-svn: 5772
2003-04-10 21:43:58 +00:00
Chris Lattner 18b1bf67b2 * Fix bug: Mem2Reg/2003-04-10-DFNotFound.ll
* Make Mem2Reg assign version numbers now for renamed variables instead of
  .mem2reg suffixes.  This produces what people think of as SSA.

llvm-svn: 5771
2003-04-10 19:41:13 +00:00
Chris Lattner 6371087a0e New testcase
llvm-svn: 5770
2003-04-10 19:21:07 +00:00
Misha Brukman a45606276d Fixed compilation errors, command-line argument declarations, cleaned up code to
look nicer and removed useless stuff.

Also renamed a few variables, moved them into namespaces, converted outputting
to a file into a print to std::cerr with a DEBUG() guard, as all passes should
do anyway.

No functional changes have been made. However, this code now compiles.

llvm-svn: 5769
2003-04-10 19:19:23 +00:00
Misha Brukman 218a732724 Made the code readable:
* Lines must be wrapped at 80 chars. This is a hard limit.
* Consistent style on functions, braces, if, for, etc. Code must be readable.

No functional changes have been made, even though I added a new typedef.

llvm-svn: 5768
2003-04-09 21:51:34 +00:00
Misha Brukman 61a9e7c901 Must use std::pair instead of just 'pair'.
llvm-svn: 5767
2003-04-07 00:25:09 +00:00
Guochun Shi 2c6ad22962 added a function and a member to the TargetSchedInfo class
which is used  by Modulo Scheduling pass

llvm-svn: 5766
2003-04-07 00:00:36 +00:00
Guochun Shi 09abd1aeaf added some memory for clone function
llvm-svn: 5765
2003-04-06 23:58:44 +00:00
Guochun Shi b250dc6909 change the include file names and some class names to make it compile
llvm-svn: 5764
2003-04-06 23:56:19 +00:00
Chris Lattner d31837154d Implement scanf and fix sscanf to actually endian swap the results correctly
llvm-svn: 5763
2003-03-31 22:12:37 +00:00
Chris Lattner 72b19ce654 Update to work with newer versions of bison
llvm-svn: 5762
2003-03-31 21:26:06 +00:00
Chris Lattner 431d943cc8 Initial checkin of PRE test
llvm-svn: 5761
2003-03-31 21:19:23 +00:00
Chris Lattner 8cf3b0969a Initial checkin of PRE tests
llvm-svn: 5760
2003-03-31 19:57:36 +00:00
Chris Lattner 9023155621 Initial checkin of PRE on LLVM. This implementation is still lacking in
several ways:

 * Load expressions are not PRE'd well.  Alias Analysis should be used to
   get accurate information when computing anticipatibility.
 * The expression collection implementation does not handle PHI nodes properly,
   thus the implementation misses many opportunities to PRE.
 * This code could be sped up quite a bit

Despite these flaws, the code seems to work well, and handles PR's as one
would expect.

llvm-svn: 5759
2003-03-31 19:55:43 +00:00
Chris Lattner 7ff2ce9f0b Minor tweak
llvm-svn: 5758
2003-03-31 17:30:35 +00:00
Chris Lattner 07f7e5d3b5 * We now preserve the no-critical-edge pass (because we cannot insert critical edges)
* Small modification to be more efficient

llvm-svn: 5757
2003-03-31 17:30:25 +00:00
Chris Lattner 73410f84f7 Add getAnalysisUsage method
llvm-svn: 5756
2003-03-31 17:29:18 +00:00
Guochun Shi 45d8f3279e *** empty log message ***
llvm-svn: 5755
2003-03-27 17:57:44 +00:00
Chris Lattner c42046f9f1 Move BreakCriticalEdges pass to lib/Transforms/Utils
llvm-svn: 5754
2003-03-21 21:43:19 +00:00
Chris Lattner 9ad7757e7c Add helper method
llvm-svn: 5753
2003-03-21 21:41:02 +00:00
Chris Lattner 3628607140 Update comment
llvm-svn: 5752
2003-03-21 21:40:39 +00:00
Chris Lattner 91f136847e Add more graph traits specializations for dominator tree nodes
llvm-svn: 5751
2003-03-20 21:21:05 +00:00
Chris Lattner faca62c74a * Change the order that globals and constants are processed in
* Add support for implicit zero initializers

llvm-svn: 5750
2003-03-19 20:57:22 +00:00
Chris Lattner 428bf5abc9 Changes to the V2 bytecode format:
- Null values are implicitly encoded instead of explicitly, this makes
    things more compact!
  - More compactly represent ConstantPointerRefs
  - Bytecode files are represented as:
      Header|GlobalTypes|GlobalVars/Function Protos|Constants|Functions|SymTab
    instead of
      Header|GlobalTypes|Constants|GlobalVars/Function Protos|Functions|SymTab
    which makes a lot of things simpler.

Writer changes:
  - We now explictly encode versioning information in the bytecode files.
  - This allows new code to read bytecode files produced by old code, but
    new bytecode files can have enhancements such as the above.  Although this
    makes the reader a bit more complex (having to deal with old formats), the
    writer only needs to be able to produce the most recent version.

llvm-svn: 5749
2003-03-19 20:56:46 +00:00
Chris Lattner 5db8194ca9 * Bug fixes:
- Fix problems where the constant table would not get updated when
    resolving constants causes other constants to change.

Changes to the V2 bytecode format
  - Null values are implicitly encoded instead of explicitly, this makes
    things more compact!
  - More compactly represent ConstantPointerRefs
  - Bytecode files are represented as:
      Header|GlobalTypes|GlobalVars/Function Protos|Constants|Functions|SymTab
    instead of
      Header|GlobalTypes|Constants|GlobalVars/Function Protos|Functions|SymTab
    which makes a lot of things simpler.

Changes to the reader:
  - Function loading code is much simpler.  We now no longer make function
    PlaceHolderHelper objects to be replaced with real functions.

llvm-svn: 5748
2003-03-19 20:54:26 +00:00
Chris Lattner 65c9fb07b0 Add new chunk type
llvm-svn: 5747
2003-03-19 20:48:27 +00:00
Chris Lattner 90677c51c7 Fix testcase
llvm-svn: 5746
2003-03-18 22:53:19 +00:00
Chris Lattner 9c19c07e8b Fix problems with BitSetVector that makes it not compile under GCC 3.0 and 2.95
llvm-svn: 5745
2003-03-17 18:11:27 +00:00