Commit Graph

3891 Commits

Author SHA1 Message Date
Chris Lattner 8d081dd436 Make sure to print message when linking a debug .o file
llvm-svn: 3918
2002-09-25 17:15:22 +00:00
Chris Lattner b408154f5f - Fix bug: Mem2Reg/2002-05-01-ShouldNotPromoteThisAlloca.ll
llvm-svn: 3917
2002-09-24 21:19:41 +00:00
Chris Lattner 4357e54760 Eliminate extraneous #include
llvm-svn: 3916
2002-09-24 21:18:40 +00:00
Chris Lattner 588378fb38 A lot of this stuff has been done. Remove the done items
llvm-svn: 3915
2002-09-24 16:15:36 +00:00
Chris Lattner 4e6e0eda00 New feature test for something we have done for a long time
llvm-svn: 3914
2002-09-24 16:13:20 +00:00
Chris Lattner d6dcd8ec32 Fix bug: SimplifyCFG/2002-09-24-PHIAssertion.ll
llvm-svn: 3913
2002-09-24 16:09:17 +00:00
Chris Lattner 710e9a5c65 New testcase that causes SimplifyCFG to assert out.
llvm-svn: 3912
2002-09-24 16:02:44 +00:00
Chris Lattner c05ad96803 - Do not expose Critical Edge breaking mechanics outside the BCE pass, thus
removing it from Transforms/Local.h and from Transforms/Utils/*

llvm-svn: 3911
2002-09-24 15:52:01 +00:00
Chris Lattner 75f80bd0b6 - Do not expose Critical Edge breaking mechanics outside the BCE pass, thus
removing it from Transforms/Local.h and from Transforms/Utils/*

llvm-svn: 3910
2002-09-24 15:51:56 +00:00
Chris Lattner 068c681a84 - Do not expose Critical Edge breaking mechanics outside the BCE pass, thus
removing it from Transforms/Local.h and from Transforms/Utils/*

llvm-svn: 3909
2002-09-24 15:51:54 +00:00
Chris Lattner b4e7e22be3 Correlated Exprs pass now requires BCE pass instead of doing it manually
llvm-svn: 3908
2002-09-24 15:43:56 +00:00
Chris Lattner 4bec665b09 - Expose passinfo from BreakCriticalEdges pass so that it may be "Required"
by other passes.  Make BCE pass be in anonymous namespace now.

llvm-svn: 3907
2002-09-24 15:43:12 +00:00
Chris Lattner 13fea86b05 Expose passinfo from BreakCriticalEdges pass so that it may be "Required" by
other passes

llvm-svn: 3906
2002-09-24 15:42:27 +00:00
Chris Lattner 47c2e3e952 Make sure to close the file before deleting it
llvm-svn: 3905
2002-09-24 00:09:48 +00:00
Chris Lattner 5325c5f340 Minor cleanups
llvm-svn: 3904
2002-09-24 00:09:26 +00:00
Chris Lattner b03832d5d0 Add new BreakCriticalEdges pass
llvm-svn: 3903
2002-09-24 00:08:39 +00:00
Chris Lattner 9f48a00e43 Add new BreakCriticalEdges pass
llvm-svn: 3902
2002-09-24 00:08:37 +00:00
Chris Lattner 34d39668f9 There are no implicit gep forms of load and store anymore
llvm-svn: 3901
2002-09-24 00:08:01 +00:00
Chris Lattner c952e4558b Make users of FindUsedTypes not have problems with linkage. This fixes
Cwriter.

llvm-svn: 3900
2002-09-24 00:07:21 +00:00
Chris Lattner fc75a8552d Make users of FindUsedTypes not have problems with linkage. This fixes
cwriter.

llvm-svn: 3899
2002-09-24 00:07:17 +00:00
Chris Lattner d4c8f4e826 Convert to using long indexes instead of uint
llvm-svn: 3898
2002-09-23 23:41:53 +00:00
Chris Lattner 555518c70f Optimize away cases like:
%cast109 = cast uint %cast212 to short          ; <short> [#uses=1]
        %cast214 = cast short %cast109 to uint          ; <uint> [#uses=1]
        %cast215 = cast uint %cast214 to short          ; <short> [#uses=1]

llvm-svn: 3897
2002-09-23 23:39:43 +00:00
Chris Lattner ef453e2800 Add some more testcases for things to get optimized away
llvm-svn: 3896
2002-09-23 23:39:17 +00:00
Chris Lattner 28d103548d Fix: ConstantMerge/2002-09-23-CPR-Update.ll
Basically, this bug boiled down to calling replaceUsesOfWith on a constant,
which changed it's shape in an illegal way.  This pass now goes through all
of the trouble neccesary to do the replacement on constants.

llvm-svn: 3895
2002-09-23 23:00:46 +00:00
Chris Lattner be4521f333 New testcase distilled from SPEC vortex benchmark
llvm-svn: 3894
2002-09-23 22:31:04 +00:00
Chris Lattner 935559ad2a Run constantmerge tests too
llvm-svn: 3893
2002-09-23 22:26:23 +00:00
Nick Hildenbrandt 9cedce62ee Parenthesis are now added to casts of type array.
llvm-svn: 3892
2002-09-23 21:02:50 +00:00
Chris Lattner 7ccb217f21 * Fix bug: CorrelatedExprs/2002-09-23-PHIUpdateBug.ll
* Make sure "Changed" is updated correctly

llvm-svn: 3891
2002-09-23 20:06:22 +00:00
Chris Lattner caad373759 Fix testcase to accurately expose bug
llvm-svn: 3890
2002-09-23 20:04:54 +00:00
Chris Lattner 16c563fd78 New testcase distilled from SPEC MCF benchmark
llvm-svn: 3889
2002-09-23 19:54:06 +00:00
Chris Lattner 4037a261d8 Insert resolved constants into the global map so they are reused correctly.
This bug was exposed linking the SPEC benchmark suite.

llvm-svn: 3888
2002-09-23 18:14:15 +00:00
Chris Lattner 6b9be6f95a Group #includes better
llvm-svn: 3887
2002-09-23 17:45:52 +00:00
Vikram S. Adve ff0ebda5d7 Allow LLC to be executed on Linux; only the LLC output should not be executed.
llvm-svn: 3886
2002-09-23 14:24:19 +00:00
Vikram S. Adve b4e9f91b81 C tests are run via Makefile.singlesrc so don't run them twice.
llvm-svn: 3885
2002-09-23 14:23:15 +00:00
Vikram S. Adve 8e6e1816c0 Put intermediate source files in a subdirectory here instead of with
object files.  Also,

llvm-svn: 3884
2002-09-23 13:12:28 +00:00
Vikram S. Adve 7765a4a4f6 Disable reassociation pass in LLC until it is fixed.
llvm-svn: 3883
2002-09-23 12:55:50 +00:00
Chris Lattner 20ebb24264 'whoami' doesn't exist on solaris
llvm-svn: 3882
2002-09-22 23:35:11 +00:00
Chris Lattner 0fbbd8a742 Update url
llvm-svn: 3881
2002-09-22 21:25:12 +00:00
Chris Lattner 1047feff1b Add information about the DEBUG() macro and the Statistic template
llvm-svn: 3880
2002-09-22 19:38:40 +00:00
Chris Lattner 387d76a983 * Remove the -stopraise option, which is no longer needed now that we have
the -debug-pass=Arguments option
* Run instcombining BEFORE mem2reg so that getelementptr X, long 0's are
  cleaned up.  This is also important because scalar replacement of aggr.
  will want instcombine to run before it goes as well.

llvm-svn: 3879
2002-09-22 18:50:22 +00:00
Chris Lattner facc751260 Don't insert a PHI node to merge "returns" from an inlined function if there
is only a single return from the function!

llvm-svn: 3878
2002-09-22 18:41:25 +00:00
Chris Lattner a8ce09e2de * Minor fixes to support C files.
* Build burg as a utility now, change its location
* Clean up other rules

llvm-svn: 3876
2002-09-22 02:47:15 +00:00
Chris Lattner 75246ec78d Clean up dead rules
llvm-svn: 3875
2002-09-22 02:41:20 +00:00
Chris Lattner 8f07f947cf Fix tons of warnings, convert burg to use Makefile.common system, rename
gram.y to gram.yc so that we don't try to turn it into a .cpp file.

llvm-svn: 3874
2002-09-22 02:40:40 +00:00
Anand Shukla 4b6bd16c2b Changed codegen to add 2 empty slots at the top of stack using StackSlots pass
llvm-svn: 3873
2002-09-21 05:01:21 +00:00
Anand Shukla ca15c99c4d Initial version: it adds 2 empty slots at the top of stack
llvm-svn: 3872
2002-09-21 04:58:26 +00:00
Chris Lattner 230d832e38 Fix cwriter to not output FP constants in ascii, output them in hex instead.
This fixes a number of FP precision problems, making the output of the
power benchmark closer to the right answer.

Unfortunately, this only addresses FP constants used directly in functions.
Constants referred to by global constants (such as an array of FP values)
aren't helped by this.  Until this happens power won't work.

llvm-svn: 3871
2002-09-20 23:26:33 +00:00
Chris Lattner 79ea4c4aa2 Fix bug: 2002-09-20-VarArgPrototypes.ll
llvm-svn: 3870
2002-09-20 22:32:30 +00:00
Chris Lattner 6e1f8c5963 Build with $(CC), not gcc explicitly
llvm-svn: 3869
2002-09-20 22:32:00 +00:00
Chris Lattner d48ac6ea41 New testcase for cbe
llvm-svn: 3868
2002-09-20 22:28:03 +00:00
Nick Hildenbrandt 6829a0b1d1 New testcase for broken type printing for the cwriter
llvm-svn: 3867
2002-09-20 21:44:32 +00:00
Anand Shukla 8137896962 Changed uchar to unsigned char in function ParseBytecodeBuffer, because seemingly it affects opt in uncertain ways :)
llvm-svn: 3866
2002-09-20 20:57:54 +00:00
Vikram S. Adve 6a2258b230 Fix yet another profile linking issue.
llvm-svn: 3865
2002-09-20 18:16:20 +00:00
Anand Shukla 77dca14403 Added checking threshold
llvm-svn: 3864
2002-09-20 16:44:35 +00:00
Vikram S. Adve 0a79c117ac Peephole optimization pass on final machine code.
llvm-svn: 3863
2002-09-20 16:33:03 +00:00
Vikram S. Adve a0abb97e71 Fix link error for profile version. Also, build Burg differently
for different architectures.

llvm-svn: 3862
2002-09-20 16:15:57 +00:00
Vikram S. Adve 321f83d8d8 Build burg separately for different architectures.
llvm-svn: 3861
2002-09-20 16:14:47 +00:00
Chris Lattner 2895a2f421 Fix output of typedefs to avoid syntax errors.
* We now can correctly Cify the Olden-power benchmark

llvm-svn: 3860
2002-09-20 15:20:24 +00:00
Chris Lattner 7bd37ed1a6 * Add a couple of comments to the output c code
* _FIX_ infinite recursion problem, due to typedefs of a structure being
  printed before the structure.

llvm-svn: 3859
2002-09-20 15:18:30 +00:00
Chris Lattner 32d812feff Another change that doesn't affect functionality. Since we are only looking
at types in the symbol table, only traverse the type plane, saving a loop nest.

llvm-svn: 3858
2002-09-20 15:12:13 +00:00
Chris Lattner 9a973b4f6a Make the StructPrinted set only take memory when it's being used.
rename parseStruct to printContainedStructs

llvm-svn: 3857
2002-09-20 15:05:40 +00:00
Chris Lattner 37bd117997 No functionality changes, primarily just changing tab indentation to space
indentation

llvm-svn: 3856
2002-09-20 14:56:54 +00:00
Chris Lattner b6c55cf394 Checkin old testcase
llvm-svn: 3855
2002-09-20 14:37:46 +00:00
Vikram S. Adve 20aa62f1cb The ENABLE_PROFILING flag now builds the profiled libraries and executables
into a Profile/ directory to keep them separate from the Debug/ and
Release/ versions.  Also, it turns on ENABLE_OPTIMIZED automatically.

llvm-svn: 3854
2002-09-20 14:03:13 +00:00
Vikram S. Adve ff7a0595d4 Let CC invoke gcc and not cc. The latter doesn't work with either our
source or some of our tests.

llvm-svn: 3853
2002-09-20 14:01:14 +00:00
Vikram S. Adve 968a4af907 Include our config and system-specific Makefiles to get the
right compilers and paths.

llvm-svn: 3852
2002-09-20 13:56:32 +00:00
Vikram S. Adve 2c8dbedc9e Fix data types header file and declarations to work on Linux.
llvm-svn: 3851
2002-09-20 01:05:16 +00:00
Vikram S. Adve e73ac65c25 Fix to avoid addition on pointers, which is no longer legal.
llvm-svn: 3850
2002-09-20 00:57:37 +00:00
Vikram S. Adve c4869837dd Add erase() method for a single element.
llvm-svn: 3849
2002-09-20 00:55:57 +00:00
Vikram S. Adve 5cc5d4b19a Add method IGNode::getCombinedDegree to count the sum of the degrees
of two nodes, excluding duplicates.

llvm-svn: 3848
2002-09-20 00:55:04 +00:00
Vikram S. Adve e6ee32bfe2 Add PostOpts/ and rename PreSelection/ to PreOpts/.
llvm-svn: 3847
2002-09-20 00:53:53 +00:00
Vikram S. Adve 2f4d556d21 Add peephole optimization pass at the end of code generation.
llvm-svn: 3846
2002-09-20 00:52:43 +00:00
Vikram S. Adve bbf45f6960 Added class MachineOptInfo as interface to target-specific
routines supporting machine code optimization.
Also added method MachineInstrInfo::getNOPOpCode().

llvm-svn: 3845
2002-09-20 00:52:09 +00:00
Vikram S. Adve 302435b841 Interface to target-specific routines that support machine code optimization.
llvm-svn: 3844
2002-09-20 00:49:21 +00:00
Vikram S. Adve 97c348d9ec Add method MachineInstr::replace to rewrite a machine instruction in place.
llvm-svn: 3843
2002-09-20 00:47:49 +00:00
Vikram S. Adve e008b2d62e Allow copy coalescing in more cases: if sum of node degrees is more than
than #available regs, compute the sum excluding duplicates and if that
is less than #regs, go ahead and coalesce.
Add method IGNode::getCombinedDegree to count excluding duplicates.

llvm-svn: 3842
2002-09-20 00:45:47 +00:00
Vikram S. Adve 3e1dc145bd Renamed library preselect to preopts.
llvm-svn: 3841
2002-09-20 00:43:20 +00:00
Vikram S. Adve 5e1c434572 Peephole optimization pass on final machine code.
llvm-svn: 3840
2002-09-20 00:42:11 +00:00
Vikram S. Adve a50098d8e4 Files moved to CodeGen/PreOpts.
llvm-svn: 3839
2002-09-20 00:30:46 +00:00
Vikram S. Adve e9ac29b475 Moving these files from Code/PreSelection to here.
Original logs for PreSelection.cpp:

  revision 1.2
  date: 2002/09/17 23:50:32;  author: lattner;  state: Exp;  lines: +1 -3
  Don't put default parameter values into .cpp files, it breaks 3.x compilers

  revision 1.1
  date: 2002/09/16 15:31:13;  author: vadve;  state: Exp;
  New preselection pass that specializes LLVM code for a target machine,
  while remaining in legal portable LLVM form and preserving type
  information and type safety.

llvm-svn: 3838
2002-09-20 00:29:28 +00:00
Chris Lattner 4e6598b325 Reenable these options because they break testing on sparc without them.
Conditionalizing them on DISABLE_LLC means they aren't enabled under linux.

llvm-svn: 3837
2002-09-19 21:46:03 +00:00
Chris Lattner 1e860c917a Native CC compiler has the same problem as CXX compiler.
llvm-svn: 3836
2002-09-19 21:33:10 +00:00
Chris Lattner 6ce25935c9 Don't run llc tests on linux, they won't work.
llvm-svn: 3835
2002-09-19 21:32:44 +00:00
Chris Lattner 67b9d7f7a9 Workaround for bug in GCC 3.1.1 iostreams library on sparc. It apprarently
isn't flushing an ostream when it is deleted.

llvm-svn: 3834
2002-09-19 20:49:25 +00:00
Chris Lattner 9ae5cf5ca3 Minor non-functionality changing changes.
llvm-svn: 3833
2002-09-19 20:48:48 +00:00
Chris Lattner cb6aae5345 Reorder options to be sorted basically by how important they are.
llvm-svn: 3832
2002-09-19 19:59:42 +00:00
Chris Lattner 681bf7bbcc * Burg is no longer configured in Makefile.config
* CXX now is configured in Makefile.config (optionally)
* The GCC command is now no longer bin/gcc, it's bin/llvm-gcc
* Minor cleanups

llvm-svn: 3831
2002-09-19 19:56:53 +00:00
Chris Lattner 81c8476242 Platform specific makefiles specify where to find the GCC frontend for their
architecture.  The location of the GCC frontend may be overridden by the
Makefile.config file.

llvm-svn: 3830
2002-09-19 19:44:28 +00:00
Chris Lattner b6504001f0 * Move the burg option into Makefile.common, since it is no longer configurable
* Makefile.config now should only specify the location of the gcc frontend if it
  is not in the place specified by the platform makefile.

llvm-svn: 3829
2002-09-19 19:43:29 +00:00
Chris Lattner c58930c52c Move the burg option out of Makefile.config into Makefile.common since
it no longer needs to be configured.

llvm-svn: 3828
2002-09-19 19:42:24 +00:00
Chris Lattner e9bfedb701 Point gccld to the correct library directory.
llvm-svn: 3827
2002-09-19 19:22:30 +00:00
Chris Lattner 1550ba2bc5 Add an optimization to support the most common access pattern for the
library.  This speeds debug builds up significantly.

llvm-svn: 3826
2002-09-19 19:22:11 +00:00
Chris Lattner 31a9e81713 Switch over to using the x86 version of the C frontend, by default.
llvm-svn: 3825
2002-09-19 19:21:18 +00:00
Chris Lattner 5a67f4725e It turns out that the cannonical name for the llvm-gcc compiler is, well
llvm-gcc, not gcc.

llvm-svn: 3824
2002-09-19 19:06:05 +00:00
Vikram S. Adve c1a5301fa6 Avoid Solaris-specific defines.
llvm-svn: 3823
2002-09-19 18:45:11 +00:00
Chris Lattner 00cfa14284 New testcase that breaks the CFE.
llvm-svn: 3821
2002-09-19 16:54:57 +00:00
Chris Lattner a450397247 Make sure that we abort if an error happens as early as neccesary. Before
it was possible for the passmanager to continue running passes after the
verifier even if the module was not well formed.

llvm-svn: 3820
2002-09-19 16:12:19 +00:00
Chris Lattner 51eb611986 Indent a comment right, add a new one
llvm-svn: 3819
2002-09-19 16:06:28 +00:00
Vikram S. Adve e66e34a6e9 Add support for passing in arbitrary flags to gmake (except -n and -h
which are interpreted by this script).

llvm-svn: 3818
2002-09-19 14:54:53 +00:00
Chris Lattner a15eeb68ad New testcase for a bug fixed in the GCC SSA construction algorithm:
http://gcc.gnu.org/ml/gcc/2002-09/msg00760.html

llvm-svn: 3817
2002-09-19 04:23:59 +00:00
Chris Lattner 437254f29e Avoid deleting the ostream more than once.
llvm-svn: 3816
2002-09-18 23:30:05 +00:00
Vikram S. Adve 7369140fee Fix to work in new location (utils/) and to use gmake instead of gnumake
since gnumake doesn't exist on our new spiffy Linux machines.

llvm-svn: 3815
2002-09-18 23:22:27 +00:00
Chris Lattner 2e3536a85f Change Makefile.config to support building on the group's linux machines
llvm-svn: 3814
2002-09-18 19:32:17 +00:00
Vikram S. Adve 3517f30fd9 KEEP_SYMBOLS by default.
llvm-svn: 3813
2002-09-18 11:55:44 +00:00
Vikram S. Adve d141c281a4 Strip tools/Debug/ executables by default. Define KEEP_SYMBOLS to
turn off stripping for any executable.

llvm-svn: 3812
2002-09-18 11:55:13 +00:00
Chris Lattner 3cde789d29 Clean up tags, link to the right .h file
llvm-svn: 3811
2002-09-18 05:14:25 +00:00
Anand Shukla 8c2a0eeacb corrected small bug, to handle when DIRS is not defined.
llvm-svn: 3810
2002-09-18 04:29:30 +00:00
Anand Shukla ea77a493ff split retracing into a separate file
llvm-svn: 3809
2002-09-18 03:55:26 +00:00
Chris Lattner 18daee20f9 Compile sub-directories in parallel, because they don't have interdependencies
llvm-svn: 3808
2002-09-18 03:25:58 +00:00
Chris Lattner f3dd5f5888 Add support for the new PARALLEL_DIRS option
llvm-svn: 3807
2002-09-18 03:22:27 +00:00
Joel Stanley d9ee6c09e1 Finished instruction replacement section, etc. Need better example for replaceAllUsesWith().
llvm-svn: 3806
2002-09-18 03:17:23 +00:00
Misha Brukman cab9e249bd Fixed grammar.
llvm-svn: 3805
2002-09-18 02:35:14 +00:00
Misha Brukman 1cf3c54f04 Fixed grammar (User's -> Users).
llvm-svn: 3804
2002-09-18 02:21:57 +00:00
Vikram S. Adve 9c485d2165 gcc3.1.1 seems much more selective about what it loads from archives, and
does not link in many passes that are loaded by gcc2.95.3.  So use object
files instead of archives in many more cases.

llvm-svn: 3803
2002-09-18 02:20:58 +00:00
Misha Brukman ebcd1d7c16 Removed unnecessary #includes.
llvm-svn: 3802
2002-09-18 02:07:57 +00:00
Misha Brukman 892f59fcb2 Fixed typo.
llvm-svn: 3801
2002-09-18 00:42:45 +00:00
Chris Lattner 3eeba80732 Fix ambiguity problem due to builtin log2(double) function
llvm-svn: 3800
2002-09-17 23:56:50 +00:00
Chris Lattner 2d7730e3dd Don't put default parameter values into .cpp files, it breaks 3.x compilers
llvm-svn: 3799
2002-09-17 23:50:32 +00:00
Chris Lattner 5d15ed99a3 Fix namespace correctness bug
llvm-svn: 3798
2002-09-17 23:48:02 +00:00
Chris Lattner 22cbac6511 There is a #define in some header that conflicts with INFINITY, rename it.
llvm-svn: 3797
2002-09-17 23:46:33 +00:00
Chris Lattner 59ded8e5c0 Allow the VERBOSE=1 option to turn on output of recursive make behavior
llvm-svn: 3796
2002-09-17 23:45:34 +00:00
Chris Lattner 011abb4a32 Add support for gcc 3.2
llvm-svn: 3795
2002-09-17 23:38:38 +00:00
Chris Lattner 539a23cffa Fix parallel recursive make to build directories in order
llvm-svn: 3794
2002-09-17 23:35:02 +00:00
Chris Lattner 9a9a0b4401 Use locally built burg
llvm-svn: 3793
2002-09-17 23:24:57 +00:00
Chris Lattner d86c20366c Build burg tree
llvm-svn: 3792
2002-09-17 23:23:52 +00:00
Chris Lattner bfc1cc2d65 TEst commit
llvm-svn: 3791
2002-09-17 23:22:31 +00:00
Chris Lattner 8daf4d56e2 Test commit
llvm-svn: 3790
2002-09-17 23:20:47 +00:00
Chris Lattner 1d495576cc Test change
llvm-svn: 3789
2002-09-17 23:19:46 +00:00
Chris Lattner 23076668f0 We need an 'all' target to build burg, add it back
llvm-svn: 3788
2002-09-17 23:19:14 +00:00
Chris Lattner a4064a63a4 Don't run tests by default
llvm-svn: 3787
2002-09-17 23:04:24 +00:00
Chris Lattner b8f3fab589 Initial checkin of burg documetnation files
llvm-svn: 3786
2002-09-17 23:03:35 +00:00
Chris Lattner 462a4db83d Initial checkin of burg files
llvm-svn: 3785
2002-09-17 23:03:30 +00:00
Chris Lattner dacc4ae922 Avoid using two i's in the same statements
llvm-svn: 3784
2002-09-17 22:43:00 +00:00
Chris Lattner a8339e3613 Fix bug: test/Regression/Transforms/InstCombine/2002-09-17-GetElementPtrCrash.ll
Thanks to Casey for finding it!

llvm-svn: 3783
2002-09-17 21:05:42 +00:00
Chris Lattner 0822dd0210 New regression test
llvm-svn: 3782
2002-09-17 21:02:24 +00:00
Chris Lattner 0a2590a6af Convert to use long indexes instead of uint
llvm-svn: 3781
2002-09-17 20:47:46 +00:00
Chris Lattner 66037f55d3 Enable correct support for dynamic loading on Linux
llvm-svn: 3780
2002-09-17 20:40:24 +00:00
Chris Lattner a73486f69c Enable correct support for dynamic loading on Linux
llvm-svn: 3779
2002-09-17 20:40:22 +00:00
Anand Shukla ff0248c47c Removed debug info printing
llvm-svn: 3778
2002-09-17 20:24:46 +00:00
Chris Lattner 077b45d931 Add support for GCC 2.96
llvm-svn: 3777
2002-09-17 17:23:09 +00:00
Chris Lattner 95094782a1 Remove extra #include
llvm-svn: 3776
2002-09-17 17:18:12 +00:00
Chris Lattner a3e3fa7867 Fix typeo
llvm-svn: 3775
2002-09-17 16:47:06 +00:00
Vikram S. Adve 9d0fb1aac5 Don't print global variable definitions twice! Sun's pathetic compiler
never complained about this.

llvm-svn: 3774
2002-09-17 11:50:38 +00:00
Vikram S. Adve a43a66fdc4 Fix typo in comment.
llvm-svn: 3773
2002-09-17 11:09:59 +00:00
Vikram S. Adve 0267d0c62e Remove specification of argument default from cpp file.
llvm-svn: 3772
2002-09-17 01:17:57 +00:00
Chris Lattner 4496441c8d Remove warning that is no longer applicable
llvm-svn: 3771
2002-09-16 22:37:56 +00:00
Chris Lattner 0100eab505 Comment line of the makefile
llvm-svn: 3770
2002-09-16 22:36:42 +00:00
Chris Lattner e6e193cacd Handle whitespace in LIBRARYNAME gracefully
llvm-svn: 3769
2002-09-16 22:34:56 +00:00
Chris Lattner afb4fc189c Fix FunctionInlining pass assertion failure:
ilist:104: failed assertion `Traits::getNext(NodePtr) != 0 && "Dereferencing end()!"'

llvm-svn: 3768
2002-09-16 22:30:20 +00:00
Chris Lattner b1a712efcc Fix typeo
llvm-svn: 3767
2002-09-16 22:08:07 +00:00
Chris Lattner 8597d0e453 Fix compile problem on linux. Noone should ever #include <inttypes.h>
directly.  Instead, include Support/DataTypes.h

llvm-svn: 3766
2002-09-16 20:44:19 +00:00
Chris Lattner 10ccd32ff9 Run the cee pass tests
llvm-svn: 3765
2002-09-16 19:09:11 +00:00
Chris Lattner f28d80602c Checking testcases for cee pass
llvm-svn: 3764
2002-09-16 19:08:36 +00:00
Chris Lattner ec3936ac0d Fix: test/Regression/LLC/badidx.c problem
llvm-svn: 3763
2002-09-16 18:32:33 +00:00
Vikram S. Adve 14a25a370b Remove duplicate sparc entry.
llvm-svn: 3762
2002-09-16 18:28:27 +00:00
Vikram S. Adve 9a056ed4e0 Use .o files instead of .a files for several cases (that don't actually
need them) until other Makefiles can be updated to build archives.

llvm-svn: 3761
2002-09-16 18:13:12 +00:00
Chris Lattner c36a816a55 Print information about files that were removed
llvm-svn: 3760
2002-09-16 18:09:42 +00:00
Vikram S. Adve de72fca8a1 New preselection pass that specializes LLVM code for a target machine,
while remaining in legal portable LLVM form and preserving type
information and type safety.

llvm-svn: 3759
2002-09-16 18:08:17 +00:00
Nick Hildenbrandt 1127ac3037 Moved these files to the utils directory.
llvm-svn: 3758
2002-09-16 17:56:48 +00:00
Vikram S. Adve 9d48fcaf1b Add ilist_iterator constructor from a node reference.
llvm-svn: 3756
2002-09-16 16:46:17 +00:00
Vikram S. Adve dba59921d7 Extract most of the transformation into an externally accessible
function -- DecomposeArrayRef(GetElementPtrInst* GEP) -- that can
be invoked on a single instruction at a time.

llvm-svn: 3755
2002-09-16 16:40:07 +00:00
Vikram S. Adve 116783613a Change several entries to use the .o instead of .a to expose pass options.
llvm-svn: 3754
2002-09-16 16:36:13 +00:00
Vikram S. Adve eb8186985f Make all registered optimization passes available to llc.
Eliminate duplicate tracing options and use those defined by the trace passes.
Making the tracing step a module pass that runs before any llc-specific
passes.

llvm-svn: 3753
2002-09-16 16:35:34 +00:00
Vikram S. Adve 82491b79a1 Add support for optimization passes that use a TargetMachine object.
llvm-svn: 3752
2002-09-16 16:09:43 +00:00
Vikram S. Adve e3a75d6b33 Allow transformation DecomposeArrayRef(GetElementPtrInst* GEP) to
be invoked on a single instruction at a time, for use in other passes.

llvm-svn: 3751
2002-09-16 16:07:19 +00:00
Vikram S. Adve 5c363ba209 Add routines to update or erase operands (and to do so without external
assumptions about which operand number stores what operand).

llvm-svn: 3750
2002-09-16 16:06:12 +00:00
Vikram S. Adve 4b775b2763 *** empty log message ***
llvm-svn: 3749
2002-09-16 16:01:41 +00:00
Vikram S. Adve df7d0b5a9e Add support for passes that use a TargetMachine object.
llvm-svn: 3748
2002-09-16 16:01:39 +00:00
Vikram S. Adve 794cbb1e11 Add method MachineOperand::hasAllocatedReg().
llvm-svn: 3747
2002-09-16 15:58:54 +00:00
Vikram S. Adve 656e77d102 Add a version of ChooseRegOrImmed to handle numerical constants
introduced by InstrSelection.

llvm-svn: 3746
2002-09-16 15:58:34 +00:00
Vikram S. Adve 2d2fb24342 Add method adjustAlignment so that stack slot alignments can be computed
in a target-dependent manner (because of the dang OFFSET in Sparc v9).

llvm-svn: 3745
2002-09-16 15:57:43 +00:00
Vikram S. Adve b048d6633d Use ulong instead of uint for size expressions.
llvm-svn: 3744
2002-09-16 15:56:45 +00:00
Vikram S. Adve fff5ffde27 Add methods to query about the representation of LLVM quantities (e.g.,
constants).  Useful for target-dependent LLVM transformations like
Preselection.

llvm-svn: 3743
2002-09-16 15:56:01 +00:00
Vikram S. Adve 8cbdbd8e2e Don't print out global names unnecesssarily. Also, expose pass
constructors so passes can be inserted by TargetMachine.cpp.

llvm-svn: 3742
2002-09-16 15:54:02 +00:00
Vikram S. Adve 4f5bad8d2e *** empty log message ***
llvm-svn: 3741
2002-09-16 15:39:35 +00:00
Vikram S. Adve 36d3e03fa0 Move all the code that creates code generation passes from Sparc.cpp to
TargetMachine.cpp, since it is entirely machine-independent.
Also, add options to disable optional back-end passes (preselection and
instr. scheduling).

llvm-svn: 3740
2002-09-16 15:39:26 +00:00
Vikram S. Adve 5ce9e4bc64 Add subdirectory PreSelection.
llvm-svn: 3739
2002-09-16 15:32:07 +00:00
Vikram S. Adve 161a507def New preselection pass that specializes LLVM code for a target machine,
while remaining in legal portable LLVM form and preserving type
information and type safety.

llvm-svn: 3738
2002-09-16 15:31:13 +00:00
Vikram S. Adve 751130215f Dump routine now writes out allocated register numbers if available.
llvm-svn: 3737
2002-09-16 15:18:53 +00:00
Vikram S. Adve e567179aaa Improve and fix error in allocating stack slots: adjust alignment after adding
base address of the relevant region (instead of assuming that each region
is maximally aligned).

llvm-svn: 3736
2002-09-16 15:18:16 +00:00
Vikram S. Adve 03710d247d Add a version of ChooseRegOrImmed to handle numerical constants
introduced by InstrSelection.

llvm-svn: 3735
2002-09-16 15:15:57 +00:00
Vikram S. Adve 4d66e9973f Add an assertion.
llvm-svn: 3734
2002-09-16 15:13:59 +00:00
Anand Shukla f94ad68e56 Incorporated changes in alloca and getElementPointer instruction
llvm-svn: 3733
2002-09-16 05:26:51 +00:00
Anand Shukla d9a6af0c27 Incorporated changes in alloca instruction
llvm-svn: 3732
2002-09-16 05:24:49 +00:00
Vikram S. Adve 5c5c617b95 No longer need to sign-extend array indices to 64 bits since they
are now longs and not unsigned ints.

llvm-svn: 3731
2002-09-15 21:51:04 +00:00
Vikram S. Adve 49ffec6b39 Simplify significantly (and fix syntax error).
llvm-svn: 3730
2002-09-15 18:22:47 +00:00
Vikram S. Adve 9557560a9a Use much better method to find the llvmbase directory.
Also, add -h option to print usage information.

llvm-svn: 3729
2002-09-15 16:58:30 +00:00
Vikram S. Adve 183c2bb540 Check error condition after cvs returns. Also remove -c option.
llvm-svn: 3728
2002-09-15 16:45:10 +00:00
Vikram S. Adve 288e2ce02f Shell-script to build current directory and then link one tool (default: opt)
llvm-svn: 3727
2002-09-15 16:33:32 +00:00
Vikram S. Adve 580b851d23 Fix typos in previous checkin.
llvm-svn: 3726
2002-09-15 15:33:48 +00:00
Chris Lattner a73d6653f6 RegAllocCommon no longer includes CommandLine.h so we have to include it
here.

llvm-svn: 3725
2002-09-15 07:07:55 +00:00
Vikram S. Adve 0e56b36b53 Break RA_DEBUG option into several levels to get better control over
debug output.

llvm-svn: 3724
2002-09-14 23:05:33 +00:00
Vikram S. Adve d171a8c7c5 Remove unnecessary include.
llvm-svn: 3723
2002-09-14 23:04:52 +00:00
Vikram S. Adve c9f1e71360 Break RA_DEBUG option into several levels to get better output.
llvm-svn: 3722
2002-09-14 22:18:37 +00:00
Nick Hildenbrandt e89a6ebddd Fixed problem with printing struct definitions in the correct order.
This allows for the Regression/Transforms/ScalarReplacement/scalarize.c to run correctly.

llvm-svn: 3721
2002-09-14 21:36:24 +00:00
Chris Lattner a4583fdafc Fix to work correctly under linux
llvm-svn: 3720
2002-09-14 19:52:49 +00:00
Chris Lattner 154cf64436 Fix bug I introduced
llvm-svn: 3719
2002-09-14 19:33:16 +00:00
Vikram S. Adve a8f926c0c1 Moving to lib/CodeGen/RegAlloc.
llvm-svn: 3718
2002-09-14 11:57:17 +00:00
Vikram S. Adve 40a24e841e Add support for MacOS and (hopefully) other BSD derivatives.
llvm-svn: 3717
2002-09-14 10:42:59 +00:00
Misha Brukman 2e8086f046 Function.h is unnecessary when Module.h is included.
llvm-svn: 3716
2002-09-14 03:04:02 +00:00