Nate Begeman
7a1f1649b9
Add support for polynomial type, for polynomial multiply
...
llvm-svn: 105792
2010-06-10 18:06:07 +00:00
Bruno Cardoso Lopes
3a2d3b60e1
Teach tablegen to allow "let" expressions inside multiclasses,
...
providing more ways to factor out commonality from the records.
llvm-svn: 105776
2010-06-10 02:42:59 +00:00
Nate Begeman
7b0f786883
NEON support for _lane ops, and multiplies by scalar.
...
llvm-svn: 105769
2010-06-10 00:16:56 +00:00
Nate Begeman
905696c6eb
Further refine types for operations which take scalars.
...
This will be used primarily by NEON shift intrinsics.
llvm-svn: 105733
2010-06-09 18:02:26 +00:00
Eric Christopher
eba31022a2
How about ULL...
...
llvm-svn: 105726
2010-06-09 16:16:48 +00:00
Nate Begeman
e0f6bd0055
Specialize I-Class instructions better so that we have less work to do in codegen.
...
Parenthesize macro args
llvm-svn: 105682
2010-06-09 05:11:55 +00:00
Nate Begeman
10b97ea32f
Handle instructions which need to be #defines for the purpose of capturing constant arguments
...
Handle extract hi/lo with common code
llvm-svn: 105666
2010-06-09 01:09:00 +00:00
Bruno Cardoso Lopes
255fda615d
Reapply r105521, this time appending "LLU" to 64 bit
...
immediates to avoid breaking the build.
llvm-svn: 105652
2010-06-08 22:51:23 +00:00
Nate Begeman
c470186332
Fix a valgrind error.
...
llvm-svn: 105600
2010-06-08 07:11:17 +00:00
Nate Begeman
8df074e074
Refine BuiltinsARM.def types a bit, we should do a better job of this to save some c++ code in CGBuiltins.
...
llvm-svn: 105598
2010-06-08 06:01:16 +00:00
Nate Begeman
77a2b1b8b4
ARM NEON:
...
fix vcvt naming
handle vdup, vcombine with generic vector code
llvm-svn: 105588
2010-06-08 00:14:42 +00:00
Nate Begeman
477813692f
clang codegen support
...
llvm-svn: 105531
2010-06-07 16:00:37 +00:00
Chris Lattner
33d0622cdc
revert r105521, which is breaking the buildbots with stuff like this:
...
In file included from X86InstrInfo.cpp:16:
X86GenInstrInfo.inc:2789: error: integer constant is too large for 'long' type
X86GenInstrInfo.inc:2790: error: integer constant is too large for 'long' type
X86GenInstrInfo.inc:2792: error: integer constant is too large for 'long' type
X86GenInstrInfo.inc:2793: error: integer constant is too large for 'long' type
X86GenInstrInfo.inc:2808: error: integer constant is too large for 'long' type
X86GenInstrInfo.inc:2809: error: integer constant is too large for 'long' type
X86GenInstrInfo.inc:2816: error: integer constant is too large for 'long' type
X86GenInstrInfo.inc:2817: error: integer constant is too large for 'long' type
llvm-svn: 105524
2010-06-05 04:17:30 +00:00
Bruno Cardoso Lopes
b05131d907
Initial AVX support for some instructions. No patterns matched
...
yet, only assembly encoding support.
llvm-svn: 105521
2010-06-05 03:53:24 +00:00
Bruno Cardoso Lopes
b811561aac
Teach tablegen to support 'defm' inside multiclasses.
...
llvm-svn: 105519
2010-06-05 02:11:52 +00:00
Nate Begeman
7a41bddd2c
Handle multi-vector returns and args.
...
llvm-svn: 105496
2010-06-04 22:53:30 +00:00
Nate Begeman
60df12eda6
Additional fixes to BuiltinsARM.def generator, on to clang codegen.
...
llvm-svn: 105488
2010-06-04 21:36:00 +00:00
Nate Begeman
8275ffe1df
Progress on generating BuiltinsARM.def, still some duplicates to work out.
...
llvm-svn: 105461
2010-06-04 07:11:25 +00:00
Nate Begeman
766330952e
BuiltinsARM.def emitter, still needs a substantial bit of tweaking to lighten the load on clang.
...
llvm-svn: 105456
2010-06-04 01:26:15 +00:00
Nate Begeman
b5c41fee97
Mangle __builtin_neon_* names appropriately.
...
Add skeleton of support for emitting the list of prototypes for BuiltinsARM.def
llvm-svn: 105443
2010-06-04 00:21:41 +00:00
Nate Begeman
6483dc5067
Add some additional capabilities to the neon emitter
...
llvm-svn: 105416
2010-06-03 21:35:22 +00:00
Dale Johannesen
891a19d5ae
Early implementation of tail call for ARM.
...
A temporary flag -arm-tail-calls defaults to off,
so there is no functional change by default.
Intrepid users may try this; simple cases work
but there are bugs.
llvm-svn: 105413
2010-06-03 21:09:53 +00:00
Benjamin Kramer
61be8071e1
Forgot to update the most important part of the gtest modifications readme.
...
llvm-svn: 105396
2010-06-03 17:11:49 +00:00
Benjamin Kramer
b53dcc7a02
Disable pthread support in googletest if llvm was configured without threads.
...
llvm-svn: 105390
2010-06-03 15:17:04 +00:00
Benjamin Kramer
1a3ca06c22
Turns out gtest still prefers the system <tr1/tuple> over it's own
...
implementation. Force the internal one to unbreak clang selfhost on linux.
llvm-svn: 105386
2010-06-03 07:51:58 +00:00
Nate Begeman
86df2ed097
arm_neon.h now makes it through clang and generates appropriate code for those functions which can use
...
generic vector operators rather than __builtin_neon_*
llvm-svn: 105380
2010-06-03 04:04:09 +00:00
Benjamin Kramer
842c86a458
Update Readme and Makefiles for the new gtest.
...
llvm-svn: 105355
2010-06-02 22:02:57 +00:00
Benjamin Kramer
11251078ce
Merge gtest-1.5.0.
...
llvm-svn: 105354
2010-06-02 22:02:30 +00:00
Benjamin Kramer
fa12ea38cc
Merge gtest-1.4.0.
...
llvm-svn: 105353
2010-06-02 22:02:11 +00:00
Benjamin Kramer
82e5e91f69
Merge gtest-1.3.0.
...
OSX users: make sure that CrashReporter is disabled when running unit tests.
Death tests are enabled now so you'll get a ton of message boxes.
llvm-svn: 105352
2010-06-02 22:01:25 +00:00
Nate Begeman
d0fe2c84d7
arm_neon.h emitter now mostly complete for the purposes of initial testing.
...
llvm-svn: 105349
2010-06-02 21:53:00 +00:00
Duncan Sands
67ba22b8e9
Pacify recent gcc: remove a pointless const qualifier.
...
llvm-svn: 105318
2010-06-02 08:37:30 +00:00
Nate Begeman
8c69aba08d
Checkpoint; handle 'int' and 'void' correctly
...
llvm-svn: 105316
2010-06-02 07:14:28 +00:00
Nate Begeman
701f6c86e0
Emit full function prototypes. Definitions & typedefs to come.
...
llvm-svn: 105315
2010-06-02 06:17:19 +00:00
Nate Begeman
febb87a5c1
Checkpoint arm_neon.h generation with tablegen
...
llvm-svn: 105307
2010-06-02 00:34:55 +00:00
Alexis Hunt
9674fb4293
Fix comment
...
llvm-svn: 105297
2010-06-01 23:29:39 +00:00
Dan Gohman
03eb68452e
Fix extra fread after EOF, non-wires-crossed version.
...
llvm-svn: 105270
2010-06-01 14:09:29 +00:00
Chris Lattner
0eb2ced0cb
revert r105223 which broke all my testing.
...
llvm-svn: 105225
2010-05-31 17:10:45 +00:00
Dan Gohman
63cce74946
Fix count so that it doesn't make an extra fread call after
...
EOF is detected.
llvm-svn: 105223
2010-05-31 16:13:45 +00:00
Alexis Hunt
bdfc4b7cd0
Allow for creation of clang DeclNodes tables.
...
The StmtNodes generator has been generalized to allow for the
creation of DeclNodes tables as well, and another emitter was
added for DeclContexts.
llvm-svn: 105164
2010-05-30 07:21:42 +00:00
Jakob Stoklund Olesen
847b5eb54a
Emit TargetRegisterInfo::composeSubRegIndices().
...
Also verify that all subregister indices compose unambiguously.
llvm-svn: 105064
2010-05-28 23:48:31 +00:00
Nate Begeman
eb1028094c
Comment out some code in prep for actual .td file checkpoint.
...
llvm-svn: 104927
2010-05-28 02:19:08 +00:00
Eli Friedman
f73aa6f0dc
Fix build breakage.
...
llvm-svn: 104912
2010-05-28 01:15:28 +00:00
Nate Begeman
afef35118d
Add support to tablegen for auto-generating arm_neon.h from a tablegen description
...
of the intrinsics. The goal is to auto-generate both support for GCC-style (vector)
and ARM-style (struct of vector) intrinsics.
This is work in progress, but will be completed soon.
llvm-svn: 104910
2010-05-28 01:08:32 +00:00
Dan Gohman
dae85a0de0
When handling raw_ostream errors manually, use clear_error() so that
...
raw_ostream doesn't try to do its own error handling.
llvm-svn: 104881
2010-05-27 20:17:28 +00:00
Dan Gohman
bf1e648394
Simplify raw_ostream usage.
...
llvm-svn: 104874
2010-05-27 19:48:08 +00:00
Dan Gohman
3a54acdc12
Minor code simplification.
...
llvm-svn: 104845
2010-05-27 16:25:05 +00:00
Daniel Dunbar
0d29870989
AsmMatcher: Ensure classes are totally ordered, so we can std::sort them reliably.
...
llvm-svn: 104806
2010-05-27 05:31:32 +00:00
Jakob Stoklund Olesen
ee3ac9b299
Check that inherited subregisters all have a direct SubRegIndex.
...
llvm-svn: 104755
2010-05-26 22:15:07 +00:00
Jakob Stoklund Olesen
1c0aa5f14a
Add StringRef::compare_numeric and use it to sort TableGen register records.
...
This means that our Registers are now ordered R7, R8, R9, R10, R12, ...
Not R1, R10, R11, R12, R2, R3, ...
llvm-svn: 104745
2010-05-26 21:47:28 +00:00