Commit Graph

9143 Commits

Author SHA1 Message Date
Brian Gaeke 75bc7cec4b Fix PR103
llvm-svn: 9830
2003-11-09 07:08:34 +00:00
Chris Lattner b09ad87eb9 New testcase
llvm-svn: 9829
2003-11-09 07:05:02 +00:00
Chris Lattner 984e11792f Do NOT inline self recursive calls into other functions. This is causing the
pool allocator no end of trouble, and doesn't make a lot of sense anyway.  This
does not solve the problem with mutually recursive functions, but they are much less common.

llvm-svn: 9828
2003-11-09 05:05:36 +00:00
Chris Lattner d61abe82d3 Untypo
llvm-svn: 9827
2003-11-09 05:04:25 +00:00
Chris Lattner 950c75f135 Add more functions
llvm-svn: 9826
2003-11-09 04:10:41 +00:00
Chris Lattner 5011b956a9 None of the __llvm_* functions call into the program. This makes the
callgraph MUCH simpler for eh using program.

llvm-svn: 9825
2003-11-09 04:00:59 +00:00
Chris Lattner cff83a2f24 Add support for memmove
llvm-svn: 9824
2003-11-09 03:32:52 +00:00
Brian Gaeke c3c242c3ac Remove #include of PassManager.h which was marked FIXME, and apparently is no
longer used.

llvm-svn: 9823
2003-11-09 03:15:40 +00:00
Chris Lattner 9a06c2bc25 Totally disable assert, in order to fix PR101
llvm-svn: 9818
2003-11-09 00:29:51 +00:00
Chris Lattner 3faf03a00f new testcase
llvm-svn: 9817
2003-11-09 00:23:05 +00:00
Chris Lattner 123ba49839 new testcase
llvm-svn: 9815
2003-11-08 23:00:49 +00:00
Chris Lattner 12dd38aa99 Handle bzero and memset in the local analysis, because we were missing the fact
that memset returns its argument!!

llvm-svn: 9811
2003-11-08 21:55:50 +00:00
Chris Lattner c129e009eb Fix broken makefile dependency generation
llvm-svn: 9810
2003-11-08 21:23:06 +00:00
Chris Lattner 2cb1db763e This doesn't use DSCallSiteIterator
llvm-svn: 9809
2003-11-08 21:17:37 +00:00
Chris Lattner 5c94491743 * Add units to the yaxis of each chart
* Add charts to the nightly test report

llvm-svn: 9808
2003-11-08 20:48:39 +00:00
Chris Lattner 1388c6765f Since we are collecting all of this data, we might as well graph it!
llvm-svn: 9807
2003-11-08 20:33:04 +00:00
Brian Gaeke f8cb2419ee Fix two typos I found in comments.
llvm-svn: 9806
2003-11-08 18:12:24 +00:00
Chris Lattner 14b5d5a98e Update the portability section
llvm-svn: 9803
2003-11-08 05:22:09 +00:00
Chris Lattner 699a58d77a sjlj bug
llvm-svn: 9802
2003-11-08 05:18:50 +00:00
Chris Lattner 78396549bc Fix wierd problems linking C programs which look for symbols in libstdc++.
This was due to the 'assert' macro expanding into a function call on some
platforms which could throw.  The C++ compiler then added checks for the
exception specifications in these functions, which pulled in the C++ runtime.
This was bad, and the assertions can never fire (the library is now debugged)
so just remove them.

llvm-svn: 9801
2003-11-08 05:13:40 +00:00
Chris Lattner 4491de6e97 Add news from brian
llvm-svn: 9800
2003-11-08 04:28:55 +00:00
Misha Brukman 7630785925 First pass at cleaning up LangRef.html: stylesheet-ification, consistent
formatting, more strict adherence to HTML 4.01, other misc. cleanups.

llvm-svn: 9799
2003-11-08 01:05:38 +00:00
Misha Brukman a1eefa40dc For some reason, LICM and GCSE like to crash the FunctionPassManager when they
are being added as FunctionPasses... Sigh.

llvm-svn: 9798
2003-11-08 00:01:39 +00:00
Chris Lattner 59c3985777 Provide a specialization of _Alloc_traits, which allows the G++ runtime to avoid
storing an instance of the allocator in each data structure it uses.  Yaay.

llvm-svn: 9795
2003-11-07 23:20:56 +00:00
Brian Gaeke 9ef636c698 Implement vaarg instruction. This is not quite perfect: 2003-08-11-VaListArg
still causes a crash. But it's better than before.

