Commit Graph

3109 Commits

Author SHA1 Message Date
Jim Grosbach
1b747ad8a0 SjLj based exception handling unwinding support. This patch is nasty, brutish
and short. Well, it's kinda short. Definitely nasty and brutish.

The front-end generates the register/unregister calls into the SjLj runtime,
call-site indices and landing pad dispatch. The back end fills in the LSDA
with the call-site information provided by the front end. Catch blocks are
not yet implemented.

Built on Darwin and verified no llvm-core "make check" regressions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78625 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-11 00:09:57 +00:00
Devang Patel
468857f22f Clarify limitations of a ModulePass requiring a FunctionPass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78566 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-10 16:37:29 +00:00
Daniel Dunbar
c3c9239d76 Add DEBUG_WITH_TYPE as a clean alternative to tweaking DEBUG_TYPE.
This:
--
#undef DEBUG_TYPE
#define DEBUG_TYPE "foo"
DEBUG(...)
#undef DEBUG_TYPE
#define DEBUG_TYPE ""
--
becomes this:
--
DEBUG_WITH_TYPE("foo", ...)
--


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78435 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-07 23:48:59 +00:00
Anton Korobeynikov
2bc8ef164c Add note about msys perl needed for windows/mingw32 builds.
Patch by John Thompson!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78304 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06 12:54:58 +00:00
Benjamin Kramer
e15192b36b Documentation: fix HTML validation errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78196 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05 15:42:44 +00:00
Chris Lattner
cd81f5df27 common globals may also not be marked constant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78169 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05 05:41:44 +00:00
Chris Lattner
26d054d903 Clarify common linkage and the requirements on it. Enforce
them in the verifier.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78160 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05 05:21:07 +00:00
Edward O'Callaghan
37442b77d8 Minor www site formating improvements.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78054 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-04 05:24:28 +00:00
Benjamin Kramer
e6864c1d35 Remove duplicated colons and spaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77892 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-02 12:13:02 +00:00
Chris Lattner
b6d667403f remove the dead PreferredEHDataFormat TAI hook: its now dead
even considering #if 0 code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77856 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-02 04:02:52 +00:00
Chris Lattner
d7f10d3361 add a note about the build bots
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77796 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-01 19:25:25 +00:00
Owen Anderson
a7235ea724 Move a few more APIs back to 2.5 forms. The only remaining ones left to change back are
metadata related, which I'm waiting on to avoid conflicting with Devang.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77721 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-31 20:28:14 +00:00
Owen Anderson
debcb01b0f Move types back to the 2.5 API.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77516 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29 22:17:13 +00:00
Dan Gohman
0a28d18cd4 Add one-past-the-end language to the inbounds keyword.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77460 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29 16:00:30 +00:00
Chris Lattner
c8eef440f6 some wording changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77443 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29 06:44:13 +00:00
Chris Lattner
f21f85a0a7 link to a newer preso
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77440 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29 06:19:14 +00:00
Andreas Bolka
55e459aa75 Fix a few typos and add links.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77403 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29 00:02:05 +00:00
Chris Lattner
9eb7e0aa57 discourage else after "noreturn" statements.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77387 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-28 22:54:04 +00:00
Dan Gohman
dd8004dc73 Add a new keyword 'inbounds' for use with getelementptr. See the
LangRef.html changes for details.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77259 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-27 21:53:46 +00:00
Owen Anderson
6f83c9c6ef Move ConstantFP construction back to the 2.5-ish API.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77247 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-27 20:59:43 +00:00
Andreas Bolka
99a8205ae3 Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77244 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-27 20:37:10 +00:00
Dan Gohman
556ca272fb Following discussion on llvm-dev ("proposed new rule for getelementptr"),
add a new "Pointer Aliasing Rules" section.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77216 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-27 18:07:55 +00:00
Daniel Dunbar
d6b06b1f36 Update target registration description in Writing An LLVM Backend, and add
a mention in release notes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77128 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-26 05:41:39 +00:00
Daniel Dunbar
a5881e3060 Add TargetRegistry::lookupTarget.
- This is a simplified mechanism which just looks up a target based on the
   target triple, with a few additional flags.

 - Remove getClosestStaticTargetForModule, the moral equivalent is now:
     lookupTarget(Mod->getTargetTriple, true, false, ...);

 - This no longer does the fuzzy matching with target data (based on endianness
   and pointer width) that getClosestStaticTargetForModule was doing, but this
   was deemed unnecessary.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77111 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-26 02:12:58 +00:00
