oota-llvm.git
15 years agoAlphabetized #includes.
Misha Brukman [Fri, 2 Jan 2009 22:49:28 +0000 (22:49 +0000)]
Alphabetized #includes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61595 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDown with trailing whitespace!
Misha Brukman [Fri, 2 Jan 2009 22:46:48 +0000 (22:46 +0000)]
Down with trailing whitespace!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61594 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoVerifyLineLength() actually takes a max length parameter.
Misha Brukman [Fri, 2 Jan 2009 21:24:29 +0000 (21:24 +0000)]
VerifyLineLength() actually takes a max length parameter.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61593 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdded some basic lint tools for C++ and generic lint tool applicable to all
Misha Brukman [Fri, 2 Jan 2009 21:15:30 +0000 (21:15 +0000)]
Added some basic lint tools for C++ and generic lint tool applicable to all
types of files (TableGen, LLVM assembly, HTML files, etc.)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61592 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago- Make copyRegToReg use the "LR" assembler synonym for "OR". Makes finding
Scott Michel [Fri, 2 Jan 2009 20:52:08 +0000 (20:52 +0000)]
- Make copyRegToReg use the "LR" assembler synonym for "OR". Makes finding
  register copies a little easier to pick out from the output.
- Fix bug 3192.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61591 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago* Alphabetized system headers per the style guide
Misha Brukman [Fri, 2 Jan 2009 20:26:30 +0000 (20:26 +0000)]
* Alphabetized system headers per the style guide
* Minor spacing and comment cleanups

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61590 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDon't try to analyze this "backward" case. This is overly conservative
Nick Lewycky [Fri, 2 Jan 2009 18:54:17 +0000 (18:54 +0000)]
Don't try to analyze this "backward" case. This is overly conservative
pending a correct solution.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61589 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSo *this* is where all the trailing whitespace in file header comments come
Misha Brukman [Fri, 2 Jan 2009 16:58:42 +0000 (16:58 +0000)]
So *this* is where all the trailing whitespace in file header comments come
from: copy-pasted straight from the coding standards doc!

Oh, the irony.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61586 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove comma at end of enumerator list.
Daniel Dunbar [Fri, 2 Jan 2009 16:32:55 +0000 (16:32 +0000)]
Remove comma at end of enumerator list.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61585 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove bison specific Makefile bits for AsmParser.
Daniel Dunbar [Fri, 2 Jan 2009 16:29:09 +0000 (16:29 +0000)]
Remove bison specific Makefile bits for AsmParser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61584 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDeleted trailing whitespace; no functional changes.
Misha Brukman [Fri, 2 Jan 2009 16:28:18 +0000 (16:28 +0000)]
Deleted trailing whitespace; no functional changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61583 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agovimrc
Misha Brukman [Fri, 2 Jan 2009 16:26:14 +0000 (16:26 +0000)]
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

