Commit Graph

32 Commits

Author SHA1 Message Date
Ramkumar Ramachandra
218eccd638 [emacs] Get llvm-mode to font-lock "personality"
Differential Revision: http://reviews.llvm.org/D7494

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228555 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-09 00:30:03 +00:00
Rafael Espindola
3fb6dcc570 Correcting keyword highlighting in llvm-mode.el.
llvm-mode was previously confused when variable names contained keywords.
This changes ensures that keywords are only highlighted when they're standalone.

Patch by Wilfred Hughes!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228396 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-06 13:57:58 +00:00
Ramkumar Ramachandra
ae597a058a [emacs] llvm-mode: fix parens, font-lock i*
In llvm-mode, with electric-pair-mode turned on, typing a literal '['
would print out '[[', and '(' would print a '(('. This was a very
annoying bug caused by overzealous syntax-table entries: the parens are
already part of the '(' and ')' class by default. Fix this.

While at it, notice that i32, i64, i1 etc. are not font-locked despite a
clear intent to do so. The issue is that regexp-opt doesn't accept
regular expressions. So, spell out the common literal integers with
different widths.

Differential Revision: http://reviews.llvm.org/D7036

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226931 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-23 19:45:35 +00:00
Duncan P. N. Exon Smith
f416d72973 IR: Add 'distinct' MDNodes to bitcode and assembly
Propagate whether `MDNode`s are 'distinct' through the other types of IR
(assembly and bitcode).  This adds the `distinct` keyword to assembly.

Currently, no one actually calls `MDNode::getDistinct()`, so these nodes
only get created for:

  - self-references, which are never uniqued, and
  - nodes whose operands are replaced that hit a uniquing collision.

The concept of distinct nodes is still not quite first-class, since
distinct-ness doesn't yet survive across `MapMetadata()`.

Part of PR22111.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225474 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-08 22:38:29 +00:00
Rafael Espindola
1763c0ad7f Improvements to emacs packages for llvm and tablegen mode.
* Both files have valid package headers and footers (you can verify
with M-x checkdoc).
* Fixed style warnings generated by checkdoc.
* Fixed a byte-compiler warning in llvm-mode.el.
* Ensure that the modes are autoloaded, so users do not need to
(require 'llvm-mode) to use them.

Patch by Wilfred Hughes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225356 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-07 15:52:51 +00:00
Duncan P. N. Exon Smith
7838818ad7 IR: Implement uselistorder assembly directives
Implement `uselistorder` and `uselistorder_bb` assembly directives,
which allow the use-list order to be recovered when round-tripping to
assembly.

This is the bulk of PR20515.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216025 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-19 21:30:15 +00:00
Matt Arsenault
59d3ae6cdc Add addrspacecast instruction.
Patch by Michele Scandale!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194760 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-15 01:34:59 +00:00
Matt Arsenault
0ea3ce91af Update emacs llvm mode.
It seems this hasn't been done in a while.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194650 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-14 02:03:02 +00:00
Bill Wendling
3f91af0e5a Remove 'deplibs' keyword, since it's no longer used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169116 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-03 06:34:06 +00:00
Michael Ilseman
1854e1455a Update the emacs mode to recognize fadd, fsum, fmul, fdiv, frem, fcmp, icmp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169064 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-01 00:42:27 +00:00
Misha Brukman
7e28460ee9 Using regexp-opt for keyword regex declarations makes the word lists more
readable and easier to edit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114308 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-19 03:44:22 +00:00
Chris Lattner
349d8489b2 .llx is no more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91784 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-19 20:56:53 +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
Anton Korobeynikov
a98c7b3b24 Update this file for 2.0 syntax. Contributed by Jan Rehders
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43182 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 16:54:13 +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
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
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
7f12bbbc92 * Add `deplibs' keyword for specifying a list of dependent libraries
* Convert tabs to spaces


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16558 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-28 21:46:18 +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
98124c81fa Teach emacs about the select instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12326 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 05:54:48 +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
f9de5936a8 Syntax hilight
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8396 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-08 18:07:57 +00:00
Misha Brukman
bdb41194dd * Added (X)Emacs mode for TableGen description files
* Added README that describes how to use the mode files
* Associated files with .llx extension with llvm-mode


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7738 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 19:10:02 +00:00
Misha Brukman
4817a5ea3d Removing personal name from source code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6558 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 00:59:24 +00:00
Misha Brukman
f77ed7afd9 Added the to' keyword as in cast <type> <data> to <type>'.
Cleaned up the header of the file (comments/description/etc).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6557 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 00:57:41 +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
2c72b184b8 Add missing keyword, add new linkage keywords
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5785 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16 20:26:11 +00:00
Misha Brukman
d9b11cf4df Added a major mode for Emacs to edit LLVM assembler code with syntax
highlighting.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4092 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-09 00:30:20 +00:00