Commit Graph

7564 Commits

Author SHA1 Message Date
Misha Brukman
cfd67c96dc * Use alloca() to force GCC not to eliminate frame pointer
* Break apart saving and restoring registers into separate functions
* Instead of saving single and double FP registers, just save the double
  registers -- aliasing helps preserve the single FP registers as well.
* Request just as much memory for a stub as we actually use


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8200 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-29 04:22:54 +00:00
Chris Lattner
7905a6e561 NEw testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8199 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-29 00:29:55 +00:00
Chris Lattner
77e94d645b New testcase, not only possible of causing compilation failures, but could
also cause miscompilations!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8198 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-29 00:03:45 +00:00
Misha Brukman
85544baf54 Renaming dis' -> llvm-dis'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8197 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 22:14:16 +00:00
Chris Lattner
b3ceec2117 Document the llvm.unwind intrinsic.
Clarify the documentation for the invoke instruction


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8196 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 22:12:25 +00:00
Misha Brukman
a0a0a03946 Renaming as' -> llvm-as' and dis' -> llvm-dis'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8195 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 22:02:50 +00:00
Misha Brukman
82086a5894 Near-term fix for renaming as' -> llvm-as' and dis' -> llvm-dis'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8194 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 21:46:34 +00:00
Misha Brukman
a86b04246a Start using llvm-as' instead of as'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8193 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 21:45:08 +00:00
Misha Brukman
231d64dd08 Build llvm-as and llvm-dis as the upgrade path to renamed tools.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8192 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 21:43:51 +00:00
John Criswell
c9afb499f6 Fixed two double free bugs that caused llc to segfault or run forever.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8191 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 21:43:17 +00:00
John Criswell
b5d09bf4cc Added code to avoid checking for .bc when the filename is too short.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8190 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 21:42:29 +00:00
Misha Brukman
ad0bf0fc0c Renaming LLVM dis' to llvm-dis'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8189 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 21:34:13 +00:00
Misha Brukman
cbb62dd6b7 Renaming LLVM as' to llvm-as'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8188 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 21:32:57 +00:00
Chris Lattner
aeb54b882c Add support for the llvm.unwind intrinsic, which we codegen to just do an abort
until we implement unwinding.
Add support for the invoke instruction, which codegens just like a call with
a branch after it.

