Commit Graph

44 Commits

Author SHA1 Message Date
Dan Gohman
ae3a0be92e Split the Add, Sub, and Mul instruction opcodes into separate
integer and floating-point opcodes, introducing
FAdd, FSub, and FMul.

For now, the AsmParser, BitcodeReader, and IRBuilder all preserve
backwards compatability, and the Core LLVM APIs preserve backwards
compatibility for IR producers. Most front-ends won't need to change
immediately.

This implements the first step of the plan outlined here:
http://nondot.org/sabre/LLVMNotes/IntegerOverflow.txt


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72897 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04 22:49:04 +00:00
Duncan Sands
4dc2b39bf8 It makes no sense to have a ODR version of common
linkage, so remove it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66690 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-11 20:14:15 +00:00
Duncan Sands
5f4ee1fc5d Remove the one-definition-rule version of extern_weak
linkage: this linkage type only applies to declarations,
but ODR is only relevant to globals with definitions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66650 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-11 08:08:06 +00:00
Duncan Sands
667d4b8de6 Introduce new linkage types linkonce_odr, weak_odr, common_odr
and extern_weak_odr.  These are the same as the non-odr versions,
except that they indicate that the global will only be overridden
by an *equivalent* global.  In C, a function with weak linkage can
be overridden by a function which behaves completely differently.
This means that IP passes have to skip weak functions, since any
deductions made from the function definition might be wrong, since
the definition could be replaced by something completely different
at link time.   This is not allowed in C++, thanks to the ODR
(One-Definition-Rule): if a function is replaced by another at
link-time, then the new function must be the same as the original
function.  If a language knows that a function or other global can
only be overridden by an equivalent global, it can give it the
weak_odr linkage type, and the optimizers will understand that it
is alright to make deductions based on the function body.  The
code generators on the other hand map weak and weak_odr linkage
to the same thing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66339 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-07 15:45:40 +00:00
Dan Gohman
748dbc6afb Fix a missing word.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62720 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-21 21:54:44 +00:00
Dan Gohman
907532dcbb Versions of VIM included with Intrepid and Leopard at least appear
to handle symlinks just fine, so reword the instructions in the
README accordingly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62719 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-21 21:52:42 +00:00
Dan Gohman
789da2755d Enable syntax highlighting of LLVM and tablegen files by default,
so that users don't have to copy text from the README to get this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62718 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-21 21:47:51 +00:00
Dan Gohman
5e59c2768d Only set cindent for C and C++ source files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62717 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-21 21:30:25 +00:00
Misha Brukman
5539a1ecda Use VIM's built-in shorthand for whitespace in regex.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61906 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-08 02:17:30 +00:00
Dan Gohman
1ed7942e4f Add the keyword 'default'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61710 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 17:44:11 +00:00
Dan Gohman
6a9e75ec13 gc is not an obsolete keyword.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61670 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 03:22:02 +00:00
Dan Gohman
7e638cd366 The .llx suffix is obsolete.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61647 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-04 23:10:00 +00:00
Dan Gohman
5d8ab65ea4 Update VIM LLVM IR syntax highlighting.
- Add several new keywords
 - Clean up some obsolete keywords
 - Improve the patterns for constants.
 - Add syntax-highlighting for dejagnu test command comments


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61646 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-04 23:09:38 +00:00
Dan Gohman
a0741ba2cc Set a few more vimrc indentation options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61628 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-04 18:59:55 +00:00
Dan Gohman
f225d2e4d6 Use softtabstop instead of redefining tabstop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61618 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-04 00:05:43 +00:00
Dan Gohman
96eafe2d4f Switch the vimrc file from smartindent to cindent, which is
smarter about C-ish syntax, and supports the cinoptions
variable. Set cinoptions to suppress the extra indentation
for switch case labels.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61617 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-04 00:03:54 +00:00
Misha Brukman
adf4e4d06a vimrc
* Fixed cursors in terminal by setting nocompatible (sorry, vi users)
* Enable syntax highlighting so that this file can stand on its own
* Highlight trailing whitespace
* Fixed commands to delete trailing whitespaces and convert tabs to spaces