15 years agoWe also removed gtest-all.cc from the distribution tarball.
Misha Brukman [Fri, 2 Jan 2009 15:28:00 +0000 (15:28 +0000)]
We also removed gtest-all.cc from the distribution tarball.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61581 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoLoad tracking means that the value analyzed may
Duncan Sands [Fri, 2 Jan 2009 15:16:38 +0000 (15:16 +0000)]
Load tracking means that the value analyzed may
not have pointer type.  In particular, it may
be the condition argument for a select or a GEP
index.  While I was unable to construct a testcase
for which some bits of the original pointer are
captured due to one of these, it's very very close
to being possible - so play safe and exclude these
possibilities.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61580 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agofist short at a new unit test for ImmutableSets. no bugs found, though :P
Nuno Lopes [Fri, 2 Jan 2009 13:49:50 +0000 (13:49 +0000)]
fist short at a new unit test for ImmutableSets. no bugs found, though :P

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61576 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agomake 'make clean' remove test binaries as well
Nuno Lopes [Fri, 2 Jan 2009 12:25:22 +0000 (12:25 +0000)]
make 'make clean' remove test binaries as well

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61572 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoignore build dirs
Nuno Lopes [Fri, 2 Jan 2009 12:18:41 +0000 (12:18 +0000)]
ignore build dirs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61571 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoWhen calculating 'nocapture' argument attributes, allow
Duncan Sands [Fri, 2 Jan 2009 11:54:37 +0000 (11:54 +0000)]
When calculating 'nocapture' argument attributes, allow
the argument to be stored to an alloca by tracking uses
of the alloca.  This occurs 4 times (out of 7121, 0.05%)
in MultiSource/Applications, so may not be worth it.  On
the other hand, it is easy to do and fairly cheap.  The
functions it helps are: W_addcom and W_addlit in spiff;
process_args (argv) in d (make_dparser); ercPixConcealIMB
in JM/ldecod.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61570 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImprove comments and reorganize a bit - no functionality
Duncan Sands [Fri, 2 Jan 2009 11:46:24 +0000 (11:46 +0000)]
Improve comments and reorganize a bit - no functionality
change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61569 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDeleted too many properties: restore some.
Duncan Sands [Fri, 2 Jan 2009 09:01:57 +0000 (09:01 +0000)]
Deleted too many properties: restore some.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61567 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a really horrible typo, which caused undefined behavior.
Chris Lattner [Fri, 2 Jan 2009 08:49:06 +0000 (08:49 +0000)]
Fix a really horrible typo, which caused undefined behavior.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61566 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove the "ignore" property on this directory.
Duncan Sands [Fri, 2 Jan 2009 08:40:06 +0000 (08:40 +0000)]
Remove the "ignore" property on this directory.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61565 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agominor cleanups and comment improvements.
Chris Lattner [Fri, 2 Jan 2009 08:05:26 +0000 (08:05 +0000)]
minor cleanups and comment improvements.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61564 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoadd a #include to hopefully get the x86-64-linux buildbot building.
Chris Lattner [Fri, 2 Jan 2009 07:18:46 +0000 (07:18 +0000)]
add a #include to hopefully get the x86-64-linux buildbot building.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61563 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove lex/bison support from makefile.rules.
Chris Lattner [Fri, 2 Jan 2009 07:16:45 +0000 (07:16 +0000)]
Remove lex/bison support from makefile.rules.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61562 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoupdate the cmakefile. This is a "best guess", I haven't tested this.
Chris Lattner [Fri, 2 Jan 2009 07:14:23 +0000 (07:14 +0000)]
update the cmakefile.  This is a "best guess", I haven't tested this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61561 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agolex and bison aren't needed to build llvm anymore.
Chris Lattner [Fri, 2 Jan 2009 07:10:51 +0000 (07:10 +0000)]
lex and bison aren't needed to build llvm anymore.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61560 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agonew non-ambiguous syntax.
Chris Lattner [Fri, 2 Jan 2009 07:02:56 +0000 (07:02 +0000)]
new non-ambiguous syntax.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61559 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoReimplement the old and horrible bison parser for .ll files with a nice
Chris Lattner [Fri, 2 Jan 2009 07:01:27 +0000 (07:01 +0000)]
Reimplement the old and horrible bison parser for .ll files with a nice
and clean recursive descent parser.

This change has a couple of ramifications:
1. The parser code is about 400 lines shorter (in what we maintain, not
   including what is autogenerated).
2. The code should be significantly faster than the old code because we
   don't have to work around bison's poor handling of datatypes with
   ctors/dtors.  This also makes the code much more resistant to memory
   leaks.
3. We now get caret diagnostics from the .ll parser, woo.
4. The actual diagnostics emited from the parser are completely different
   so a bunch of testcases had to be updated.
5. I now disallow "%ty = type opaque %ty = type i32".  There was no good
   reason to support this, it was just an accident of the old
   implementation.  I have no reason to think that anyone is actually using
   this.
6. The syntax for sticking a global variable has changed to make it
   unambiguous.  I don't think anyone is depending on this since only clang
   supports this and it is not solid yet, so I'm not worried about anything
   breaking.
