1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
Commit Graph

14835 Commits

Author SHA1 Message Date
Reid Spencer
70a4459b3e For PR797:
Final remove of exception handling from this file. lib/System can no longer
throw exceptions so there's no need for try/catch blocks here.

llvm-svn: 29848
2006-08-23 20:37:59 +00:00
Reid Spencer
8dfa2bd161 Turn off exception handling for this library. It no longer throws nor
handles exceptions.

llvm-svn: 29847
2006-08-23 20:35:51 +00:00
Reid Spencer
71c3f66dc6 For PR797:
Final removal of exceptions from lib/System and adjustment of users to
accommodate.

llvm-svn: 29846
2006-08-23 20:34:57 +00:00
Reid Spencer
bc4c8e8ac0 For PR797:
Eliminate exception throwing from Path::renamePathOnDisk and adjust its
users correspondingly.

llvm-svn: 29843
2006-08-23 07:30:48 +00:00
Reid Spencer
de93aba128 Make the ProgramName variable a std::string so we can eliminate the path
portion fo the program name via sys::Path().getLast(). This makes error
messages more readable since this is invariably used only in error
messages.  Instead of:
  /path/to/llvm/bin/directory/toolname: error message
we will now get:
  toolname: error message
Also, since we always have a program name (even if its defaulted), don't
check to see if it is set or not when generating error messages. This
eliminates a bunch of constant strings, saving a little under 1K of data.

llvm-svn: 29842
2006-08-23 07:10:06 +00:00
Reid Spencer
0bc83e3c5e For PR797:
Remove exception throwing from Path::getDirectoryContents and its users.

llvm-svn: 29841
2006-08-23 06:56:27 +00:00
Reid Spencer
baf54399e7 For PR797:
Remove exceptions from the Path::create*OnDisk methods. Update their users
to handle error messages via arguments and result codes.

llvm-svn: 29840
2006-08-23 00:39:35 +00:00
Reid Spencer
b447bb61f3 For PR797:
Adjust code to compensate for Path class interface change.

llvm-svn: 29837
2006-08-22 23:54:35 +00:00
Reid Spencer
45120b0798 For PR797:
Change the Path::make*OnDisk methods exception free and adjust their usage.

llvm-svn: 29836
2006-08-22 23:27:23 +00:00
Reid Spencer
89a87abbff Update for changes in Path class interface for exception removal.
llvm-svn: 29834
2006-08-22 22:46:39 +00:00
Reid Spencer
353b72a7c0 Make the sys::Path::GetTemporaryDirectory method not throw exceptions and
adjust users of it to compensate.

llvm-svn: 29831
2006-08-22 19:01:30 +00:00
Chris Lattner
410c49afd3 Improve the LiveInterval class to keep track of which machine instruction
defines each value# tracked by the interval.  This will be used to improve
coallescing.

llvm-svn: 29830
2006-08-22 18:19:46 +00:00
Reid Spencer
999de6b300 Fix another occurrence of inverted logic on the result of MappedFile::map
llvm-svn: 29828
2006-08-22 18:03:02 +00:00
Reid Spencer
c9c2bf5af1 Inverse the error check logic for the MappedFile::map() call. It returns
a null pointer when there is an error.

llvm-svn: 29827
2006-08-22 17:58:50 +00:00
Reid Spencer
0c560865ef Don't throw needlessly. Failure of gettimeofday is *very* unlinkely so
just return MinTime if that should ever happen.

llvm-svn: 29826
2006-08-22 17:38:44 +00:00
Reid Spencer
2ee33a6305 For PR797:
Adjust the use of MappedFile to its new non-throwing interface. We just
propagate the exceptions if an error occurs. This will get cleaned up
later, incrementally.

llvm-svn: 29820
2006-08-22 16:10:12 +00:00
Reid Spencer
d00c37651a For PR797:
Make the Bytecode Reader use setjmp/longjump instead of exceptions to handle
errors. The alternative was even uglier than setjmp/longjump as it would
impact the interface and workings of nearly every function in the reader.

llvm-svn: 29819
2006-08-22 16:09:19 +00:00
Reid Spencer
88b3207059 For PR797:
Adjust to new interface for MappedFile. Note that the new "throw"
statements will be removed later.

llvm-svn: 29818
2006-08-22 16:07:44 +00:00
Reid Spencer
e9b9e6a6c2 For PR797:
Adjust users of MappedFile to its new non-throwing interface.  Note that in
most cases the lazy step of just throwing after a call to MappedFile was
installed. This was done in the name of incremental changes. Getting rid of
the new throw statements will take adjustment of interfaces and propagation
of errors to higher levels.  Those changes will come in subsequent patches.

llvm-svn: 29817
2006-08-22 16:06:27 +00:00
Reid Spencer
9fbfd7c399 For PR797:
Make MappedFile not throw any exceptions.

llvm-svn: 29816
2006-08-22 16:04:22 +00:00
Reid Spencer
74980b5115 For PR797:
Fix a bug in my last patch that botched file redirection by using explicit
scoping of if statements.

llvm-svn: 29815
2006-08-22 15:56:52 +00:00
Rafael Espindola
af0512fc8d add a README.txt
llvm-svn: 29814
2006-08-22 12:22:46 +00:00
Reid Spencer
0d39935a51 Make an error message a little more intelligible.
llvm-svn: 29808
2006-08-22 05:28:38 +00:00
Chris Lattner
0ef1992bd1 Print physreg names symbolically in dumps
llvm-svn: 29805
2006-08-21 23:03:54 +00:00
Chris Lattner
4a70fbdbdd Print debug info as:
*** Register mapping ***
  reg 1024 -> %reg1028
  reg 1026 -> EAX
  reg 1027 -> %reg1028

instead of:

*** Register mapping ***
  reg 1024 -> reg 1028
  reg 1026 -> reg 15
  reg 1027 -> reg 1028

llvm-svn: 29803
2006-08-21 22:56:29 +00:00
Rafael Espindola
474f6c5bf1 initial support for select
llvm-svn: 29802
2006-08-21 22:00:32 +00:00
Jim Laskey
8b477a35d4 Adding C++ member support.
llvm-svn: 29799
2006-08-21 21:20:18 +00:00
Jim Laskey
db9724d6e4 Adding new Dwarf constants.
llvm-svn: 29798
2006-08-21 21:18:10 +00:00
Chris Lattner
3d2edbbafa Fix PR861
llvm-svn: 29796
2006-08-21 20:24:53 +00:00
Chris Lattner
0ad370eeb7 Fix PR885
llvm-svn: 29794
2006-08-21 17:20:01 +00:00
Rafael Espindola
13eb38e699 add the and instruction
llvm-svn: 29793
2006-08-21 13:58:59 +00:00
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
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
Rafael Espindola
c255c4c434 call computeRegisterProperties
llvm-svn: 29780
2006-08-20 01:49:49 +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
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
1ae3d19c51 Fix a grammaro in a comment.
llvm-svn: 29765
2006-08-18 09:01:07 +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
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
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
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