llvm-svn: 9794
2003-11-07 21:20:47 +00:00
Misha Brukman 508cc3e7a9 Implement branching to a PC-relative constant (not a BasicBlock).
llvm-svn: 9793
2003-11-07 21:07:30 +00:00
Brian Gaeke 85baf8c65a popStackAndReturnValueToCaller() must advance instruction pointer to normal
destination, if returning from an invoke.

Implement 'unwind' instruction.

llvm-svn: 9792
2003-11-07 20:44:58 +00:00
Misha Brukman 3b2343eae9 PreSelection is not optional, it performs a necessary and vital transformation
for the Sparc backend: breaking up constant expressions. Thus, we cannot have it
guarded by a conditional, it should never be disabled.

Also, it's now available for the JIT since it is a FunctionPass.

llvm-svn: 9791
2003-11-07 20:33:25 +00:00
Misha Brukman d7bcd99325 Remove the *BIG UGLY HACK* from the JIT: PreSelection is now a FunctionPass.
llvm-svn: 9790
2003-11-07 20:32:08 +00:00
Brian Gaeke 6d145eb65f Add stub version of unwind support
llvm-svn: 9789
2003-11-07 20:07:06 +00:00
Brian Gaeke a6454d3532 visitCallInst --> visitCallSite.
Use visitCallSite to implement both CallInsts and InvokeInsts.

llvm-svn: 9788
2003-11-07 20:04:22 +00:00
Brian Gaeke a6d48e4db2 Make the operation of visitCallInst() only depend on the CallSite.
llvm-svn: 9787
2003-11-07 19:59:08 +00:00
Misha Brukman 560e989585 Completely hacked apart the file and put it back together using stylesheets.
llvm-svn: 9786
2003-11-07 19:43:14 +00:00
Misha Brukman 403ff618bc Actually have a target "#introduction" if we're making a link to it.
llvm-svn: 9785
2003-11-07 19:42:44 +00:00
Brian Gaeke 18b59578c9 Use CallSites for call sites, instead of CallInsts. A revolutionary concept.
llvm-svn: 9784
2003-11-07 19:26:23 +00:00
Brian Gaeke f578c05d57 Mention class CallSite
llvm-svn: 9783
2003-11-07 19:25:45 +00:00
Brian Gaeke a730103518 Add a warning about not "new"ing or "delete"ing CallSites
llvm-svn: 9782
2003-11-07 19:25:22 +00:00
Misha Brukman d3af61d883 Added ability to register FunctionPasses as optimizations, with
TargetMachine-accepting constructors (thanks to Chris).

llvm-svn: 9781
2003-11-07 18:56:32 +00:00
Misha Brukman 7120c837fb Make the page footer consistent with the rest of the site.
llvm-svn: 9779
2003-11-07 18:11:14 +00:00
Misha Brukman 2c3068026a Switch to emitting MachineConstantPool the way it was meant to be done.
llvm-svn: 9777
2003-11-07 18:06:26 +00:00
Misha Brukman 2133b0513d Switch to using the standard representation of the constant pool -- namely, the
MachineConstantPool. This involved refactoring the two classes involved in
printing out Sparc assembly. In fact, they should share all this code anyway.

llvm-svn: 9776
2003-11-07 17:45:28 +00:00
Misha Brukman faa42d264f We accept TargetMachine as a const reference.
llvm-svn: 9775
2003-11-07 17:44:18 +00:00
Misha Brukman bd4a8ed139 PreSelection and PeepholeOpts are now FunctionPasses.
llvm-svn: 9774
2003-11-07 17:43:43 +00:00
Misha Brukman 81c748c1e2 * Stop making a global for each constant that cannot live in an instruction;
it will be converted to a MachineConstantPool index during instruction
  selection
* This is now eligible to become a FunctionPass since it does not have any side
  effects outside of the function it is processing.

llvm-svn: 9773
2003-11-07 17:31:22 +00:00
Misha Brukman bf9ed7ac1f * Use the MachineConstantPool for storing constants instead of a hash_set;
* Do not create new globals for constants!

Also, order #includes as per coding style guide

llvm-svn: 9772
2003-11-07 17:29:48 +00:00
Misha Brukman c16149d7dd Use `basename $<` to get just the filename, not full path, for ease of reading.
llvm-svn: 9770
2003-11-07 17:26:27 +00:00
Misha Brukman ad03afcb34 Declare FunctionPasses as such so that they can be used in FunctionPassManager.
llvm-svn: 9768
2003-11-07 17:20:18 +00:00
Misha Brukman 53b3d182d1 Declare FunctionPasses as such.
llvm-svn: 9767
2003-11-07 17:19:39 +00:00
Chris Lattner fc42785a60 Add some ctors for this allocator
llvm-svn: 9766
2003-11-07 15:20:06 +00:00
Brian Gaeke 65cac90a92 Refactor the return-from-function code into popStackAndReturnValueToCaller().
Make external function calls slightly less special; now they get a stack frame.