The end effect of this change is that programs using the invoke instruction,
but never unwinding, will work fine.  Programs that unwind will abort until
we get unwind support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8187 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 21:23:43 +00:00
Chris Lattner
81f0dbdc23 Add another testcase I found lying around.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8186 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 20:33:46 +00:00
Chris Lattner
206c7d029d Add test for the last chapter of our C++ exception handling odyssey. llvmg++
now fully supports all C++ exception handling functionality.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8185 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 20:32:36 +00:00
Chris Lattner
b40d5e7d94 * Add proper support for rethrown exceptions.
* Make catch_begin() produce a pointer that must be passed to catch_end()
* Eliminate the caught exception stack.
* Add optional debugging code that may be turned on.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8184 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 19:58:51 +00:00
Chris Lattner
902d580bd9 New testcases, all of which work with llvmg++!
This tests exception specifications, and also adds an "easy" rethrow test.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8183 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 19:57:53 +00:00
Chris Lattner
8df6bddd01 Link to the C++ libraries. This is temporary
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8182 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 19:57:14 +00:00
Chris Lattner
fd04561e1b Fix really nasty bugs in the CWriter, handling invoke instructions. Tracking
these down was NOT phun.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8181 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 19:56:10 +00:00
Tanya Lattner
3b6b6ba4be Removing README
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8180 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 17:17:59 +00:00
Tanya Lattner
4f839ccf49 Putting my revised version of ModuloScheduling in cvs. This is not complete...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8179 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 17:12:14 +00:00
Chris Lattner
841e00b962 Fix bug where we considered function types equivalent even if they had differing numbers of arguments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8178 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 16:42:50 +00:00
Chris Lattner
a55c4b1ce7 Reorder #includes
Make sure that we veryify the result before writing it out!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8177 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 16:25:34 +00:00
Tanya Lattner
f68b8a2dee Moved index in BB to common graph class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8175 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 15:31:28 +00:00
Tanya Lattner
8dc9982e2e Moved index into BB to common graph class because its needed by ModuloSchedGraph.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8174 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 15:30:40 +00:00
Tanya Lattner
14baebf4ee First version of llvm-ar added to cvs repository.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8173 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 15:22:38 +00:00
Chris Lattner
82d222faaa Convert C comments to C++
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8172 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 14:43:36 +00:00
Chris Lattner
37459033f9 New wrapper around the terminate call.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8171 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 14:35:52 +00:00
Chris Lattner
f4b319d356 Squelch warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8170 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 14:35:12 +00:00
Chris Lattner
0028b2cdbc Be more typesafe
Call terminate and unexpected where appropriate.
Interface to libstdc++ as appropriate
Initial cut at implementing function exception specifications


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8169 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-27 23:00:11 +00:00
Chris Lattner
d289ed5615 Be more type-safe, add throw specs to all functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8168 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-27 22:59:15 +00:00
Chris Lattner
7a37fa7e28 Add throw specs to the functions, remove (void) from the functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8167 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-27 22:58:51 +00:00
Chris Lattner
0e807bd26b Hack out libexception temporarily until the Sparc FE is improved
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8166 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-27 22:18:23 +00:00
Chris Lattner
ff7dcb0234 Move the testcase elsewhere
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8165 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-27 19:06:04 +00:00
Chris Lattner
bb3dd47d8f Refactor code slightly. Make code compiled with llvmgcc use the warning options
as well.  Compile with -fshort-enums whether in debug or release mode, because it breaks the ABI


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8164 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-27 18:26:44 +00:00
Misha Brukman
88d942d898 Spell `incompatible' correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8163 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-27 18:26:28 +00:00
Chris Lattner
2917ea11c3 New testcase. Unfortunately, native GCC gets this wrong. Someday we will have to figure out how to deal with this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8162 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-27 18:19:53 +00:00
Tanya Lattner
d04087cce6 *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8161 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-27 15:52:23 +00:00
Tanya Lattner
d6d863392f Added/removed header file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8160 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-27 15:12:24 +00:00
John Criswell
96b4beda5c Added an option to TableGen that allows users to specify a directory in which
to find include files.  TableGen will load include files from this directory if
it cannot find them in the current directory.
This feature was needed for building code inside the object tree (a la autoconf
style).
TODO: Allow for multiple -I options to specify a list of directories to search.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8159 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-27 13:41:57 +00:00
Chris Lattner
065c0b95a3 New testcases, which WORK with LLVMG++ and the CBE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8158 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-27 04:57:33 +00:00
Chris Lattner
5eb7939057 Fix several _killer_ bugs. This now actually WORKS for really complex testcases :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8157 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-27 04:51:26 +00:00
Chris Lattner
5cf1199059 C++ify, add new get_cxx_exception function to convert from generic llvm_exceptions to llvm_cxx_exception's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8156 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-27 04:50:45 +00:00
Chris Lattner
c2c70fa79e Remove Cisms. We love C++
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8155 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-27 04:50:12 +00:00
Tanya Lattner
1796cb7fbc Cleaned up the code (spacing, not needed headers) and changed ostream function. Also made some functions inline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8154 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-27 02:45:08 +00:00
Tanya Lattner
c50ee556e5 *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8153 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-27 02:42:58 +00:00
Chris Lattner
99b28e632f Fix bug: SCCP/2003-08-26-InvokeHandling.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8152 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-27 01:08:35 +00:00
Chris Lattner
5464da982f New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8151 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-27 01:05:19 +00:00
Chris Lattner
23b9b05fd3 Add new __llvm_cxxeh_begin_catch_if_isa function, change C -> C++ comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8150 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-26 23:46:53 +00:00