Daniel Dunbar
03d7651c36 Remove Value::{isName, getNameRef}.
Also, change MDString to use a StringRef.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77098 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-25 23:55:21 +00:00
Chris Lattner
dced9fb219 eventually we should describe string options in the data structures section
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77054 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-25 07:22:20 +00:00
Chris Lattner
81187ae82a minor tweaks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77053 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-25 07:16:59 +00:00
Daniel Dunbar
8b5ee823c2 Ok, "most clients should be unaffected" was a lie. Add notes on upgrading.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77050 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-25 05:26:53 +00:00
Daniel Dunbar
6e0d1cb309 Initial update to VMCore to use Twines for string arguments.
- The only meat here is in Value.{h,cpp} the rest is essential 'const
   std::string &' -> 'const Twine &'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77048 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-25 04:41:11 +00:00
Dan Gohman
4df605ba46 Update to new syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77043 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-25 02:23:48 +00:00
Daniel Dunbar
06388ae52d Rewrite examples to use DEBUG instead of DOUT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77042 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-25 01:55:32 +00:00
Daniel Dunbar
26fe866cec Tweak, raw_ostream is a ostream, not iostream replacement
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77017 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-24 23:54:34 +00:00
Daniel Dunbar
e8530a3d8c CodingStandards: Emphasize use of raw_ostream more.
- Chris, please approve.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77010 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-24 23:04:51 +00:00
Dan Gohman
d2cb3d2c32 Remove the IA-64 backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76920 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-24 00:30:09 +00:00
Dan Gohman
08d012eba4 Rename the new unsigned and signed keywords to nuw and nsw,
which stand for no-unsigned-wrap and no-signed-wrap.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76810 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 22:44:56 +00:00
Sanjiv Gupta
d7de7bc297 Added -b option to override the default bitcode output file name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76768 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 18:41:45 +00:00
Chris Lattner
59fec6a532 fix some wording problems Daniel pointed out, make a example actually real.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76751 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 16:54:14 +00:00
Chris Lattner
71d8f3b9e4 fix typo noticed by Duncan
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76747 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 16:30:39 +00:00
Chris Lattner
219bd29c05 remove Bill from the author list: his contribution (describing llvm::Ostream
and friends) has been removed awhile ago.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76724 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 05:43:01 +00:00
Chris Lattner
d283cb12f2 add some more topics to the coding standards doc:
* Use Early Exits and 'continue' to Simplify Code
* Turn Predicate Loops into Predicate Functions
* Spaces Before Parentheses
* Namespace Indentation
* Anonymous Namespaces



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76723 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 05:40:54 +00:00
Chris Lattner
d8afc46ffe fix some formatting stuff, patch by Edward O'Callaghan!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76718 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 04:21:40 +00:00
Owen Anderson
e922c02019 Get rid of the Pass+Context magic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76702 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 00:24:57 +00:00
Dan Gohman
9c5beed5f5 Misc. doc fixes following suggestions from Eli.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76699 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 00:04:19 +00:00
Chris Lattner
aedb59a541 fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76674 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 23:17:26 +00:00
Chris Lattner
3e7b5ca3b9 Various doc updates from Edward O'Callaghan!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76668 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 22:47:03 +00:00
Torok Edwin
f6fa8ae267 Add a few fairly obvious API changes I noticed while porting some old code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76636 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 20:27:10 +00:00
Dan Gohman
cbb38f2f67 Documentation for the new non-overflow and exact keywords.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76495 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-20 22:41:19 +00:00
Chris Lattner
401e10c4fb implement a new magic global "llvm.compiler.used" which is like llvm.used, but
doesn't cause ".no_dead_strip" to be emitted on darwin.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76399 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-20 06:14:25 +00:00
Chris Lattner
857755c2a5 document llvm.used and llvm.metadata. Stub out llvm.global_[cd]tors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76396 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-20 05:55:19 +00:00
Bill Wendling
987e7eb59c Rename the index to linkage types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76394 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-20 02:41:50 +00:00