llvm-svn: 9765
2003-11-07 05:22:49 +00:00
Chris Lattner 34596d7048 Add bugz
llvm-svn: 9764
2003-11-07 04:46:56 +00:00
Chris Lattner cd4f3e601c Fix a really bad build problem for users who have .o in their build directory!
Thanks to Reid Spencer for figuring this out!  :)

llvm-svn: 9763
2003-11-07 04:39:53 +00:00
Chris Lattner 5285e9c9a0 Hopefully this will fix PR98
llvm-svn: 9762
2003-11-07 00:38:09 +00:00
Chris Lattner 395aef6bbe Hopefully fix the objdir != srcdir issue
llvm-svn: 9761
2003-11-07 00:34:33 +00:00
Misha Brukman 6c91a333ea * Added a "contents"-like list of questions at the beginning of the file
* Use stylsheets. Really, people, work with me here.
* Stop using those silly <dl> and <dt> and whatever else tags
* Close tags

llvm-svn: 9760
2003-11-06 21:55:44 +00:00
Chris Lattner cd213197dc fix warnings on sparc
llvm-svn: 9759
2003-11-06 21:30:15 +00:00
Chris Lattner 72a4db8b92 Fix warnings building on sparc
llvm-svn: 9758
2003-11-06 21:30:05 +00:00
Brian Gaeke 18027874ef All 'llvmgcc' tests should specify %llvmgcc so that the path is passed
in by qmtest.

llvm-svn: 9757
2003-11-06 21:13:45 +00:00
Chris Lattner 2a09659109 No wonder noone can set up LLVMGCCDIR correctly!
llvm-svn: 9756
2003-11-06 20:51:45 +00:00
Chris Lattner dc79f6c776 Add new commandline option
llvm-svn: 9755
2003-11-06 20:29:33 +00:00
Chris Lattner 7985d3664d Add new command line option
llvm-svn: 9754
2003-11-06 20:29:25 +00:00
Chris Lattner 38cd27e450 Various cleanups and efficiency improvements
llvm-svn: 9753
2003-11-06 19:46:29 +00:00
Chris Lattner b0a4b49b23 Fix bug: PR93
llvm-svn: 9752
2003-11-06 19:18:49 +00:00
Misha Brukman b4ad4c3d4c * Make the comment header 80 columns long
* Alphabetize #includes

llvm-svn: 9751
2003-11-06 18:06:13 +00:00
Misha Brukman 2b8724acc6 Let's not forget about our friends -- Constant Pool indices.
llvm-svn: 9750
2003-11-06 00:04:11 +00:00
Brian Gaeke 6f54518e08 Give this header file an Emacs mode-line.
llvm-svn: 9749
2003-11-05 22:13:10 +00:00
Brian Gaeke 1d9515b0a1 Do not assume the first file is a bytecode file. Instead, construct a dummy
Module and link things into that.

Also, fix a typo in an error message.

llvm-svn: 9748
2003-11-05 22:13:00 +00:00
Brian Gaeke 31af708ef6 Shorten and correct some function-header comments.
Make "verbose" output MUCH nicer. Now it tells you when you are linking a
bytecode file, or an archive, and whether it's because you called it by name,
or because you gave it a -l option, and it says "Trying" before it takes
action and prints a message in the past tense afterwards.

Make LinkFiles not skip the first file in Files.

Make LinkFiles warn you if it can't find a file and LLVM_LIB_SEARCH_PATH is
unset.

llvm-svn: 9747
2003-11-05 22:12:52 +00:00
Chris Lattner 83bc0a06b6 new testcase
llvm-svn: 9746
2003-11-05 22:06:03 +00:00
Chris Lattner 4e1b467594 Fix the problem with running cleanups in bugpoint: We were deleting arguments
of intrinsic functions, causing the verifier to fail.

llvm-svn: 9745
2003-11-05 21:53:41 +00:00
Chris Lattner a616c55ba9 Bugpoint no longer has this option
llvm-svn: 9744
2003-11-05 21:46:13 +00:00
Chris Lattner 2920100e4d I hate it when bugpoint is all ready to give me a bytecode file, then crashes
in final cleanups.  Then you had to run the whole mess again with
-disable-final-cleanups.

