Bill Wendling
4ed3ee18ca
Don't try to strip a file we just moved.
...
llvm-svn: 64263
2009-02-11 00:14:53 +00:00
Bill Wendling
f9d81f44cf
Strip the LTO dylib.
...
llvm-svn: 64119
2009-02-09 06:42:40 +00:00
Bill Wendling
3f8a7a8f5d
Small fix for the 'strip' command. Do a list of .so files.
...
llvm-svn: 64112
2009-02-09 04:01:11 +00:00
Evan Cheng
d040b30c1d
Eliminate a 'control reaches end of non-void function' warning.
...
llvm-svn: 64111
2009-02-09 03:07:24 +00:00
Bill Wendling
d8f6731440
Don't run 'strip' on files that aren't there.
...
llvm-svn: 64108
2009-02-09 02:18:35 +00:00
Bill Wendling
0b9f8789a8
Remove warnings about not being able to delete something. Don't run lipo on gccas, gccld, and llvm-config scripts.
...
llvm-svn: 64107
2009-02-09 02:13:33 +00:00
Evan Cheng
a2b174e05c
Revert 64023. make prefers GNUmakefile over makefile.
...
llvm-svn: 64024
2009-02-07 19:38:46 +00:00
Evan Cheng
65e85da5a1
Move Apple style build makefiles to the top level. Just like llvmgcc42.
...
llvm-svn: 64023
2009-02-07 19:05:24 +00:00
Dale Johannesen
e95c76b65e
Get rid of one more non-DebugLoc getNode and
...
its corresponding getTargetNode. Lots of
caller changes.
llvm-svn: 63904
2009-02-06 01:31:28 +00:00
Dale Johannesen
c96091a672
Remove a non-DebugLoc version of getNode.
...
llvm-svn: 63889
2009-02-05 22:07:54 +00:00
Mike Stump
ed6d4c396a
FIx spelling.
...
llvm-svn: 63883
2009-02-05 20:49:49 +00:00
Mike Stump
1ffa350fcb
Probe for flags before using them to try to help compiling with
...
compilers that don't support those flags. This hopefully will help
gcc 3.X compile this code. http://llvm.org/PR3487
llvm-svn: 63882
2009-02-05 20:45:27 +00:00
Dale Johannesen
fa28929927
Reapply 63765. Patches for clang and llvm-gcc to follow.
...
llvm-svn: 63812
2009-02-05 01:49:45 +00:00
Dale Johannesen
d27bc65e74
Remove non-DebugLoc forms of CopyToReg and CopyFromReg.
...
Adjust callers.
llvm-svn: 63789
2009-02-04 23:02:30 +00:00
Dale Johannesen
f6e1822ccd
Reverting 63765. This broke the build of both clang
...
and llvm-gcc.
llvm-svn: 63786
2009-02-04 22:47:25 +00:00
Nate Begeman
66f10b55ed
New feature: add support for target intrinsics being defined in the
...
target directories themselves. This also means that VMCore no longer
needs to know about every target's list of intrinsics. Future work
will include converting the PowerPC target to this interface as an
example implementation.
llvm-svn: 63765
2009-02-04 19:47:21 +00:00
Duncan Sands
cac6cf74f9
Fix PR3453 and probably a bunch of other potential
...
crashes or wrong code with codegen of large integers:
eliminate the legacy getIntegerVTBitMask and
getIntegerVTSignBit methods, which returned their
value as a uint64_t, so couldn't handle huge types.
llvm-svn: 63494
2009-02-01 18:06:53 +00:00
Bill Wendling
da5e35aa5f
Explain why this is here.
...
llvm-svn: 63342
2009-01-29 23:19:43 +00:00
Bill Wendling
c65110ba7e
- Add DebugLoc to getTargetNode().
...
- Modify TableGen to add the DebugLoc when calling getTargetNode.
(The light-weight wrappers are only temporary. The non-DebugLoc version will be
removed once the whole debug info stuff is finished with.)
llvm-svn: 63273
2009-01-29 05:27:31 +00:00
Dan Gohman
21a780e19c
Move the code that starts printing the Select_* functions
...
after the code that sorts the patterns. This doesn't
affect the output, but it makes the code a little easier
to follow.
llvm-svn: 63265
2009-01-29 01:37:18 +00:00
Mikhail Glushenkov
cd3b13fc7b
Typo.
...
llvm-svn: 63174
2009-01-28 03:47:58 +00:00
Mikhail Glushenkov
920118470d
Add three new option properties.
...
Adds new option properties 'multi_val', 'one_or_more' and 'zero_or_one'.
llvm-svn: 63172
2009-01-28 03:47:20 +00:00
Evan Cheng
c971801ae1
Eliminate a couple of fields from TargetRegisterClass: SubRegClasses and SuperRegClasses. These are not necessary. Also eliminate getSubRegisterRegClass and getSuperRegisterRegClass. These are slow and their results can change if register file names change. Just use TargetLowering::getRegClassFor() to get the right TargetRegisterClass instead.
...
llvm-svn: 62762
2009-01-22 09:10:11 +00:00
Chris Lattner
fb1a7b3501
Make tblgen more portable, allowing it to build with ICC.
...
Patch by Robert Zeh!
llvm-svn: 62750
2009-01-22 05:10:16 +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
Mikhail Glushenkov
bf9e875d8e
Change the hook API back to prevent memory leaks.
...
llvm-svn: 62686
2009-01-21 13:04:33 +00:00
Mikhail Glushenkov
9153777db7
Allow hooks with arguments.
...
llvm-svn: 62685
2009-01-21 13:04:00 +00:00
Dan Gohman
89103ff4d5
Avoid triggering an assertion failure when an instruction pattern
...
is a leaf node. Patch by Brandner!
llvm-svn: 62361
2009-01-16 21:30:55 +00:00
Dan Gohman
1810c6366d
Add support for instructions with multiple ComplexPatterns, by
...
adding more information to the temporary variables names so that
they don't conflict.
llvm-svn: 62296
2009-01-16 02:05:52 +00:00
Duncan Sands
bcdbfb63dc
Rename getABITypeSize to getTypePaddedSize, as
...
suggested by Chris.
llvm-svn: 62099
2009-01-12 20:38:59 +00:00
Chris Lattner
ed4ee47a0d
make tblgen autogenerate the nocapture intrinsics for
...
llvm.memcpy/memset/memmove. This allows removal of some
hackish code from basicaa.
llvm-svn: 62071
2009-01-12 02:41:37 +00:00
Chris Lattner
c26f718218
add scaffolding to emit argument attributes. No functionality
...
change.
llvm-svn: 62067
2009-01-12 01:27:55 +00:00
Chris Lattner
a844423a1b
make tblgen emit the entire Intrinsic::getAttributes method,
...
not a random piece of it. No functionality change.
llvm-svn: 62066
2009-01-12 01:18:58 +00:00
Chris Lattner
c31c59a3be
add nocapture attribute to llvm.mem* intrinsics and have tblgen
...
parse them. tblgen doesn't yet do anything with this info though.
llvm-svn: 62065
2009-01-12 01:12:03 +00:00
Misha Brukman
5837493db7
This has been replaced by llvm/utils/lint/cpp_lint.py, which is more
...
comprehensive and can support more complex style analysis.
llvm-svn: 62002
2009-01-09 19:46:41 +00:00
Chris Lattner
456f75a745
remove some exclusions that don't exist anymore.
...
llvm-svn: 61932
2009-01-08 19:02:03 +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
Misha Brukman
8399c15510
Be sure to ignore the end-of-line character when considering trailing
...
whitespace.
llvm-svn: 61905
2009-01-08 02:16:13 +00:00
Bob Wilson
98fdf706f7
Improve support for type-generic vector intrinsics by teaching TableGen how
...
to handle LLVMMatchType intrinsic parameters, and by adding new subclasses
of LLVMMatchType to match vector types with integral elements that are
either twice as wide or half as wide as the elements of the matched type.
llvm-svn: 61834
2009-01-07 00:09:01 +00:00
Dan Gohman
8892b784d9
Fix a thinko in the grammar for thread_local variables.
...
llvm-svn: 61767
2009-01-05 23:03:03 +00:00
Dan Gohman
7934babf16
Delete an unused variable and simplify the code.
...
llvm-svn: 61732
2009-01-05 19:31:28 +00:00
Bob Wilson
50a8e4457d
Handle iAny and fAny types in TreePatternNode::UpdateNodeType.
...
llvm-svn: 61713
2009-01-05 17:52:54 +00:00
Dan Gohman
8a7744e746
Add the keyword 'default'.
...
llvm-svn: 61710
2009-01-05 17:44:11 +00:00
Misha Brukman
e4ad02eac5
Renamed Google Test license file from COPYING to LICENSE.TXT to match LLVM
...
conventions, per John Criswell.
llvm-svn: 61708
2009-01-05 17:42:15 +00:00
Dan Gohman
b416e28d74
A few more polygen grammar updates.
...
- After GlobalAssign, emit addrspace before global/constant, to follow
the new syntax.
- Eliminate "type void", which is now invalid.
- Fix invalid liblists like [, "foo"].
- Tweak whitespace in a few places.
llvm-svn: 61706
2009-01-05 17:29:42 +00:00
Bob Wilson
265ddb0b65
Fix spelling in some comments.
...
llvm-svn: 61702
2009-01-05 17:23:09 +00:00
Dan Gohman
4a19de5ef2
gc is not an obsolete keyword.
...
llvm-svn: 61670
2009-01-05 03:22:02 +00:00
Dan Gohman
c290d0e596
Update polygen grammar for recent language changes.
...
llvm-svn: 61669
2009-01-05 03:21:23 +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
1969e75214
VerifyLineLength() actually takes a max length parameter.
...
llvm-svn: 61593
2009-01-02 21:24:29 +00:00
Misha Brukman
a0007f190a
Added some basic lint tools for C++ and generic lint tool applicable to all
...
types of files (TableGen, LLVM assembly, HTML files, etc.)
llvm-svn: 61592
2009-01-02 21:15:30 +00:00
Misha Brukman
7bcf501c0e
Deleted trailing whitespace; no functional changes.
...
llvm-svn: 61583
2009-01-02 16:28:18 +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
Misha Brukman
247edadcb1
We also removed gtest-all.cc from the distribution tarball.
...
llvm-svn: 61581
2009-01-02 15:28:00 +00:00
Misha Brukman
3b9228c5ce
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
llvm-svn: 61541
2009-01-01 02:24:48 +00:00
Misha Brukman
7ac554bb07
* 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
llvm-svn: 61540
2009-01-01 02:05:43 +00:00
Misha Brukman
fb14f57734
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).
llvm-svn: 61539
2009-01-01 01:29:44 +00:00
Misha Brukman
1aecaaf274
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.
llvm-svn: 61526
2008-12-31 17:34:06 +00:00
Dan Gohman
84db870cc3
Use dyn_cast intead of isa + cast in the generated DAGISel code. This
...
reduces the amount of code slightly when assertions are enabled.
llvm-svn: 61249
2008-12-19 18:13:39 +00:00
Mon P Wang
84ad2a383d
Added support for vector widening.
...
llvm-svn: 61209
2008-12-18 20:03:17 +00:00
Mikhail Glushenkov
964b643cf8
Fix typo in error message.
...
llvm-svn: 61191
2008-12-18 04:06:58 +00:00
Mikhail Glushenkov
90baa08c2b
Some enhancements for the 'case' expression.
...
Add (error) and (empty).
llvm-svn: 61117
2008-12-17 02:47:01 +00:00
Bill Wendling
efb04fd5a6
Change so that buildit won't need a parent directory with only the build scripts in them.
...
llvm-svn: 61061
2008-12-16 00:42:25 +00:00
Mikhail Glushenkov
e50ddcc42a
Put Edge* classes into anonymous namespace.
...
Prevents conflicts between plugins.
llvm-svn: 60871
2008-12-11 10:34:18 +00:00
Mikhail Glushenkov
c75a4df77c
Make 'extern' an option property.
...
Makes (forward) work better.
llvm-svn: 60667
2008-12-07 16:47:12 +00:00
Mikhail Glushenkov
e0c9f63882
Better error message.
...
llvm-svn: 60664
2008-12-07 16:45:12 +00:00
Mikhail Glushenkov
85098f0f90
Re-apply Cedric's changes.
...
Use B instead of Beg (for consistency), but NodeA and NodeB instead of A
and B.
llvm-svn: 60663
2008-12-07 16:44:47 +00:00
Mikhail Glushenkov
4522fd9b8a
Try to guess when the auto-generated cl::Sink option should be marked 'extern'.
...
This would be much easier to do if the CommandLine library didn't use
global state. Global state is evil.
llvm-svn: 60659
2008-12-07 16:42:47 +00:00
Mikhail Glushenkov
1348ac2185
Add a (progn)-like construct for (actions). Implemented as a DAG list.
...
llvm-svn: 60658
2008-12-07 16:42:22 +00:00
Mikhail Glushenkov
f01331152a
Use (actions) instead of option properties, support external options.
...
Also includes a major refactoring. See documentation for more
information.
llvm-svn: 60656
2008-12-07 16:41:11 +00:00
Cedric Venet
c2986f3f3a
The use of the construct:
...
for(Type1 B = ...;;) { Type2 B ; ... }
is bad: code is hard to read and VS VS don't like it (it ignore the second declaration of B).
This patch fix the problem in tablegen. Please don't write code like this.
llvm-svn: 60590
2008-12-05 13:37:30 +00:00
Dan Gohman
5dad0993a9
Rename isSimpleLoad to canFoldAsLoad, to better reflect its meaning.
...
llvm-svn: 60487
2008-12-03 18:15:48 +00:00
Dan Gohman
ac6561793c
Mark x86's V_SET0 and V_SETALLONES with isSimpleLoad, and teach X86's
...
foldMemoryOperand how to "fold" them, by converting them into constant-pool
loads. When they aren't folded, they use xorps/cmpeqd, but for example when
register pressure is high, they may now be folded as memory operands, which
reduces register pressure.
Also, mark V_SET0 isAsCheapAsAMove so that two-address-elimination will
remat it instead of copying zeros around (V_SETALLONES was already marked).
llvm-svn: 60461
2008-12-03 05:21:24 +00:00
Dan Gohman
6333d48459
Add a sanity-check to tablegen to catch the case where isSimpleLoad
...
is set but mayLoad is not set. Fix all the problems this turned up.
Change code to not use isSimpleLoad instead of mayLoad unless it
really wants isSimpleLoad.
llvm-svn: 60459
2008-12-03 02:30:17 +00:00
Mikhail Glushenkov
cd57fbc9c4
Support multiple compilation graph definitions. Not terribly useful, but makes the code more generic.
...
llvm-svn: 60199
2008-11-28 00:13:47 +00:00
Mikhail Glushenkov
187b171022
Add 'hidden' and 'really_hidden' option properties.
...
llvm-svn: 60198
2008-11-28 00:13:25 +00:00
Evan Cheng
f18016728c
On x86 favors folding short immediate into some arithmetic operations (e.g. add, and, xor, etc.) because materializing an immediate in a register is expensive in turns of code size.
...
e.g.
movl 4(%esp), %eax
addl $4, %eax
is 2 bytes shorter than
movl $4, %eax
addl 4(%esp), %eax
llvm-svn: 60139
2008-11-27 00:49:46 +00:00
Mikhail Glushenkov
7534e81f38
Small fix: the error message was incorrect in some cases.
...
llvm-svn: 60099
2008-11-26 10:55:45 +00:00
Bill Wendling
023e8ff42c
Copy the tblgen utility.
...
llvm-svn: 59681
2008-11-20 00:11:57 +00:00
Mikhail Glushenkov
0c4ad9c7cc
Support dependencies between plugins by priority-sorting.
...
llvm-svn: 59449
2008-11-17 17:30:25 +00:00
Mikhail Glushenkov
c44e8c9f2b
Filter ToolPropertiesList to exclude all Tools not mentioned in the compilation graph.
...
llvm-svn: 59448
2008-11-17 17:29:42 +00:00
Mikhail Glushenkov
773924299a
Add a layer of indirection to make plugins more flexible.
...
Use strings instead of TableGen defs in the compilation graph
definition. Makes it easier for the plugins to modify an existing graph.
llvm-svn: 59447
2008-11-17 17:29:18 +00:00
Bill Wendling
9eaf125600
Fix to record comparator to make it work for return values > 1.
...
llvm-svn: 59242
2008-11-13 12:03:00 +00:00
Bill Wendling
ab7198eb4b
Put comma in correct place for call to StructType::get
...
llvm-svn: 59241
2008-11-13 10:18:35 +00:00
Bill Wendling
9dc2bd7973
Modify the intrinsics pattern to separate out the "return" types from the
...
"parameter" types. An intrinsic can now return a multiple return values like
this:
def add_with_overflow : Intrinsic<[llvm_i32_ty, llvm_i1_ty],
[LLVMMatchType<0>, LLVMMatchType<0>]>;
llvm-svn: 59237
2008-11-13 09:08:33 +00:00
Oscar Fuentes
ca51d6183a
Tell GenLibDeps.pl to inspect .so and .dylib shared files.
...
llvm-svn: 59158
2008-11-12 20:39:06 +00:00
Mikhail Glushenkov
db3ab89624
Check the return value of std::getenv.
...
When constructing std::strings from C strings, we should check the input
value to be not NULL so that the std::string constructor does not
segfault.
Fixes #3047 .
llvm-svn: 59131
2008-11-12 12:41:18 +00:00
Mikhail Glushenkov
3c568b376c
Add a bit of lazy evaluation to PopulateCompilationGraph().
...
Only the tools that are mentioned in the compilation graph definition
are now inserted by PopulateCompilationGraph(). This should cut down
plugin loading time a little.
llvm-svn: 59097
2008-11-12 00:05:17 +00:00
Mikhail Glushenkov
bb1a81c8e7
Some cosmetic changes.
...
llvm-svn: 59096
2008-11-12 00:04:46 +00:00
Mikhail Glushenkov
3e7723bbac
Allow $CALL and $ENV in command names. Fixes #3025 .
...
llvm-svn: 58922
2008-11-08 19:43:32 +00:00
Anton Korobeynikov
3f69727bd5
Properly escape dashes in TableGen's LLVMC2 emitter.
...
Patch by Patrick Walton!
llvm-svn: 58901
2008-11-08 10:16:21 +00:00
Dan Gohman
3a14e811be
Make tablegen print out a nice error message for a const char*
...
exception, like it does for a std::string exception.
llvm-svn: 58865
2008-11-07 21:01:13 +00:00
Dan Gohman
022c4b719c
Use an assert to check that SelectCode isn't called on
...
nodes that are already selected.
llvm-svn: 58763
2008-11-05 18:30:52 +00:00