Commit Graph

43634 Commits

Author SHA1 Message Date
Nick Lewycky
3b3b4e3f0f Any void readonly functions are provably dead, don't waste time adding
nocapture attributes to them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61610 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-03 17:05:32 +00:00
Nuno Lopes
38a2cb9379 improve test and address Misha's comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61609 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-03 14:55:26 +00:00
Evan Cheng
0be6d3fb2a Add Intel processors core i7 and atom.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61603 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-03 04:24:44 +00:00
Evan Cheng
5b925c031d Fix PR3210: Detect more Intel processors. Patch by Torok Edwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61602 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-03 04:04:46 +00:00
Misha Brukman
b0fa430e1f * Wrap command line flag in <tt>
* Wrapped long lines in code section


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61601 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-03 02:35:05 +00:00
Nick Lewycky
87f333641a We know it's always a SCEVConstant if it gets here, so just cast it and
inline the only use of isNegative. Fixes warning reported by Mike Stump.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61600 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-03 01:53:24 +00:00
Bill Wendling
93d9ad567d Setting BUILD_ARCHIVE to 0 has the same effect as defining it to 1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61599 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-03 01:48:26 +00:00
Bill Wendling
3aec908be1 Make sure that 'ranlib' runs only after 'ar' is completed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61598 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-03 01:11:39 +00:00
Scott Michel
52d0001cfc CellSPU:
- Remove custom lowering for BRCOND
- Add remaining functionality for branches in SPUInstrInfo, such as branch
  condition reversal and load/store folding. Updated BrCond test to reflect
  branch reversal.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61597 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-03 00:27:53 +00:00
Bill Wendling
3d45f53b7a Reassign the buffer to the pointer so that we don't overwrite memory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61596 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 23:13:30 +00:00
Misha Brukman
5679d18c54 Alphabetized #includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61595 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 22:49:28 +00:00
Misha Brukman
9ea4034e00 Down with trailing whitespace!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61594 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 22:46:48 +00:00
Misha Brukman
27c1e89a4b VerifyLineLength() actually takes a max length parameter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61593 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 21:24:29 +00:00
Misha Brukman
653222fc99 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
2009-01-02 21:15:30 +00:00
Scott Michel
9bd7a371cb - 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
2009-01-02 20:52:08 +00:00
Misha Brukman
630fcb8678 * 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
2009-01-02 20:26:30 +00:00
Nick Lewycky
ae285bf5a6 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
2009-01-02 18:54:17 +00:00
Misha Brukman
98117cdbd6 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
2009-01-02 16:58:42 +00:00
Daniel Dunbar
c120526e20 Remove comma at end of enumerator list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61585 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 16:32:55 +00:00
Daniel Dunbar
0526de6b3e Remove bison specific Makefile bits for AsmParser.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61584 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 16:29:09 +00:00
Misha Brukman
12c8d1b6e8 Deleted trailing whitespace; no functional changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61583 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 16:28:18 +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
Misha Brukman
715a958565 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
2009-01-02 15:28:00 +00:00
Duncan Sands
9c5a5b01b4 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
2009-01-02 15:16:38 +00:00
Nuno Lopes
c3651569c1 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
2009-01-02 13:49:50 +00:00
Nuno Lopes
11366a03f5 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
2009-01-02 12:25:22 +00:00
Nuno Lopes
288ee05410 ignore build dirs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61571 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 12:18:41 +00:00
Duncan Sands
338cd6ba6e 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
2009-01-02 11:54:37 +00:00
Duncan Sands
b2f2279056 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
2009-01-02 11:46:24 +00:00
Duncan Sands
71df0d6008 Deleted too many properties: restore some.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61567 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 09:01:57 +00:00
Chris Lattner
6d6b3cc89b 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
2009-01-02 08:49:06 +00:00
Duncan Sands
df930c38b3 Remove the "ignore" property on this directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61565 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 08:40:06 +00:00
Chris Lattner
3ed88efb03 minor cleanups and comment improvements.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61564 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 08:05:26 +00:00
Chris Lattner
a896176973 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
2009-01-02 07:18:46 +00:00
Chris Lattner
c9480640c2 Remove lex/bison support from makefile.rules.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61562 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 07:16:45 +00:00
Chris Lattner
db7ba94c88 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
2009-01-02 07:14:23 +00:00
Chris Lattner
01bb8b0c36 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
2009-01-02 07:10:51 +00:00
Chris Lattner
0c7b39fb56 new non-ambiguous syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61559 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 07:02:56 +00:00
Chris Lattner
df98617b23 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
2009-01-02 07:01:27 +00:00
Evan Cheng
ccb6976a69 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
2009-01-02 05:35:45 +00:00
Evan Cheng
018b7ee91a 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
2009-01-02 05:29:20 +00:00
Evan Cheng
52ceafa5c7 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
2009-01-02 05:29:08 +00:00
Nick Lewycky
ccc776fd83 Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61554 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 05:01:22 +00:00
Nick Lewycky
8439653dfc 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
2009-01-02 03:52:27 +00:00
Nick Lewycky
6b05686283 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
2009-01-02 03:46:56 +00:00
Bill Wendling
b9b3a702c4 Don't error out if ranlib fails.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61551 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 02:53:24 +00:00
Chris Lattner
aca3e68dd8 rename a file to follow naming conventions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61550 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 01:52:35 +00:00
Duncan Sands
29ab02b2c2 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
2009-01-02 00:55:51 +00:00
Duncan Sands
88e76757de 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
2009-01-01 20:45:19 +00:00
Duncan Sands
b6e223a9e8 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
2009-01-01 20:36:20 +00:00