This makes bugpoint run the cleanups in a protected environment so that if
they crash, bugpoint itself doesn't crash.  This makes things much happier,
implements a FIXME, and gets rid of YABPO (yet another bugpoint option).

llvm-svn: 9743
2003-11-05 21:45:35 +00:00
Chris Lattner a2e48a82fe Split the DAE pass into DAE and DAH passes
llvm-svn: 9742
2003-11-05 21:43:42 +00:00
Chris Lattner 9e60aced2e Split behavior into two pieces
llvm-svn: 9741
2003-11-05 21:43:02 +00:00
Chris Lattner debac38f5e Simplify the performFinalCleanups interface
llvm-svn: 9740
2003-11-05 21:15:19 +00:00
Chris Lattner 8055fb3afa Yet more fixes for constant expr shifts
llvm-svn: 9739
2003-11-05 20:43:58 +00:00
Chris Lattner ba55bd37fe Further fixes for PR93
llvm-svn: 9738
2003-11-05 20:37:01 +00:00
Brian Gaeke 7f3327fc2c A few handy methods that seem to mesh well with what CallSite already provides.
llvm-svn: 9737
2003-11-05 20:25:33 +00:00
Chris Lattner c3d6f21bbe no need for endl
llvm-svn: 9736
2003-11-05 19:53:32 +00:00
Chris Lattner b36e8a1a2e Add support for constant expr shifts
llvm-svn: 9735
2003-11-05 19:53:03 +00:00
Misha Brukman 07b385da27 Since this function returns an int, let's actually return something.
llvm-svn: 9734
2003-11-05 19:48:05 +00:00
Chris Lattner 51b560602e New testcase
llvm-svn: 9733
2003-11-05 19:43:36 +00:00
Chris Lattner e225507193 If we're not checking, don't check!
llvm-svn: 9732
2003-11-05 19:09:40 +00:00
Chris Lattner 7c94d1171a Fix flawed logic that was breaking several SPEC benchmarks, including gzip and crafty.
llvm-svn: 9731
2003-11-05 17:31:36 +00:00
Misha Brukman e5b358c829 We know exactly what the value of $< is, so instead of using `basename $<` to
get just the filename and not the full path, just use the filename directly.

llvm-svn: 9730
2003-11-05 06:43:36 +00:00
Misha Brukman 8330f2be73 Output only the .y filename, not the full path to it for ease of reading.
llvm-svn: 9729
2003-11-05 06:41:14 +00:00
Chris Lattner ab77bc588d Add three more bugs
llvm-svn: 9728
2003-11-05 06:30:04 +00:00
Chris Lattner a9e7fe9ea2 Do not use a class before it is defined.
Be gcc 3.4 clean

llvm-svn: 9727
2003-11-05 06:25:06 +00:00
Chris Lattner b5b9ba6ff6 Be friendly to gcc 3.4... good compiler. Nice compiler.
llvm-svn: 9726
2003-11-05 06:20:27 +00:00
Chris Lattner 813ec04735 Be gcc 3.4 clean
llvm-svn: 9725
2003-11-05 06:12:18 +00:00
Chris Lattner c17fe1cdfe Make -r work, fixing PR 91
llvm-svn: 9724
2003-11-05 06:05:21 +00:00
Alkis Evlogimenos 43b0bbe12c Add std::pair tier. This is a much simplified version of boost::tie
that works only for std::pair.

llvm-svn: 9723
2003-11-05 05:58:26 +00:00
Chris Lattner 5f6463c041 Fix name collision
llvm-svn: 9722
2003-11-05 05:55:45 +00:00
Chris Lattner 21c7894ea0 Add a dtor to ensure that they are called the right number of times.
llvm-svn: 9721
2003-11-05 05:31:24 +00:00
Chris Lattner b3a9b6626f NEw testcase
llvm-svn: 9720
2003-11-05 05:22:15 +00:00
Chris Lattner 41baa98478 Make code gcc 3.4 clean
llvm-svn: 9719
2003-11-05 05:15:42 +00:00
Chris Lattner d4741c5ee9 New testcase
llvm-svn: 9718
2003-11-05 01:36:49 +00:00
Chris Lattner 2b553e69d8 This works with GCC 3.4 also
llvm-svn: 9717
2003-11-05 01:31:12 +00:00
Brian Gaeke 4e106f0649 Abort when the user program calls abort, instead of printing a funny message and calling exit(1).
llvm-svn: 9716
2003-11-05 01:18:49 +00:00
Chris Lattner 8f2f598024 Fix bug with previous implementation:
-      // ~(c-X) == X-(c-1) == X+(-c+1)
+      // ~(c-X) == X-c-1 == X+(-c-1)

