1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
Commit Graph

74 Commits

Author SHA1 Message Date
David Greene
7cabd2e787 Add Foreach Loop
Add some data structures to represent for loops.  These will be
referenced during object processing to do any needed iteration and
instantiation.

Add foreach keyword support to the lexer.

Add a mode to indicate that we're parsing a foreach loop.  This allows
the value parser to early-out when processing the foreach value list.

Add a routine to parse foreach iteration declarations.  This is
separate from ParseDeclaration because the type of the named value
(the iterator) doesn't match the type of the initializer value (the
value list).  It also needs to add two values to the foreach record:
the iterator and the value list.

Add parsing support for foreach.

Add the code to process foreach loops and create defs based
on iterator values.

Allow foreach loops to be matched at the top level.

When parsing an IDValue check if it is a foreach loop iterator for one
of the active loops.  If so, return a VarInit for it.

Add Emacs keyword support for foreach.

Add VIM keyword support for foreach.

Add tests to check foreach operation.

Add TableGen documentation for foreach.

Support foreach with multiple objects.

Support non-braced foreach body with one object.

Do not require types for the foreach declaration.  Assume the iterator
type from the iteration list element type.

llvm-svn: 151164
2012-02-22 16:09:41 +00:00
David Greene
ae3329d597 Remove Multidefs
Multidefs are a bit unwieldy and incomplete.  Remove them in favor of
another mechanism, probably for loops.

Revert "Make Test More Thorough"
Revert "Fix a typo."
Revert "Vim Support for Multidefs"
Revert "Emacs Support for Multidefs"
Revert "Document Multidefs"
Revert "Add a Multidef Test"
Revert "Update Test for Multidefs"
Revert "Process Multidefs"
Revert "Parser Multidef Support"
Revert "Lexer Support for Multidefs"
Revert "Add Multidef Data Structures"

llvm-svn: 141378
2011-10-07 18:25:05 +00:00
David Greene
479bee70de Vim Support for Multidefs
Add vim highlighting support for multidefs.

llvm-svn: 141238
2011-10-05 22:42:52 +00:00
Bruno Cardoso Lopes
e6f1f6158f Update uwtable vim color!
llvm-svn: 137806
2011-08-17 02:29:07 +00:00
Dan Gohman
3200547546 Enable clang autocompletion by default.
llvm-svn: 117415
2010-10-26 23:24:54 +00:00
Che-Liang Chiou
0eaf890a31 Add ret instruction to PTX backend
llvm-svn: 114788
2010-09-25 07:46:17 +00:00
Dan Gohman
a936c04eeb Remove a TODO comment; this is now filed in bugzilla (PR8005).
llvm-svn: 112982
2010-09-03 18:06:11 +00:00
Dan Gohman
d499f5cbb9 Remove obsolete keywords which are no longer relevant.
llvm-svn: 112382
2010-08-28 20:14:05 +00:00
Dan Gohman
d8226c08e0 Remove unions from the vim syntax highlighting.
llvm-svn: 112381
2010-08-28 20:11:28 +00:00
Dan Gohman
f6ecd7a378 Clarify a comment.
llvm-svn: 112266
2010-08-27 15:16:40 +00:00
Dan Gohman
c285419f99 Parse " (Hidden)" and cope with it.
llvm-svn: 112265
2010-08-27 15:16:09 +00:00
Dan Gohman
d6ec79c6e8 Default to looking for clang++ in the PATH, rather than trying to
guess a path that will work.

llvm-svn: 112264
2010-08-27 15:15:31 +00:00
Dan Gohman
478e9347be Experimental clang-based code-completion support for vim. This currently
depends on some clang patches which are not yet upstream.

llvm-svn: 112204
2010-08-26 18:12:22 +00:00
Owen Anderson
b751d2944b Make un-named values legible in certain vim configurations.
llvm-svn: 109772
2010-07-29 17:57:57 +00:00
Dan Gohman
1ff9041de3 Fix grammaro in a comment.
llvm-svn: 97273
2010-02-26 21:45:37 +00:00
Dan Gohman
b11358e410 Add Revision keywords to these files, as it's common for them to be
copied out of the source tree.

llvm-svn: 97270
2010-02-26 21:38:04 +00:00
Dan Gohman
dd31f278cd Improve the vim code for highlighting trailing whitespace and lines
longer than 80 columns. This replaces the heavy-handed "textwidth"
mechanism, and makes the trailing-whitespace highlighting lazy so
that it isn't constantly jumping on the user during typing.

llvm-svn: 97267
2010-02-26 21:24:46 +00:00
Dan Gohman
e0b54b7692 Add the alignstack keyword.
llvm-svn: 97264
2010-02-26 21:16:17 +00:00
Dan Gohman
adbee18064 Remove bogus Updated line.
llvm-svn: 97263
2010-02-26 21:15:49 +00:00
Dan Gohman
ab316457bb Add the union keyword.
llvm-svn: 97155
2010-02-25 18:17:58 +00:00
Jakob Stoklund Olesen
83ebc265b3 Reintroduce the InlineHint function attribute.
This time it's for real! I am going to hook this up in the frontends as well.