llvm.vim and tablegen.vim
* Removed trailing whitespace, as it's now very visible


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61582 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 16:26:14 +00:00
Bill Wendling
908865d90f Added support for:
- defm and multiclass
- imbricatable multiline C style comment
- FIXME/TODO highlight in comment
- binary and hexadecimal number
- code using [{ }] is no highlighted as special (perhaps not the best
choice)
Patch by Cedric Venet!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50319 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-27 09:44:10 +00:00
Dan Gohman
0e9dfb0900 Update this file for 2.0 syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46512 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-29 12:35:50 +00:00
Reid Spencer
bf49f33103 Remove blank line at end of file, removing test user "foo" from CVS history.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29623 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 19:42:11 +00:00
Reid Spencer
9dce2b3380 Convert llvm.cs.uiuc.edu -> llvm.org
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26748 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-14 05:54:52 +00:00
Chris Lattner
af26d3ea03 add support for fastcc and friends
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21979 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-13 20:40:52 +00:00
Misha Brukman
2bb550864d * Fix wording of the warning
* Add autoindent, smartindent, and smarttab options to the file


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21905 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-12 21:41:48 +00:00
Chris Lattner
653488d166 Hilight tail
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21726 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-06 06:07:34 +00:00
Misha Brukman
3d6eea518c .vimrc file to aid in LLVM coding standards conformance
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21496 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-24 17:05:04 +00:00
Test Commit
b6a0d3595b Test commit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18687 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-09 05:46:48 +00:00
Chris Lattner
4c554c589f Add support for undef and unreachable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17059 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-16 18:24:35 +00:00
Misha Brukman
137c8fb8ba Add `deplibs' keyword for specifying a list of dependent libraries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16557 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-28 21:45:54 +00:00
Misha Brukman
e38adf52c8 Add hint about syntax-highlighting non-standardly-named LLVM Makefiles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13606 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-19 21:20:40 +00:00
Misha Brukman
6cdff92daf Added `zeroinitializer' keyword.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13253 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-28 19:36:08 +00:00
Chris Lattner
ffb33a1574 Teach vim about the select instruction. Allow it to forget about the long-dead
not instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12327 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 05:55:07 +00:00
Chris Lattner
0512d02af7 Make sure to syntax hilight the 'unwind' keyword!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9524 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-27 05:09:15 +00:00
Chris Lattner
84a6f39a76 Syntax highlight the new operators
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9328 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-21 15:37:09 +00:00
Chris Lattner
2498d67158 Add support for the weak linkage specifier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9000 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-10 04:56:26 +00:00
Chris Lattner
09b47f91bd syntax highlightify
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8397 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-08 18:08:11 +00:00
Misha Brukman
dac3549191 Added keyword `include', and a FIXME for hex and binary constants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7740 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 19:14:20 +00:00
Misha Brukman
3871f05671 tablegen.vim:
* Added keyword `field'
* Keywords get different highlighting than types
* Added a simple attempt at multi-line C-style comments with FIXME

README:
* Added note about symlinking an entire directory ~/.vim/syntax


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7733 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 18:05:19 +00:00
Chris Lattner
00a61d4fd4 Add .llx
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7732 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 18:01:39 +00:00
Misha Brukman
115dc0deab Added a TableGen syntax highlighting mode for VIM and a README that describes
how to add the functionality to the user's VIM installation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7731 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 17:56:08 +00:00
Misha Brukman
5981d788f2 * Added the to' keyword, as in cast <type> <data> to <type>'.
* Gave the file a maintainer.
* Cleaned up the layout somewhat.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6556 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 00:56:09 +00:00
Chris Lattner
c567567759 Add support for new va_arg instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6026 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 02:41:11 +00:00
Chris Lattner
8ad51f5965 Update to add new keywords
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5846 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-22 19:31:55 +00:00
Chris Lattner
828b278d80 Add new linkage keywords. Spell uninitialized correctly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5784 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16 20:25:57 +00:00
Nick Hildenbrandt
75f79b9b0e LLVM syntax highlighting for VIM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4067 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 22:54:48 +00:00