Commit Graph

7573 Commits

Author SHA1 Message Date
Chris Lattner
23f3a49aec Implement "unsafe" replaceAllUsesWWith stuff for use during type resolution.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8209 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-29 05:36:46 +00:00
Chris Lattner
6ac02a9092 Allow for "unsafe" replaceAllUsesWith operatations, for use during type resolution
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8208 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-29 05:36:05 +00:00
Chris Lattner
205f9fce19 Yet ANOTHER complication that the libstdc++ library runs into linking...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8207 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-29 05:29:38 +00:00
Chris Lattner
ad217a4ca2 Fix bug: Linker/2003-08-28-TypeResolvesGlobal2.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8206 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-29 05:11:34 +00:00
Chris Lattner
2bc065b63a Refactor code to make it useful outside of Constants.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8205 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-29 05:09:37 +00:00
Chris Lattner
94949dad0c Add new method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8204 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-29 05:08:31 +00:00
Chris Lattner
38e3fd3475 Ok, the last bug fix was not good enough to fix libstdc++. Maybe this one will be
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8203 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-29 04:54:23 +00:00
Chris Lattner
652f032ce9 Fix bug: Linker/2003-08-28-TypeResolvesGlobal.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8202 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-29 04:49:54 +00:00
Chris Lattner
0c49b89298 New testcase which is preventing the linking of libstdc++
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8201 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-29 04:40:34 +00:00
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