The inliner has some experimental heuristics for dealing with the inline hint.
When given a -respect-inlinehint option, functions marked with the inline
keyword are given a threshold just above the default for -O3.

We need some experiments to determine if that is the right thing to do.

llvm-svn: 95466
2010-02-06 01:16:28 +00:00
Eric Christopher
3c5d9dc0e3 Remove the InlineHint attribute. There are no current or planned
users.

llvm-svn: 93558
2010-01-15 21:36:30 +00:00
Dan Gohman
123aee69c0 Tighten up the vim LLVM IR syntax highlighting regex for labels, and add a
highlighting rule for identifiers.

llvm-svn: 93056
2010-01-09 17:22:48 +00:00
Dan Gohman
03fedbe06b Set the vim auto-indent setting for open braces after case statements to
follow LLVM source convention.

Before:
  case X: {
            stuff;
          }

After:
  case X: {
    stuff;
  }

llvm-svn: 93055
2010-01-09 17:15:21 +00:00
Dan Gohman
3f9f33080a Add indirectbr and blockaddress to the vim syntax highlighting file.
llvm-svn: 85451
2009-10-29 00:14:44 +00:00
Dale Johannesen
f90fc6544b Add an 'inline hint' attribute to represent source
code hints that it would be a good idea to inline
a function ("inline" keyword).  No functional change
yet; FEs do not emit this and inliner does not use it.

llvm-svn: 80063
2009-08-26 01:08:21 +00:00
Dan Gohman
35653dafe5 Add new function attribute keywords to the vim syntax.
llvm-svn: 78205
2009-08-05 16:38:48 +00:00
Dan Gohman
b8e8e75942 vim syntax highlighting for inbounds keyword.
llvm-svn: 77260
2009-07-27 21:54:51 +00:00
Dan Gohman
b54d8949bd Add new keywords to the vim syntax highlighting.
llvm-svn: 76812
2009-07-22 22:45:50 +00:00
Dan Gohman
aa63f9763f Add the private keyword to the VIM syntax highlighting.
llvm-svn: 76134
2009-07-17 01:06:53 +00:00
Dan Gohman
5f6f8101d5 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

llvm-svn: 72897
2009-06-04 22:49:04 +00:00
Duncan Sands
b27c523449 It makes no sense to have a ODR version of common
linkage, so remove it.

llvm-svn: 66690
2009-03-11 20:14:15 +00:00
Duncan Sands
aadb34c357 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.

llvm-svn: 66650
2009-03-11 08:08:06 +00:00
Duncan Sands
5ab54d488f 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.

llvm-svn: 66339
2009-03-07 15:45:40 +00:00
Dan Gohman
3d8c8dfe0e Fix a missing word.
llvm-svn: 62720
2009-01-21 21:54:44 +00:00
Dan Gohman
6c518dd2c6 Versions of VIM included with Intrepid and Leopard at least appear
to handle symlinks just fine, so reword the instructions in the
README accordingly.

llvm-svn: 62719
2009-01-21 21:52:42 +00:00
Dan Gohman
ef099b9d6c 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.

llvm-svn: 62718
2009-01-21 21:47:51 +00:00
Dan Gohman
e9724624b7 Only set cindent for C and C++ source files.
llvm-svn: 62717
2009-01-21 21:30:25 +00:00
Misha Brukman
abc60e4b7d Use VIM's built-in shorthand for whitespace in regex.
llvm-svn: 61906
2009-01-08 02:17:30 +00:00
Dan Gohman
8a7744e746 Add the keyword 'default'.
llvm-svn: 61710
2009-01-05 17:44:11 +00:00
Dan Gohman
4a19de5ef2 gc is not an obsolete keyword.
llvm-svn: 61670
2009-01-05 03:22:02 +00:00
Dan Gohman
f378da5ac4 The .llx suffix is obsolete.
llvm-svn: 61647
2009-01-04 23:10:00 +00:00
Dan Gohman
aeecc94d42 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

llvm-svn: 61646
2009-01-04 23:09:38 +00:00
Dan Gohman
7343641ae4 Set a few more vimrc indentation options.
llvm-svn: 61628
2009-01-04 18:59:55 +00:00
Dan Gohman
690954f68f Use softtabstop instead of redefining tabstop.
llvm-svn: 61618
2009-01-04 00:05:43 +00:00
Dan Gohman
7aee4c1d99 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.

llvm-svn: 61617
2009-01-04 00:03:54 +00:00
Misha Brukman
4d9a998dbc 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

llvm-svn: 61582
2009-01-02 16:26:14 +00:00
Bill Wendling
2e2dab8423 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!

llvm-svn: 50319
2008-04-27 09:44:10 +00:00
Dan Gohman
f5b35ce0f9 Update this file for 2.0 syntax.
llvm-svn: 46512
2008-01-29 12:35:50 +00:00
Reid Spencer
d06abd82a2 Remove blank line at end of file, removing test user "foo" from CVS history.
llvm-svn: 29623
2006-08-11 19:42:11 +00:00