7. This gets rid of the last use of bison, and along with it the .cvs files.
   I'll prune this from the makefiles as a subsequent commit.

There are a few minor cleanups that can be done after this commit (suggestions
welcome!) but this passes dejagnu testing and is ready for its time in the
limelight.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61558 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDo not isel load folding bt instructions for pentium m, core, core2, and AMD processo...
Evan Cheng [Fri, 2 Jan 2009 05:35:45 +0000 (05:35 +0000)]
Do not isel load folding bt instructions for pentium m, core, core2, and AMD processors. These are significantly slower than a load followed by a bt of a register.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61557 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix x86 CPU id detection to identify Penryn (and future processors).
Evan Cheng [Fri, 2 Jan 2009 05:29:20 +0000 (05:29 +0000)]
Fix x86 CPU id detection to identify Penryn (and future processors).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61556 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse movaps / movd to extract vector element 0 even with sse4.1. It's still cheaper...
Evan Cheng [Fri, 2 Jan 2009 05:29:08 +0000 (05:29 +0000)]
Use movaps / movd to extract vector element 0 even with sse4.1. It's still cheaper than pextrw especially if the value is in memory.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61555 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix typo.
Nick Lewycky [Fri, 2 Jan 2009 05:01:22 +0000 (05:01 +0000)]
Fix typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61554 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove the cyclic part of this test, it was passing for the wrong
Nick Lewycky [Fri, 2 Jan 2009 03:52:27 +0000 (03:52 +0000)]
Remove the cyclic part of this test, it was passing for the wrong
reason. Two functions which mutually require each other to be nocapture
are not currently supported.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61553 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMake adding nocapture a bit stronger. FreeInst is nocapture. Also,
Nick Lewycky [Fri, 2 Jan 2009 03:46:56 +0000 (03:46 +0000)]
Make adding nocapture a bit stronger. FreeInst is nocapture. Also,
functions that don't write can't leak a pointer except through
the return value, so a void readonly function is implicitly nocapture.

Test these, and add a test that verifies that f1 calling f2 with an
otherwise dead pointer gets both of them marked nocapture.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61552 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDon't error out if ranlib fails.
Bill Wendling [Fri, 2 Jan 2009 02:53:24 +0000 (02:53 +0000)]
Don't error out if ranlib fails.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61551 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agorename a file to follow naming conventions.
Chris Lattner [Fri, 2 Jan 2009 01:52:35 +0000 (01:52 +0000)]
rename a file to follow naming conventions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61550 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd tests for two types of traps that escape analysis
Duncan Sands [Fri, 2 Jan 2009 00:55:51 +0000 (00:55 +0000)]
Add tests for two types of traps that escape analysis
might one day fall into.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61549 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMention that this pass does escape analysis in the
Duncan Sands [Thu, 1 Jan 2009 20:45:19 +0000 (20:45 +0000)]
Mention that this pass does escape analysis in the
leading comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61548 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFactorize (and generalize) the code promoting SELECT
Duncan Sands [Thu, 1 Jan 2009 20:36:20 +0000 (20:36 +0000)]
Factorize (and generalize) the code promoting SELECT
and BRCOND conditions.  Reorder a few methods while
there.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61547 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago* Quoted the executable 'runtest' to emphasize the binary needed;
Misha Brukman [Thu, 1 Jan 2009 20:26:05 +0000 (20:26 +0000)]
* Quoted the executable 'runtest' to emphasize the binary needed;
  otherwise, some unlucky souls start looking for a 'dejagnu' binary...
* Properly capitalized LLVM.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61546 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove trailing spaces.
Duncan Sands [Thu, 1 Jan 2009 19:56:02 +0000 (19:56 +0000)]
Remove trailing spaces.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61545 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix PR3274: when promoting the condition of a BRCOND node,
Duncan Sands [Thu, 1 Jan 2009 15:52:00 +0000 (15:52 +0000)]
Fix PR3274: when promoting the condition of a BRCOND node,
promote from i1 all the way up to the canonical SetCC type.
In order to discover an appropriate type to use, pass
MVT::Other to getSetCCResultType.  In order to be able to
do this, change getSetCCResultType to take a type as an
argument, not a value (this is also more logical).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61542 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoOriginal patch by Talin.
Misha Brukman [Thu, 1 Jan 2009 02:24:48 +0000 (02:24 +0000)]
Original patch by Talin.