Implement: C - ~X == X + (1+C)
llvm-svn: 9715
2003-11-05 01:06:05 +00:00
Chris Lattner b6ca46e0f9 New testcase for the other side
llvm-svn: 9714
2003-11-05 01:05:22 +00:00
Brian Gaeke 221827ab07 Use regular old malloc to emulate malloc/alloca instructions.
llvm-svn: 9713
2003-11-05 01:02:14 +00:00
Brian Gaeke 175018317e Remove a comment which no longer applies.
llvm-svn: 9712
2003-11-05 00:59:28 +00:00
Chris Lattner e580666532 Minor cleanup, plus implement InstCombine/xor.ll:test17
llvm-svn: 9711
2003-11-04 23:50:51 +00:00
Chris Lattner f6368c803c Since we're in the neighborhood, test for the inverse
llvm-svn: 9710
2003-11-04 23:49:53 +00:00
Chris Lattner d6a5d90ae2 Fix spello
Add negate overload

llvm-svn: 9709
2003-11-04 23:37:40 +00:00
Chris Lattner 0f68fa6569 Implement InstCombine/xor.ll:test(15|16)
llvm-svn: 9708
2003-11-04 23:37:10 +00:00
Chris Lattner e3a932c6d0 Add a generalization of the previous case
llvm-svn: 9707
2003-11-04 23:36:50 +00:00
Chris Lattner f622d7c31e New testcase for masking operation that frequently occurs in the pool allocator
for converting a number that is a power of two into a mask

llvm-svn: 9706
2003-11-04 23:21:22 +00:00
Alkis Evlogimenos 20d03bb166 Update documentation since it was misleading: make it clear that a
negative instruction count is returned if instructions are removed
from a basic block.

llvm-svn: 9705
2003-11-04 23:07:00 +00:00
Alkis Evlogimenos 9118a426d3 Change all machine basic block modifier functions in MRegisterInfo to
return the number of instructions added to/removed from the basic block
passed as their first argument.

Note: This is only needed because we use a std::vector instead of an
ilist to keep MachineBasicBlock instructions. Inserting an instruction
to a MachineBasicBlock invalidates all iterators to the basic
block. The return value can be used to update an index to the machine
basic block instruction vector and circumvent the iterator elimination
problem but this is really not needed if we move to a better
representation.

llvm-svn: 9704
2003-11-04 22:57:09 +00:00
Brian Gaeke 69c2841b2a Update verifySavedState()'s comment, so that it reflects its current
status.  In doFinalization(), skip over external functions, just like
Anand's mapping info does.

llvm-svn: 9703
2003-11-04 22:42:41 +00:00
Chris Lattner ee0ba89dd1 New file, for use by the pool allocator project
llvm-svn: 9702
2003-11-04 22:38:28 +00:00
Chris Lattner c679fbbab4 Substantial release notes updates
llvm-svn: 9700
2003-11-04 20:06:53 +00:00
Chris Lattner 12d304d4d8 New testcase for PR80
llvm-svn: 9699
2003-11-04 18:52:01 +00:00
Chris Lattner ba4b1c47c1 New testcase
llvm-svn: 9698
2003-11-04 18:34:05 +00:00
Brian Gaeke 2a262ef095 Add comments.
llvm-svn: 9697
2003-11-04 18:25:56 +00:00
Chris Lattner 604ac9cfc0 While working on the pool allocator, I noticed that basicaa is failing a scary
number of simple cases.  Someday when I get a chance to work on it again, this
testcase should be corrected.

llvm-svn: 9695
2003-11-04 16:40:40 +00:00
Chris Lattner 47dfa641c3 Fix problems in previous changes. This fixes several regressions last night.
llvm-svn: 9694
2003-11-04 16:04:32 +00:00
John Criswell 81587e798a Checking in Chris's suggestions:
Added assert() to ensure symbol table is well formed.
Added code to remember the value that was found; resolving types can change
the symbol table and invalidate the value of the iterator.
Added comments to the ResolveTypes() function (mainly for my own benefit).
Please feel free to correct the comments if they are not accurate.

llvm-svn: 9693
2003-11-04 15:22:26 +00:00
Chris Lattner 72974ffdbf New testcase for PR84
llvm-svn: 9690
2003-11-03 21:37:08 +00:00
John Criswell 28f8fc669d Modified build rules so that a messages appears before and after linking.
This helps to disambiguate when linking begins and when the library/program
is linked and ready to be used.
This is sort of as preference thing, so feel free to modify/revert the change.

