llvm-project/llvm/utils
David Greene fb927af24f 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
..
FileCheck Make SMDiagnostic a little more sane. Instead of passing around note/warning/error as a 2011-10-16 05:43:57 +00:00
FileUpdate Put targets on folders, if the IDE supports the feature. 2011-02-20 22:06:10 +00:00
KillTheDoctor Remove dead code. Improve llvm_unreachable text. Simplify some control flow. 2012-02-19 11:37:01 +00:00
Misc
PerfectShuffle In r131488 I misunderstood how VREV works. It splits the vector in half and splits each half. Therefore, the real problem was that we were using a VREV64 for a 4xi16, when we should have been using a VREV32. 2011-05-18 06:42:21 +00:00
TableGen Declare register classes as const. Fix a couple pointers to register classes that weren't already const. 2012-02-22 07:28:11 +00:00
Target/ARM McARM: Write a silly Python script to compute some hard coded info from the 2011-01-11 19:06:26 +00:00
bugpoint
buildit Remove broken command to copy tblgen tool. 2011-12-22 22:12:40 +00:00
count Put targets on folders, if the IDE supports the feature. 2011-02-20 22:06:10 +00:00
crosstool
emacs Add Foreach Loop 2012-02-22 16:09:41 +00:00
fpcmp Merge System into Support. 2010-11-29 18:16:10 +00:00
git
jedit
json-bench Changes the JSON parser to use the SourceMgr. 2011-12-21 18:16:39 +00:00
kate syntax-highlighting: Fix module asm keyword. 2010-10-09 15:44:36 +00:00
lint
lit This is a small patch with a couple of improvements for running lit with --debug: 2012-02-06 23:34:52 +00:00
llvm-build build/unittests: Fix llvm-config names for gtest libraries, and bring Makefile 2011-12-15 23:35:08 +00:00
llvm-lit Use $(ECHOPATH) to make llvm-lit from llvm-lit.in. 2011-03-08 12:25:19 +00:00
not Put targets on folders, if the IDE supports the feature. 2011-02-20 22:06:10 +00:00
release Support a 'final' release candidate tag. 2011-11-28 11:45:10 +00:00
unittest Help GCC along with code that's actually unreachable. 2012-01-22 01:17:04 +00:00
valgrind valgrind: Suppress glibc's optiized strcasecmp harder. 2011-09-03 17:59:31 +00:00
vim Add Foreach Loop 2012-02-22 16:09:41 +00:00
DSAclean.py
DSAextract.py Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
GenLibDeps.pl Fix typo in generated HTML. 2011-03-31 00:23:57 +00:00
GetRepositoryPath utils: Add GetRepositoryPath script, patch by Jonathan Mulder! 2010-09-29 17:57:01 +00:00
GetSourceVersion GetSourceVersion: Strip off svninfo extra markers, which aren't really part of the version. 2010-09-29 19:30:17 +00:00
LLVMBuild.txt LLVMBuild: Introduce a common section which currently has a list of the 2011-12-12 22:45:54 +00:00
Makefile utils: Kill NewNightlyTest.pl, which has been replaced by LNT (as far as I know). 2012-02-15 19:24:11 +00:00
UpdateCMakeLists.pl
check-each-file
clang-parse-diagnostics-file Rename show-diagnostics to something less ambiguous. 2011-11-02 00:44:16 +00:00
codegen-diff
countloc.sh
findmisopt Convert a bunch of uses of 'bytecode' into 'bitcode'. This 2010-09-29 20:09:55 +00:00
findoptdiff Convert a bunch of uses of 'bytecode' into 'bitcode'. This 2010-09-29 20:09:55 +00:00
findsym.pl
getsrcs.sh
lldbDataFormatters.py Add an LLDB data formatter script for llvm::SmallVector, maybe this is helpful to someone else. 2012-01-17 14:52:12 +00:00
llvm-compilers-check Replace the old --with-cxx-* configure options with a single --with-gcc-toolchain 2012-02-03 00:59:30 +00:00
llvm-native-gcc Convert a bunch of uses of 'bytecode' into 'bitcode'. This 2010-09-29 20:09:55 +00:00
llvm-native-gxx Convert a bunch of uses of 'bytecode' into 'bitcode'. This 2010-09-29 20:09:55 +00:00
llvm.grm Extend Attributes to 64 bits 2012-01-20 17:56:17 +00:00
llvmdo
llvmgrep Use -H on darwin as well. 2012-01-26 22:06:23 +00:00
makellvm
profile.pl Rename profile_rt.so to libprofile_rt.so under configure+make (it already was 2011-04-29 02:12:06 +00:00
test_debuginfo.pl Fix typo in temp. script file name. 2010-09-13 21:23:17 +00:00