* Added the first LLVM unittest -- DenseMap.
* Updated mkpatch utility to include llvm/unittests dir
* Added top-level target "unittests" to run all unittests

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61541 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago* Removed gtest-all.cc; .cc files including other .cc files is weird
Misha Brukman [Thu, 1 Jan 2009 02:05:43 +0000 (02:05 +0000)]
* Removed gtest-all.cc; .cc files including other .cc files is weird
* Removed gtest_main.cc: we have our own main() elsewhere
* Simplified the Makefile as we don't need SOURCES

* Moved the internal header to gtest/internal/
* Simplified the Makefile to remove -I param to CPP.Flags

* Updated README.LLVM with all the steps I took to massage GTest to
  work in LLVM so far

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61540 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMoved Google Test code up one directory so that we can use a standard LLVM
Misha Brukman [Thu, 1 Jan 2009 01:29:44 +0000 (01:29 +0000)]
Moved Google Test code up one directory so that we can use a standard LLVM
Makefile with it, without resorting to the use of VPATH.

Also added Makefiles at every level of the directory tree to properly recurse
to Google Test and build it as a library (original Makefiles by Talin).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61539 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix comment.
Bill Wendling [Thu, 1 Jan 2009 01:19:59 +0000 (01:19 +0000)]
Fix comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61538 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd transformation:
Bill Wendling [Thu, 1 Jan 2009 01:18:23 +0000 (01:18 +0000)]
Add transformation:

 xor (or (icmp, icmp), true) -> and(icmp, icmp)

This is possible because of De Morgan's law.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61537 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSome compilers are picky about accessing the first element of a std::vector if
Bill Wendling [Thu, 1 Jan 2009 01:14:31 +0000 (01:14 +0000)]
Some compilers are picky about accessing the first element of a std::vector if
there's nothing in the vector. Pacify them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61536 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoLook through phi nodes and select instructions when
Duncan Sands [Wed, 31 Dec 2008 20:21:34 +0000 (20:21 +0000)]
Look through phi nodes and select instructions when
calculating nocapture attributes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61535 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoThis is not failing on Darwin for some reason. XFAIL for other platforms.
Bill Wendling [Wed, 31 Dec 2008 19:26:09 +0000 (19:26 +0000)]
This is not failing on Darwin for some reason. XFAIL for other platforms.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61533 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDon't analyze arguments already marked 'nocapture'.
Duncan Sands [Wed, 31 Dec 2008 18:08:59 +0000 (18:08 +0000)]
Don't analyze arguments already marked 'nocapture'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61532 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFixed grammar and capitalization.
Misha Brukman [Wed, 31 Dec 2008 17:44:36 +0000 (17:44 +0000)]
Fixed grammar and capitalization.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61531 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd spacing between type and variable name.
Misha Brukman [Wed, 31 Dec 2008 17:41:49 +0000 (17:41 +0000)]
Add spacing between type and variable name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61530 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoComment headers should extend to 80 chars.
Misha Brukman [Wed, 31 Dec 2008 17:40:52 +0000 (17:40 +0000)]
Comment headers should extend to 80 chars.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61529 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix spacing to be uniform for parameters.
Misha Brukman [Wed, 31 Dec 2008 17:39:58 +0000 (17:39 +0000)]
Fix spacing to be uniform for parameters.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61528 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemoved extra spaces.
Misha Brukman [Wed, 31 Dec 2008 17:38:27 +0000 (17:38 +0000)]
Removed extra spaces.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61527 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImport of Google Test 1.2.1, with the non-essential bits removed.
Misha Brukman [Wed, 31 Dec 2008 17:34:06 +0000 (17:34 +0000)]
Import of Google Test 1.2.1, with the non-essential bits removed.