llvm-svn: 9687
2003-11-03 21:12:49 +00:00
Chris Lattner b71c3f7430 Significantly simplify constant emission by unifying the stuff which used to build up
strings with the stuff that used to print to an ostream directly.  We now NEVER build
up big strings, only to print them once they are formed.

llvm-svn: 9686
2003-11-03 20:19:49 +00:00
Chris Lattner ef114d52e8 updates to release notes
llvm-svn: 9685
2003-11-03 20:08:08 +00:00
Chris Lattner 469e404370 Incorporate printSingleConstantValue into its single caller
llvm-svn: 9684
2003-11-03 19:44:05 +00:00
Chris Lattner 72e516f0d1 * Reformat some code
* Emit bools as 1/0 instead of true/false, fixing compilation of eon and
  PR 83 & Jello/2003-11-03-GlobalBool.llx

llvm-svn: 9683
2003-11-03 19:33:45 +00:00
Chris Lattner bf1b435d04 New testcase
llvm-svn: 9682
2003-11-03 19:27:17 +00:00
Chris Lattner 7c18b18c46 Fix InstCombine/2003-11-03-VarargsCallBug.ll
llvm-svn: 9681
2003-11-03 18:44:58 +00:00
Chris Lattner 05f448173e New testcase for a bug in instcombine
llvm-svn: 9680
2003-11-03 18:33:44 +00:00
Chris Lattner 39c0a19894 Work around a bug in GCC where it can't handle common variables marked weak.
llvm-svn: 9679
2003-11-03 17:35:00 +00:00
Chris Lattner e4e2595f71 Fix bugs with attribute weak emission
llvm-svn: 9678
2003-11-03 17:32:38 +00:00
Chris Lattner cbf2aeb684 If linking a library, do not link other libraries, like libc, into it!
This fixes lots of annoying warnings and error messages

llvm-svn: 9677
2003-11-03 17:27:17 +00:00
John Criswell 907720dfe1 Closed the h2 header for the LLVM Test Suite Organization section.
llvm-svn: 9676
2003-11-03 14:59:59 +00:00
Chris Lattner d33bc06316 More testcases
llvm-svn: 9675
2003-11-03 05:42:50 +00:00
Chris Lattner e600cec9ec Move a test from cast-set to a new bit-tracking.ll file. Update file comments
llvm-svn: 9674
2003-11-03 05:30:34 +00:00
Chris Lattner 6444c37488 Implement InstCombine/cast-set.ll:test6[a]. This improves code generated for
a hot function in em3d

llvm-svn: 9673
2003-11-03 05:17:03 +00:00
Chris Lattner 11bea4f7c7 Add another case, which an implementation of test6 must be sure to handle
correctly.

llvm-svn: 9672
2003-11-03 05:08:53 +00:00
Chris Lattner 7be3ab2fb7 This simplifies the CWriter code, makes the generated code easier to read,
and makes the output work with the intel compiler.  Overall, a win.

llvm-svn: 9671
2003-11-03 04:31:54 +00:00
Chris Lattner 1693079e92 Implement InstCombine/cast-set.ll: test1, test2, test7
llvm-svn: 9670
2003-11-03 04:25:02 +00:00
Chris Lattner efde768bf5 Add the testcase from PR8
llvm-svn: 9669
2003-11-03 03:52:34 +00:00
Chris Lattner c75cfac56d Add another case, which occurs in em3d
llvm-svn: 9668
2003-11-03 03:51:26 +00:00
Chris Lattner af7893203b Fix bug with zero sized casts
llvm-svn: 9667
2003-11-03 01:29:41 +00:00
Chris Lattner 7af7d94df2 Eliminate the silly namedContext member of printType
llvm-svn: 9666
2003-11-03 01:01:59 +00:00
Chris Lattner 2e8d28d082 Allow CallSites to be used as the key of a map
llvm-svn: 9660
2003-11-02 23:04:33 +00:00
Chris Lattner 2b9926fc8e All DSGraphs keep a reference to the targetdata they are created with. This is
used to eliminate the hard coded, hacked in, sparc specific, global TargetData.
Changing the TargetData used to actually match the code fixes problems, and
eliminates a crash.

