1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
Commit Graph

25981 Commits

Author SHA1 Message Date
Bill Wendling
33d04dd115 Added a check so that if we have two machine instructions in this form
MOV R0, R1
    MOV R1, R0

the second machine instruction is removed. Added a regression test.

llvm-svn: 29792
2006-08-21 07:33:33 +00:00
Reid Spencer
3a71eba80f For PR797:
Adjust usage of the ExecuteAndWait function to use the last argument which
is the ErrMsg string. This is necessitated because this function no longer
throws exceptions on error.

llvm-svn: 29791
2006-08-21 06:04:45 +00:00
Reid Spencer
e9f818b95a For PR797:
Remove all exception code from Program.inc and implement its new interface
with an ErrMsg string argument.

llvm-svn: 29790
2006-08-21 06:02:44 +00:00
Reid Spencer
8b5b0a7fb3 For PR797:
Change interface for error recovery without exceptions.

llvm-svn: 29789
2006-08-21 06:00:58 +00:00
Reid Spencer
88f6824b35 Fix the documentation for this file.
llvm-svn: 29788
2006-08-21 05:37:03 +00:00
Reid Spencer
eb02f1c668 For PR885:
Consolidate the LinkAllAnalyses.h and LinkAllPasses.h headers into one
so there is no dupliation.

llvm-svn: 29787
2006-08-21 05:34:03 +00:00
Nate Begeman
7e968d2e45 Fix a build failure
llvm-svn: 29786
2006-08-21 04:57:01 +00:00
Reid Spencer
5ed787710d For PR797:
Make sys::Program::ExecuteAndWait not throw exceptions and update any
affected code. It now return -9999 to signal that the program couldn't be
executed. Only one case (in bugpoint) actually examines the result code.

llvm-svn: 29785
2006-08-21 02:04:43 +00:00
Reid Spencer
d3c41e4585 Minor technical correction in documentation.
llvm-svn: 29784
2006-08-21 01:58:57 +00:00
Reid Spencer
2a96040090 Make sure the verify pass gets run after the user's loaded passes as well
when the verify-each option is given.

llvm-svn: 29783
2006-08-20 20:54:38 +00:00
Reid Spencer
3906633b78 Rename the -verify option to be -verify-each so that it doesn't conflict
with the -verify pass option. It is also more accurate in that this option
causes a verify option to be run after every pass.

llvm-svn: 29782
2006-08-20 20:48:44 +00:00
Reid Spencer
6faaebd391 Convert llvm-ld to use the PluginLoader like opt instead of having its
one-off (and broken) RunOptimizations function. Also, run some cleanup
passes after the user's loaded passes run. This make sure to clean up
any cruft left around by thos passes.

This patch was inspired by a patch submitted by Bram Adams.

llvm-svn: 29781
2006-08-20 19:18:36 +00:00
Rafael Espindola
c255c4c434 call computeRegisterProperties
llvm-svn: 29780
2006-08-20 01:49:49 +00:00
Chris Lattner
1bee472fca vpkuwus didn't work, due to this typo
llvm-svn: 29776
2006-08-18 19:25:35 +00:00
Patrick Jenkins
253fe71c46 These changes reflect the changes in the database for how tests are stored
and bring the handing of dejagnu tests into compliance with this new scheme.

llvm-svn: 29772
2006-08-18 18:00:21 +00:00
Chris Lattner
6c5b7d24c2 regenerate
llvm-svn: 29771
2006-08-18 17:34:45 +00:00
Chris Lattner
b3b620030f trivial optimization
llvm-svn: 29770
2006-08-18 17:34:24 +00:00
Reid Spencer
32bc5710a6 Add a comment about the mechanisms used to rid AsmParser of exceptions.
llvm-svn: 29769
2006-08-18 17:32:55 +00:00
Reid Spencer
700153c9dd To avoid errors where a non-exception .o is on the stack between a throw
and a handler, which would produce errors like:
  terminate called after throwing an instance of 'std::string'
we must comment out setting -fno-exceptions until PR797 is completely
fixed. Once libraries like lib/System and lib/Support are exception free,
we can turn it back on.

llvm-svn: 29768
2006-08-18 17:22:07 +00:00
Reid Spencer
10758a6ae5 For PR797:
1. Actually turn on -fno-exceptions in libraries that do not have the
   REQUIRES_EH option in their Makefile. The following library file size
   savings were made (DEBUG):
      libLLVMDataStructure.a  525K
      libLLVMCore.a           380K
      libLLVMCodeGen.a        350K
      libLLVMTransformUtils.a 305K
      libLLVMScalarOpts.a     270K
      libLLVMAnalysis.a       247K
      libLLVMSelectionDAG.a   233K
      libLLVMipo.a            175K
      LLVMX86.o               123K
      LLVMPPC.o                81K
      libLLVMipa.a             17K
                 TOTAL      2,706K
      Note that the savings is actually a little larger than this because
      I didn't count any of the libraries that had small changes.

2. Remove REQUIRES_EH from the AsmParser library as it is now exception
   free. This resulted in a nearly 78K drop in the size of the debug
   library for AsmParser.

llvm-svn: 29767
2006-08-18 09:30:03 +00:00
Reid Spencer
943ab202d4 For PR797:
Update to reflect ParseException becoming ParseError (from Parser.h)

llvm-svn: 29766
2006-08-18 09:07:54 +00:00
Reid Spencer
1ae3d19c51 Fix a grammaro in a comment.
llvm-svn: 29765
2006-08-18 09:01:07 +00:00
Reid Spencer
f9bf69e97e Drop the -s2048 option, it is specified incorrectly and the correct
specification can't be handled by llvmc (= confuses it)