Added a README.LLVM file to indicate which files and directories
were removed from the original source tarball.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61526 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRename AddReadAttrs to FunctionAttrs, and teach it how
Duncan Sands [Wed, 31 Dec 2008 16:14:43 +0000 (16:14 +0000)]
Rename AddReadAttrs to FunctionAttrs, and teach it how
to work out (in a very simplistic way) which function
arguments (pointer arguments only) are only dereferenced
and so do not escape.  Mark such arguments 'nocapture'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61525 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCMake: Added some VC++ specific info to CMake.html.
Oscar Fuentes [Wed, 31 Dec 2008 14:36:41 +0000 (14:36 +0000)]
CMake: Added some VC++ specific info to CMake.html.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61521 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd a new Attribute::getAlignmentFromAttrs method.
Chris Lattner [Wed, 31 Dec 2008 08:41:38 +0000 (08:41 +0000)]
Add a new Attribute::getAlignmentFromAttrs method.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61517 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoXFAIL test caused by r61493. Apparently, this is expected?
Bill Wendling [Wed, 31 Dec 2008 08:26:55 +0000 (08:26 +0000)]
XFAIL test caused by r61493. Apparently, this is expected?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61516 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoGet live interval reconstruction several steps closer to working.
Owen Anderson [Wed, 31 Dec 2008 02:00:25 +0000 (02:00 +0000)]
Get live interval reconstruction several steps closer to working.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61514 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoadd a note
Chris Lattner [Wed, 31 Dec 2008 00:54:13 +0000 (00:54 +0000)]
add a note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61513 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoXFAIL this for now until I can figure out what's going on.
Scott Michel [Wed, 31 Dec 2008 00:08:25 +0000 (00:08 +0000)]
XFAIL this for now until I can figure out what's going on.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61512 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix test erratum (which is wierd: works locally for me?)
Scott Michel [Tue, 30 Dec 2008 23:52:05 +0000 (23:52 +0000)]
Fix test erratum (which is wierd: works locally for me?)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61511 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago- Start moving target-dependent nodes that could be represented by an
Scott Michel [Tue, 30 Dec 2008 23:28:25 +0000 (23:28 +0000)]
- Start moving target-dependent nodes that could be represented by an
  instruction sequence and cannot ordinarily be simplified by DAGcombine
  into the various target description files or SPUDAGToDAGISel.cpp.

  This makes some 64-bit operations legal.

- Eliminate target-dependent ISD enums.