llvm-svn: 9659
2003-11-02 22:27:28 +00:00
Chris Lattner 53e8fab411 Fix bug: test/Regression/Analysis/DSGraph/2003-11-02-NodeCollapsing.ll
llvm-svn: 9658
2003-11-02 21:02:20 +00:00
Chris Lattner 175c0839ca New testcase for DSA which is improperly collapsed!
llvm-svn: 9657
2003-11-02 20:43:10 +00:00
Chris Lattner d4d987dd4a Fix bug in previous checkin
llvm-svn: 9656
2003-11-02 06:54:48 +00:00
Chris Lattner 1f30e93306 The 'thefunc' function should not have weak linkage, it should have linkonce linkage.
llvm-svn: 9655
2003-11-02 06:30:39 +00:00
Chris Lattner f4ad165e8b Implement transmogriphication of allocation instructions
llvm-svn: 9654
2003-11-02 05:57:39 +00:00
Chris Lattner fd2183a9cc Add test for instcombine transmogrifying allocation instructions
llvm-svn: 9653
2003-11-02 05:56:58 +00:00
Chris Lattner 38e692da04 Add note about profile.sh
llvm-svn: 9652
2003-11-02 05:20:44 +00:00
Chris Lattner 5d8e552cf1 Add -help option
llvm-svn: 9651
2003-11-02 05:17:32 +00:00
Chris Lattner dd024a09d9 Bugz fixed
llvm-svn: 9650
2003-11-02 02:15:11 +00:00
Chris Lattner d57aa5e8a5 Checkin an initial version of the llvm-prof documentation
llvm-svn: 9649
2003-11-02 02:10:54 +00:00
Chris Lattner 7f7285bab7 Fix PR78
llvm-svn: 9648
2003-11-02 02:06:27 +00:00
Chris Lattner 4fa54568a3 The "correct" fix for CBackend/2003-10-23-UnusedType.ll is to not even try
to emit types which are not used.

llvm-svn: 9647
2003-11-02 01:29:27 +00:00
Chris Lattner 7949bf0d54 Including the symbol table in the FindUsedTypes analysis was the WRONG way
to fix test/Regression/CBackend/2003-10-23-UnusedType.ll.  This completely
neutered the deadtypeelim pass.

llvm-svn: 9646
2003-11-02 01:28:41 +00:00
Chris Lattner 91d79bb4be New testcase for PR79
llvm-svn: 9645
2003-11-02 00:57:56 +00:00
Chris Lattner 22c19cdf99 new testcase, for PR 81
llvm-svn: 9644
2003-11-02 00:22:27 +00:00
Chris Lattner ecbf07b6cd Regression test for PR 80
llvm-svn: 9643
2003-11-01 23:42:08 +00:00
Chris Lattner e9cdb46520 Escape "'s, which are frequent visitors to C++ types
llvm-svn: 9642
2003-10-31 22:16:41 +00:00
Chris Lattner b45d9077cb Strip off CPR's manually, because if we don't, the inliner doesn't delete dead
functions.  GRR

llvm-svn: 9641
2003-10-31 21:05:58 +00:00
Chris Lattner 9c4a58b780 Make the call graph more precise despite the hated constantpointerrefs.
Do you detect the animosity I feel towards CPRs yet?

llvm-svn: 9640
2003-10-31 21:05:12 +00:00
Chris Lattner 9157ec025b Did I mention that I _HATE_ CPRs?
llvm-svn: 9639
2003-10-31 18:38:06 +00:00
Misha Brukman ff91940879 Use stylesheets as much as we can. I admit, I still cannot make CSS do what I
can do with tables, which annoys me.

llvm-svn: 9638
2003-10-31 18:37:20 +00:00
Chris Lattner 0989953b31 Obsolete file goes byebye
llvm-svn: 9637
2003-10-31 18:06:32 +00:00
Misha Brukman 9dc2a3d05c Use some style(sheets).
llvm-svn: 9636
2003-10-31 18:01:30 +00:00
Chris Lattner f6925da295 Constant pointer refs are causing these to fail unnecessarily, which is causing
a lot of code to be pessimized.  I hate CPRs.  :(

llvm-svn: 9635
2003-10-31 17:51:16 +00:00
Brian Gaeke b8c28f3553 Well, to be honest, -array-checks and -trace are gone, too. :-)
llvm-svn: 9631
2003-10-31 05:12:04 +00:00
Alkis Evlogimenos 6029d4032c Use already existing classes for post order iterator.
llvm-svn: 9629
2003-10-31 03:02:34 +00:00
Misha Brukman 47e7fd2c0f * Not much point to indent the whole file
* Let CVS keep track of our last-modified timestamp

