Tanya Lattner
312ef27b52
If the user did not check out LLVM and request it to be built, it should be a build error. This relies on the user having a successful build of LLVM, but the tests will fail if they dont.
...
llvm-svn: 42514
2007-10-02 00:19:27 +00:00
Dale Johannesen
e61886cee4
Add sqrt and powi intrinsics for long double.
...
llvm-svn: 42423
2007-09-28 01:08:20 +00:00
Evan Cheng
0a3651a70d
Rename keyword "modify" -> "implicit".
...
llvm-svn: 42282
2007-09-25 01:48:59 +00:00
Evan Cheng
859720c33b
Add CopyCost to TargetRegisterClass. This specifies the cost of copying a value
...
between two registers in the specific class.
llvm-svn: 42123
2007-09-19 01:35:01 +00:00
Evan Cheng
33c343e06b
Bug fix and minor clean up of generated code.
...
llvm-svn: 42069
2007-09-17 22:26:41 +00:00
Chris Lattner
9a1b882091
regenerate
...
llvm-svn: 42036
2007-09-17 17:40:48 +00:00
Dan Gohman
53119779c2
Remove spurious consts. This fixes warnings with compilers that
...
are strict about such things.
llvm-svn: 41956
2007-09-14 20:08:19 +00:00
Evan Cheng
bd4b11cfa9
Initial support for multi-result patterns:
...
1.
[(set GR32:$dst, (add GR32:$src1, GR32:$src2)),
(modify EFLAGS)]
This indicates the source pattern expects the instruction would produce 2 values. The first is the result of the addition. The second is an implicit definition in register EFLAGS.
2.
def : Pat<(parallel (addc GR32:$src1, GR32:$src2), (modify EFLAGS)), ()>
Similar to #1 except this is used for def : Pat patterns.
llvm-svn: 41897
2007-09-12 23:30:14 +00:00
Evan Cheng
8c1086ae63
Allow set operators with multiple destinations, i.e. (set x, y, (op a, b)).
...
llvm-svn: 41861
2007-09-11 19:52:18 +00:00
Chris Lattner
28425ab55f
update this to use llvm-config, patch by Jose M. Moya
...
llvm-svn: 41849
2007-09-11 17:09:54 +00:00
Evan Cheng
65df926ced
TableGen no longer emit CopyFromReg nodes for implicit results in physical
...
registers. The scheduler is now responsible for emitting them.
llvm-svn: 41781
2007-09-07 23:59:02 +00:00
Evan Cheng
0973e15ddd
Always check the type of node. This prevents situations such as selecting 32-bit rotate target instruction for a 64-bit node when 64-bit pattern is missing.
...
llvm-svn: 41710
2007-09-04 20:18:28 +00:00
Dan Gohman
b499ea1cf6
Add MVT::fAny for overloading intrinsics on floating-point types.
...
llvm-svn: 41128
2007-08-16 21:57:19 +00:00
Reid Spencer
7ce13be5bb
Make use of the llvm-ld tool's new ability to read input from stdin to extract
...
the list of link time passes to be run, just as for opt, with the
-debug-pass=Arguments option.
llvm-svn: 41040
2007-08-13 06:19:51 +00:00
Reid Spencer
07c9c99f36
Now that llvm-ld can accept - as input from stdin, use this feature to extract
...
the pass arguments that it supports.
llvm-svn: 41019
2007-08-11 16:11:22 +00:00
Rafael Espindola
b20b9e985a
propagate struct size and alignment of byval arguments to the DAG
...
llvm-svn: 40986
2007-08-10 14:44:42 +00:00
Chandler Carruth
67d3119773
This resolves a regression of BasicAA which failed to find any memory information for overloaded intrinsics (PR1600). This resolves that issue, and improves the matching scheme to use a BitVector rather than a binary search.
...
llvm-svn: 40872
2007-08-06 20:57:16 +00:00
Chandler Carruth
00e56b0e81
This is the patch to provide clean intrinsic function overloading support in LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future.
...
This also changes the syntax for llvm.bswap, llvm.part.set, llvm.part.select, and llvm.ct* intrinsics. They are automatically upgraded by both the LLVM ASM reader and the bitcode reader. The test cases have been updated, with special tests added to ensure the automatic upgrading is supported.
llvm-svn: 40807
2007-08-04 01:51:18 +00:00
Evan Cheng
8f126e59f5
Added TargetInstrDescriptor::numDefs - num of results.
...
llvm-svn: 40709
2007-08-02 00:20:17 +00:00
Dan Gohman
75473b49ea
More explicit keywords.
...
llvm-svn: 40589
2007-07-30 14:51:59 +00:00
Chuck Rose III
4a3a018844
VStudio compiler errors and placing Function*->ExFunc map under ManagedStatic control.
...
This commit fixes two things. One is a pair of VStudio compiler errors stemming from variables
which defined within the for loop statement and also within the body of the for loop. I fixed these
by renaming one of the two variables. Additionally, I've made the Function*->ExFunc map in
ExternalFunctions.cpp a ManagedStatic object, so that cleanup will be done on llvm_shutdown. In repeated
uses of the interpreter, where the same Function* address may get used for completely differnet functions,
this was causing a crash.
llvm-svn: 40558
2007-07-27 18:26:35 +00:00
Dan Gohman
b7c799015b
Fix a pasto in a comment.
...
llvm-svn: 40527
2007-07-26 15:11:00 +00:00
Christopher Lamb
7bef240f69
Have register info provide the inverse mapping of register->superregisters. PR1350
...
llvm-svn: 40519
2007-07-26 08:01:58 +00:00
Christopher Lamb
9a0d88efde
Add target independent MachineInstr's to represent subreg insert/extract in MBB's. PR1350
...
llvm-svn: 40518
2007-07-26 07:48:21 +00:00
Christopher Lamb
954afaa83f
Teach TableGen about the new vector types.
...
llvm-svn: 40513
2007-07-26 06:41:18 +00:00
Dan Gohman
7428b0796c
A minor simplication in the generated code.
...
llvm-svn: 40479
2007-07-24 22:58:00 +00:00
Chandler Carruth
ae2ae3b023
Fixing some differences between CVS and SVN diff'ing. Reid fixed these already,
...
but I think it got lost in the conversion mess.
llvm-svn: 40107
2007-07-20 17:21:54 +00:00
Evan Cheng
3c78aadb70
No need for noResults anymore.
...
llvm-svn: 40075
2007-07-20 00:21:23 +00:00
Evan Cheng
8312ed6f77
Change instruction description to split OperandList into OutOperandList and
...
InOperandList. This gives one piece of important information: # of results
produced by an instruction.
An example of the change:
def ADD32rr : I<0x01, MRMDestReg, (ops GR32:$dst, GR32:$src1, GR32:$src2),
"add{l} {$src2, $dst|$dst, $src2}",
[(set GR32:$dst, (add GR32:$src1, GR32:$src2))]>;
=>
def ADD32rr : I<0x01, MRMDestReg, (outs GR32:$dst), (ins GR32:$src1, GR32:$src2),
"add{l} {$src2, $dst|$dst, $src2}",
[(set GR32:$dst, (add GR32:$src1, GR32:$src2))]>;
llvm-svn: 40033
2007-07-19 01:14:50 +00:00
Chris Lattner
fe26fdfeaf
Work around a bogus gcc 4.2 warning.
...
llvm-svn: 39993
2007-07-18 04:51:57 +00:00
Dan Gohman
48b2f7992b
Eliminate an unused parameter.
...
llvm-svn: 39828
2007-07-13 20:16:50 +00:00
Evan Cheng
974bb09390
Try committing again. Add OptionalDefOperand. Remove clobbersPred.
...
llvm-svn: 38498
2007-07-10 18:05:01 +00:00
Reid Spencer
5ca021347d
Remove the cvsupdate script. Its no longer useful in the face of
...
tools such as svn info and svn status.
llvm-svn: 38446
2007-07-09 08:31:14 +00:00
Reid Spencer
1db5c92d36
Subversionify the script.
...
llvm-svn: 38440
2007-07-09 07:41:11 +00:00
Evan Cheng
2ecd061c78
ImmutablePredicateOperand is no more.
...
llvm-svn: 37963
2007-07-06 23:23:38 +00:00
Rafael Espindola
7b3de98989
Add the byval attribute
...
llvm-svn: 37940
2007-07-06 10:57:03 +00:00
Evan Cheng
9593d4ed73
Refactor code to add initial support for OptionalDefOperand.
...
llvm-svn: 37933
2007-07-06 01:05:26 +00:00
Evan Cheng
2ce6ccab6d
Teach DAGISelEmitter about zero_reg.
...
llvm-svn: 37900
2007-07-05 07:19:45 +00:00
Evan Cheng
2a4b3f341b
Instructions with ImmutablePredicateOperand aren't really predicable since their predicates are fixed at isel time.
...
llvm-svn: 37899
2007-07-05 07:19:29 +00:00
Reid Spencer
b7e9781af2
Ignore the .svn directories so countloc.sh and llvmgrep won't traverse them.
...
llvm-svn: 37867
2007-07-04 01:35:32 +00:00
Anton Korobeynikov
b03fde6e79
Test modified svn mailer
...
llvm-svn: 37859
2007-07-03 21:57:50 +00:00
Reid Spencer
d0ce01f3de
Remove the last vestiges of -usesvn.
...
Implement -usecvs just in case we need to go back to cvs for some reason.
llvm-svn: 37837
2007-07-02 06:19:57 +00:00
Reid Spencer
796eb92698
We want the Subversion checkout to succeed even if we don't specify
...
the -verbose option! Doh!
llvm-svn: 37836
2007-07-02 06:16:32 +00:00
John Criswell
5e067e8643
Applied Reid's patch. Long live Subversion!
...
llvm-svn: 37812
2007-06-29 19:12:50 +00:00
John Criswell
57e5ed4b5a
Convert .cvsignore files
...
llvm-svn: 37801
2007-06-29 16:35:07 +00:00
Reid Spencer
3b037fbe81
Fix problems with the checkout and cd directories for SVN checkout.
...
llvm-svn: 37797
2007-06-29 03:12:42 +00:00
Evan Cheng
c8b17dd965
One additional field in TargetRegisterDesc.
...
llvm-svn: 37760
2007-06-27 17:09:34 +00:00
Evan Cheng
ac10d44736
Add immediate sub-registers.
...
llvm-svn: 37738
2007-06-26 20:59:16 +00:00
Reid Spencer
fee7d394f7
Update for Subversion conversion:
...
1. Fix comments for -usesvn and -svnurl options.
2. Fix default URL for SVN access.
3. Fix paths to accommodate "trunk" when checking out from SVN.
llvm-svn: 37736
2007-06-26 17:08:16 +00:00
Dan Gohman
9cbc3fb1ab
Revert the earlier change that removed the M_REMATERIALIZABLE machine
...
instruction flag, and use the flag along with a virtual member function
hook for targets to override if there are instructions that are only
trivially rematerializable with specific operands (i.e. constant pool
loads).
llvm-svn: 37728
2007-06-26 00:48:07 +00:00