- Update tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61508 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoLinux wants the FDE initial location and address range to be forced to 32-bit.
Bill Wendling [Mon, 29 Dec 2008 22:12:11 +0000 (22:12 +0000)]
Linux wants the FDE initial location and address range to be forced to 32-bit.
Darwin doesn't. Make this optional for platforms.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61484 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoThe FDE initial location and address range data should be free to be 64-bit
Bill Wendling [Mon, 29 Dec 2008 21:51:42 +0000 (21:51 +0000)]
The FDE initial location and address range  data should be free to be 64-bit
(quad) on a 64-bit platform. This fixes a problem with EH frames on Darwin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61483 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago* Updated TOC and fixed named anchors
Misha Brukman [Mon, 29 Dec 2008 21:33:30 +0000 (21:33 +0000)]
* Updated TOC and fixed named anchors
* Simplified section header marking

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61482 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMinimize the width of the notes region: it will end where the text ends, if the
Misha Brukman [Mon, 29 Dec 2008 21:25:09 +0000 (21:25 +0000)]
Minimize the width of the notes region: it will end where the text ends, if the
line of text is short enough, instead of stretching all the way to the right
margin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61481 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSimplified marking code regions with a single <pre> rather than
Misha Brukman [Mon, 29 Dec 2008 21:20:51 +0000 (21:20 +0000)]
Simplified marking code regions with a single <pre> rather than
a (<div>, <pre>) combo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61480 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMake stripPointerCasts and getUnderlyingObject
Duncan Sands [Mon, 29 Dec 2008 21:06:19 +0000 (21:06 +0000)]
Make stripPointerCasts and getUnderlyingObject
non-recursive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61479 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoExperiments show that looking through phi nodes
Duncan Sands [Mon, 29 Dec 2008 20:51:17 +0000 (20:51 +0000)]
Experiments show that looking through phi nodes
and select instructions doesn't buy anything here
except extra complexity: the only difference in
the entire testsuite was that a readonly function
became readnone in MiBench/consumer-typeset.  Add
a comment about this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61478 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFixed spelling, removed trailing whitespace.
Misha Brukman [Mon, 29 Dec 2008 20:08:23 +0000 (20:08 +0000)]
Fixed spelling, removed trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61477 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCenter the legal note to give it even padding on left and right, and make it
Misha Brukman [Mon, 29 Dec 2008 19:55:01 +0000 (19:55 +0000)]
Center the legal note to give it even padding on left and right, and make it
stand out better.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61475 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCleanup: clarify llvm-gcc version and package name.
Misha Brukman [Mon, 29 Dec 2008 19:38:58 +0000 (19:38 +0000)]
Cleanup: clarify llvm-gcc version and package name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61474 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoClarify a bit. Based on feedback by Talin.
Duncan Sands [Mon, 29 Dec 2008 15:27:32 +0000 (15:27 +0000)]
Clarify a bit.  Based on feedback by Talin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61470 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAllow readnone functions to read (and write!) global
Duncan Sands [Mon, 29 Dec 2008 11:34:09 +0000 (11:34 +0000)]
Allow readnone functions to read (and write!) global
constants, since doing so is irrelevant for aliasing
purposes.  While this doesn't increase the total number
of functions marked readonly or readnone in MultiSource/
Applications (3089), it does result in 12 functions being
marked readnone rather than readonly.
Before:
  readnone: 820
  readonly: 2269
After:
  readnone: 832
  readonly: 2257

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61469 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd braces, as suggested by a gcc warning.
Duncan Sands [Mon, 29 Dec 2008 08:05:02 +0000 (08:05 +0000)]
Add braces, as suggested by a gcc warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61465 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago- Various '#if 0' cleanups.
Scott Michel [Mon, 29 Dec 2008 03:23:36 +0000 (03:23 +0000)]
- Various '#if 0' cleanups.
- Move v4i32, i32 mul into SPUInstrInfo.td, with a few more instruction
  cleanups there as well.
- Make SMUL_LOHI, UMUL_LOHI competely illegal for Cell SPU, to better
  assist Chris to see the problem in bug 3101.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61464 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTeach LeaglizeDAG that i64 mul can be a libcall.
Scott Michel [Mon, 29 Dec 2008 03:21:37 +0000 (03:21 +0000)]
Teach LeaglizeDAG that i64 mul can be a libcall.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61463 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoselect constant exprs should have the same constraints as select instructions,
Chris Lattner [Mon, 29 Dec 2008 00:16:12 +0000 (00:16 +0000)]
select constant exprs should have the  same constraints as select instructions,
notably, they should support vectors and aggregates.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61462 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agomove select validation logic into a shared place where the select ctor,
Chris Lattner [Mon, 29 Dec 2008 00:12:50 +0000 (00:12 +0000)]
move select validation logic into a shared place where the select ctor,
verifier, asm parser, etc can share it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61461 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix up kill/dead marking in the new live interval reconstruction code.
Owen Anderson [Sun, 28 Dec 2008 23:35:13 +0000 (23:35 +0000)]
Fix up kill/dead marking in the new live interval reconstruction code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61460 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoForgot to commit this file.
Owen Anderson [Sun, 28 Dec 2008 21:57:02 +0000 (21:57 +0000)]
Forgot to commit this file.