llvm-svn: 9628
2003-10-31 00:39:28 +00:00
Misha Brukman c64b74554a The `-q' option has gone away.
llvm-svn: 9627
2003-10-31 00:34:52 +00:00
Chris Lattner 9061d70325 never print zero executions blocks
llvm-svn: 9626
2003-10-31 00:34:05 +00:00
Chris Lattner a36f81a3ea Simplify code
llvm-svn: 9625
2003-10-31 00:20:09 +00:00
Chris Lattner 34e1549e1b Add percentage info
llvm-svn: 9624
2003-10-31 00:13:26 +00:00
Chris Lattner 0575f97e4b Hrm, some of my counters are wrapping around 32 bits
llvm-svn: 9623
2003-10-31 00:06:57 +00:00
Chris Lattner babc99cf80 If only have function profile, don't print out "not executed" for all of the blocks :)
llvm-svn: 9622
2003-10-30 23:44:28 +00:00
Chris Lattner 2a5767e4f1 Add the ability to print out llvm code when the -annotated-llvm option is given
llvm-svn: 9621
2003-10-30 23:42:09 +00:00
Chris Lattner eeabc3f846 Expose new print methods
llvm-svn: 9620
2003-10-30 23:41:19 +00:00
Chris Lattner 8339f7d379 Make use of the new AssemblyAnnotationWriter interface
llvm-svn: 9619
2003-10-30 23:41:03 +00:00
Chris Lattner de171b3d18 New interface
llvm-svn: 9618
2003-10-30 23:39:52 +00:00
Brian Gaeke 8541bd9db9 Include llvm/CodeGen/MachineCodeForInstruction.h. Use it to start
implementing verifySavedState().

In saveState(), use the new AllocInfo::AllocStateTy enum, and increment
Insn each time through the loop.

llvm-svn: 9617
2003-10-30 21:21:33 +00:00
Brian Gaeke 727ec9bec5 Make AllocState an enum.
Move the stringifying method for that enum into class AllocInfo.

llvm-svn: 9616
2003-10-30 21:21:22 +00:00
Alkis Evlogimenos 5a320efd3b Output types in reverse postorder. This will allow the ByteCode/Reader
to create the minimum number of opaque types for each type with a
cycle in its type graph.

llvm-svn: 9615
2003-10-30 21:04:44 +00:00
Alkis Evlogimenos 404beb98ef Put DEBUG_OUTPUT at the top along with TRACE_LEVEL. Also fix the code
inside DEBUG_OUTPUT so that it compiles.

llvm-svn: 9614
2003-10-30 18:33:58 +00:00
Chris Lattner b45e1f990c Bugz fixed
llvm-svn: 9613
2003-10-30 16:20:15 +00:00
Brian Gaeke 8d09fd1ea6 Apparently my Mac OS X fixes were not entirely compatible with SPARC...hmm.
llvm-svn: 9612
2003-10-30 15:03:49 +00:00
Chris Lattner dd63f9e22b When someone includes CallGraph.h, make sure that they link in CallGraph.cpp
llvm-svn: 9611
2003-10-30 05:17:30 +00:00
Chris Lattner 30aad2a98e Fix typo
llvm-svn: 9610
2003-10-30 04:35:26 +00:00
Chris Lattner a306dd2c05 New bug
llvm-svn: 9609
2003-10-30 01:43:33 +00:00
Chris Lattner 9e167cd6ab Tighten up what we consider to be first class types.
llvm-svn: 9608
2003-10-30 01:38:41 +00:00
Chris Lattner 0fc43a6048 Make sure that PHI node operands are first class types
llvm-svn: 9607
2003-10-30 01:38:18 +00:00
Chris Lattner 78293b7023 Clarify that all manipulatable values must be of first class type, and specifically
update the PHI node entry to mention this as well.

llvm-svn: 9606
2003-10-30 01:31:37 +00:00
Misha Brukman d8c3ba3315 * Send people to the LLVMdev archive/subscription page rather than just state
the address
* Somewhat standardize the footer of the page

llvm-svn: 9605
2003-10-30 01:23:40 +00:00
Chris Lattner a2bd4e07ee Another day, another bug
llvm-svn: 9604
2003-10-30 01:20:42 +00:00
Misha Brukman da6f521ab0 Add a link to the C/C++ front-end building instructions.
llvm-svn: 9603
2003-10-30 01:19:16 +00:00
Misha Brukman 5b4dea338e The answer to this question is "Yes". Let's make that absolutely clear even to
those just skimming the FAQ.

llvm-svn: 9602
2003-10-30 01:16:18 +00:00
Misha Brukman 8a98cd1097 Call me picky, but it's not the state of Illinois' license, it's the
University's.

llvm-svn: 9601
2003-10-30 01:13:56 +00:00
Chris Lattner 686767f3f6 Fix bug: 2003-10-29-CallSiteResolve.ll & PR70
llvm-svn: 9600
2003-10-30 00:46:41 +00:00