llvm-svn: 29764
2006-08-18 09:00:22 +00:00
Reid Spencer
c7c0e6c6ef For PR797:
Rid the Assembly Parser of exceptions. This is a really gross hack but it
will do until the Assembly Parser is re-written as a recursive descent.
The basic premise is that wherever the old "ThrowException" function was
called (new name: GenerateError) we set a flag (TriggerError). Every
production checks that flag and calls YYERROR if it is set. Additionally,
each call to ThrowException in the grammar is replaced with GEN_ERROR
which calls GenerateError and then YYERROR immediately. This prevents
the remaining production from continuing after an error condition.

llvm-svn: 29763
2006-08-18 08:43:06 +00:00
Reid Spencer
8245e5bde1 For PR872:
Shrinkify LLVM's footprint by removing the analyze tool and moving its
functionality into the opt tool. THis eliminates one of the largest tools
from LLVM and doesn't make opt much bigger because it already included
most of the analysis passes.  To get the old analyze functionality pass
the -analyze option to opt. Note that the integeration here is dead
simple. The "main" of analyze was just copied to opt and invoked if the
-analyze option was given. There may be opportunities for further
integration such as removing the distinction between transform passes
and analysis passes.

To use the analysis functionality, if you previously did this:
  analyze $FNAME -domset -disable-verify
you would now do this:
  opt -analyze $FNAME -domset -disable-verify
Pretty simple.

llvm-svn: 29762
2006-08-18 06:34:30 +00:00
Chris Lattner
9c89e09297 Temporarily xfail this test, evan will look at it in a week or so.
llvm-svn: 29760
2006-08-18 00:18:38 +00:00
Patrick Jenkins
8a8893471f Changing the format dejagnu tests are submitted. We used to only submit multisource information for pass fail. Now we submit all pass/fail test information. This should fix the issue where some results were not being reported.
llvm-svn: 29757
2006-08-17 22:11:03 +00:00
Chris Lattner
db290f7479 Constify some methods. Patch provided by Anton Vayvod, thanks!
llvm-svn: 29756
2006-08-17 22:00:08 +00:00
Chris Lattner
9fbf5a233e fit in 80 cols
llvm-svn: 29754
2006-08-17 18:51:28 +00:00
Chris Lattner
cfb178122c minor cleanups
llvm-svn: 29753
2006-08-17 18:49:52 +00:00
Chris Lattner
f92824aa27 Revert this patch, the front-end has been fixed to make it unneccesary.
llvm-svn: 29752
2006-08-17 18:43:24 +00:00
Chris Lattner
989f26b766 'g' is handled by the front-end.
llvm-svn: 29751
2006-08-17 18:12:28 +00:00
Andrew Lenharth
e720e5c444 Fix handling of 'g'. Closes 883
llvm-svn: 29750
2006-08-17 17:50:12 +00:00
Rafael Espindola
ff879761c1 add a "load effective address"
llvm-svn: 29748
2006-08-17 17:09:40 +00:00
Andrew Lenharth
bea8a84eb1 Add the 'c' constraint as needed by the linux kernel
llvm-svn: 29747
2006-08-17 16:07:50 +00:00
Andrew Lenharth
7fdc3bbbcf Add support for S and D constraints, as needed to compile the linux kernel.
llvm-svn: 29746
2006-08-17 15:35:43 +00:00
Chris Lattner
09354b923d Fix validation problem
llvm-svn: 29745
2006-08-17 03:26:50 +00:00
Chris Lattner
1a152b05e6 remove IRC transcript. Anything still misunderstood after the faq is read
can be added to the faq.

llvm-svn: 29744
2006-08-17 03:25:07 +00:00
Chris Lattner
a2eba83561 switch the SUnit pred/succ sets from being std::sets to being smallvectors.
This reduces selectiondag time on kc++ from 5.43s to 4.98s (9%).  More
significantly, this speeds up the default ppc scheduler from ~1571ms to 1063ms,
a 33% speedup.

llvm-svn: 29743
2006-08-17 00:09:56 +00:00
Evan Cheng
474e530383 Another cyclic dag test case.
llvm-svn: 29742
2006-08-17 00:00:46 +00:00
Evan Cheng
33c5017ffb Doh. Incorrectly inverted condition. Also add a isOnlyUse check to match tablegen.
llvm-svn: 29741
2006-08-16 23:59:00 +00:00
Chris Lattner
62b0dcb385 minor changes.
llvm-svn: 29740
2006-08-16 22:57:46 +00:00
Chris Lattner
c0e2997872 add an accessor
llvm-svn: 29739
2006-08-16 22:57:08 +00:00
Patrick Jenkins
de01f0e1c2 My last commit added some experimental features I have been working on. This commit rolls those back.
llvm-svn: 29738
2006-08-16 22:32:20 +00:00
Patrick Jenkins
ca80c08de2 Changed the call to countloc.sh so that the correct topdirectory of the llvm build is set.
llvm-svn: 29736
2006-08-16 22:18:41 +00:00
Chris Lattner
1e0b221fb2 Convert vector to smallvector: 4% speedup.
llvm-svn: 29735
2006-08-16 22:12:48 +00:00
Chris Lattner
402986c13f silence a warning.
llvm-svn: 29734
2006-08-16 22:09:24 +00:00
Bill Wendling
60a06735c6 Added my home web page.
llvm-svn: 29732
2006-08-16 21:18:56 +00:00
Chris Lattner
c1654416d6 Change the use_list to be a smallvector instead of a vector. This reduces
isel time from 6.79s to 5.53s (22%) on kc++ with a release build on ppc.
Go smallvector! :)

llvm-svn: 29731
2006-08-16 21:01:10 +00:00
Chris Lattner
841e7fbac4 Use the appropriate typedef
llvm-svn: 29730
2006-08-16 20:59:32 +00:00