Add a clear() method to remove all ranges and value numbers for a live interval.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61459 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd prototype code for recomputing a live interval's ranges and valnos through recurs...
Owen Anderson [Sun, 28 Dec 2008 21:48:48 +0000 (21:48 +0000)]
Add prototype code for recomputing a live interval's ranges and valnos through recursive phi construction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61458 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCheck that the function prototypes are correct before assuming that the
Nick Lewycky [Sat, 27 Dec 2008 16:20:53 +0000 (16:20 +0000)]
Check that the function prototypes are correct before assuming that the
parameters are pointers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61451 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoadd testcase for type parsing.
Chris Lattner [Sat, 27 Dec 2008 08:10:46 +0000 (08:10 +0000)]
add testcase for type parsing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61449 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoimplement simplify_type for PATypeHolder so that isa<FooType>(PATypeHolder)
Chris Lattner [Sat, 27 Dec 2008 07:47:40 +0000 (07:47 +0000)]
implement simplify_type for PATypeHolder so that isa<FooType>(PATypeHolder)
works.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61448 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago- Remove Tilmann's custom truncate lowering: it completely hosed over
Scott Michel [Sat, 27 Dec 2008 04:51:36 +0000 (04:51 +0000)]
- Remove Tilmann's custom truncate lowering: it completely hosed over
  DAGcombine's ability to find reasons to remove truncates when they were not
  needed. Consequently, the CellSPU backend would produce correct, but _really
  slow and horrible_, code.

  Replaced with instruction sequences that do the equivalent truncation in
  SPUInstrInfo.td.

- Re-examine how unaligned loads and stores work. Generated unaligned
  load code has been tested on the CellSPU hardware; see the i32operations.c
  and i64operations.c in CodeGen/CellSPU/useful-harnesses.  (While they may be
  toy test code, it does prove that some real world code does compile
  correctly.)

- Fix truncating stores in bug 3193 (note: unpack_df.ll will still make llc
  fault because i64 ult is not yet implemented.)

- Added i64 eq and neq for setcc and select/setcc; started new instruction
  information file for them in SPU64InstrInfo.td. Additional i64 operations
  should be added to this file and not to SPUInstrInfo.td.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61447 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoadd PR #
Chris Lattner [Thu, 25 Dec 2008 05:40:38 +0000 (05:40 +0000)]
add PR #

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61427 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd a simple pattern for matching 'bt'.
Chris Lattner [Thu, 25 Dec 2008 05:34:37 +0000 (05:34 +0000)]
Add a simple pattern for matching 'bt'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61426 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix some JIT encodings.
Chris Lattner [Thu, 25 Dec 2008 01:32:49 +0000 (01:32 +0000)]
Fix some JIT encodings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61425 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoBT memory operands load from their address operand.
Chris Lattner [Thu, 25 Dec 2008 01:27:10 +0000 (01:27 +0000)]
BT memory operands load from their address operand.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61424 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agotranslateX86CC can never fail. Simplify it based on this.
Chris Lattner [Wed, 24 Dec 2008 23:53:05 +0000 (23:53 +0000)]
translateX86CC can never fail.  Simplify it based on this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61423 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDarwin likes for the EH frame to be non-local.
Bill Wendling [Wed, 24 Dec 2008 08:05:17 +0000 (08:05 +0000)]
Darwin likes for the EH frame to be non-local.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61420 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoGCC doesn't emit DW_EH_PE_sdata4 for the FDE encoding on Darwin. I'm not sure
Bill Wendling [Wed, 24 Dec 2008 05:25:49 +0000 (05:25 +0000)]
GCC doesn't emit DW_EH_PE_sdata4 for the FDE encoding on Darwin. I'm not sure
about other platforms.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61415 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRevert the changes in this testcase until Anton can fix them.
Bill Wendling [Wed, 24 Dec 2008 05:23:34 +0000 (05:23 +0000)]
Revert the changes in this testcase until Anton can fix them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61414 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a compiler-abort on a testcase where the stack-pointer is added to
Dan Gohman [Wed, 24 Dec 2008 00:27:51 +0000 (00:27 +0000)]
Fix a compiler-abort on a testcase where the stack-pointer is added to
a symbolic constant. This is unlikely to be intentional, but it
shouldn't crash the compiler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61408 91177308-0d34-0410-b5e6-96231b3b80d8