Douglas Gregor
f661016b03
Document the template argument deduction patterns that Anders' patch supports
...
llvm-svn: 73071
2009-06-08 15:59:14 +00:00
Anders Carlsson
2128ec7cdd
Template argument deduction for function types.
...
llvm-svn: 73070
2009-06-08 15:19:08 +00:00
Eli Friedman
06de2b5525
Add real parsing for __declspec. It doesn't make much of a difference
...
at the moment because we ignore the result.
llvm-svn: 73056
2009-06-08 07:21:15 +00:00
Eli Friedman
4d38aeb372
Minor documentation update about Microsoft extensions.
...
llvm-svn: 73052
2009-06-08 06:21:03 +00:00
Eli Friedman
aa27a87ab3
Misc minor fixes for clang for the Windows target.
...
llvm-svn: 73050
2009-06-08 06:11:14 +00:00
Eli Friedman
3a80fc3808
Say a bit about various architectures in the users manual.
...
llvm-svn: 73044
2009-06-08 05:12:39 +00:00
Eli Friedman
a6638ca3a3
Delete method which is now trivial.
...
llvm-svn: 73043
2009-06-08 05:08:54 +00:00
Chris Lattner
6143fb504c
teach clang that -Wunused turns on all unused warnings, even though most
...
of these are not implemented yet.
llvm-svn: 73042
2009-06-08 04:26:30 +00:00
Eli Friedman
9e81b02ec5
Don't allow defining a block with a non-prototype type. Remove a
...
hack which introduces some strange inconsistencies in compatibility
for block pointers.
Note that unlike an earlier revision proposed on cfe-commits, this patch
still allows declaring block pointers without a prototype.
llvm-svn: 73041
2009-06-08 04:24:21 +00:00
Bruno Cardoso Lopes
f6d9fd20c2
Delete comment and fix typo
...
llvm-svn: 73040
2009-06-07 21:49:11 +00:00
Bruno Cardoso Lopes
b23af06b7e
Fix wrong elf class and byte order initializations.
...
llvm-svn: 73039
2009-06-07 21:33:20 +00:00
Bruno Cardoso Lopes
e577492a17
Simple ELF32/64 binary files can now be emitted for x86 and x86_64 without
...
relocation sections.
llvm-svn: 73038
2009-06-07 21:22:38 +00:00
Anders Carlsson
0880e9f58d
Instantiation support for more Obj-C expressions, string literals, @selector and @protocol expressions.
...
llvm-svn: 73036
2009-06-07 19:51:47 +00:00
Anders Carlsson
315d2294f8
Template instantiation support for Obj-C @encode expressions.
...
llvm-svn: 73034
2009-06-07 18:45:35 +00:00
Zhongxing Xu
aaa86d07a0
Remove dead code: 'NewEntry' is not used.
...
llvm-svn: 73027
2009-06-07 11:18:14 +00:00
Eli Friedman
0b387fbd1b
Fix the run-line for this test to work correctly outside of x86.
...
llvm-svn: 73025
2009-06-07 09:44:19 +00:00
Eli Friedman
516479d6e7
Tweak the expansion code for BIT_CONVERT to generate better code
...
converting from an MMX vector to an i64.
llvm-svn: 73024
2009-06-07 09:41:57 +00:00
Eli Friedman
e9ff191459
Remove a few more vector builtins.
...
llvm-svn: 73022
2009-06-07 09:32:56 +00:00
Daniel Dunbar
fcec758f4e
xmmintrin needs to include emmintrin, Darwin system headers seem to depend on it
...
defining m128[id], at least.
llvm-svn: 73021
2009-06-07 08:33:23 +00:00
Eli Friedman
0d4234416f
Get rid of some unnecessary code.
...
llvm-svn: 73017
2009-06-07 07:28:45 +00:00
Nick Lewycky
0aa6a74a79
Create FunctionType::isValidArgumentType to go along with isValidReturnType.
...
Also create isValidElementType for ArrayType, PointerType, StructType and
VectorType.
Make LLParser use them. This closes up some holes like an assertion failure on:
%x = type {label}
but largely doesn't change any semantics. The only thing we accept now which
we didn't before is vectors of opaque type such as "<4 x opaque>". The opaque
can be resolved to an int or float when linking.
llvm-svn: 73016
2009-06-07 07:26:46 +00:00
Eli Friedman
5a996fc0fc
Now that LLVM CodeGen can handle the generic variations a bit better,
...
get rid of a few more clang vector builtins.
llvm-svn: 73015
2009-06-07 07:12:56 +00:00
Douglas Gregor
e183993ffa
CMake: Install Clang's headers into the right place in the build tree, for regression testing
...
llvm-svn: 73014
2009-06-07 07:09:23 +00:00
Mikhail Glushenkov
aef7175f45
A basic PIC16 toolchain driver.
...
Nice addition to the examples and also a starting point for Sanjiv to work on.
llvm-svn: 73013
2009-06-07 07:08:01 +00:00
Eli Friedman
3234587213
Slightly generalize the code that handles shuffles of consecutive loads
...
on x86 to handle more cases. Fix a bug in said code that would cause it
to read past the end of an object. Rewrite the code in
SelectionDAGLegalize::ExpandBUILD_VECTOR to be a bit more general.
Remove PerformBuildVectorCombine, which is no longer necessary with
these changes. In addition to simplifying the code, with this change,
we can now catch a few more cases of consecutive loads.
llvm-svn: 73012
2009-06-07 06:52:44 +00:00
Nick Lewycky
cc13058998
Remove cyclic MDNode detection. Any attempt to create a cyclic MDNode will
...
crash LLVM first.
llvm-svn: 73011
2009-06-07 04:03:01 +00:00
Nick Lewycky
8b165afabe
Refuse metadata* type for function arguments.
...
llvm-svn: 73010
2009-06-07 01:45:11 +00:00
Eli Friedman
be1bb0f8b1
PR3628: Add patterns to match SHL/SRL/SRA to the corresponding Altivec
...
instructions.
llvm-svn: 73009
2009-06-07 01:07:55 +00:00
Nick Lewycky
5503c31ff9
Add option for specifying the path to assembler, "as". This overrides the path
...
to gcc.
llvm-svn: 73008
2009-06-07 00:50:45 +00:00
Nick Lewycky
7ea68536b5
Don't crash on multiple return value with no obvious inserted value.
...
Fixes PR4314.
llvm-svn: 73007
2009-06-06 23:13:08 +00:00
Eli Friedman
73a83066d5
PR4340: Run SimplifyDemandedVectorElts on insertelement instructions;
...
sometimes it can find simplifications that won't be found otherwise.
llvm-svn: 73006
2009-06-06 20:08:03 +00:00
Eli Friedman
07bbeca406
PR4339: make sure to properly extend/trunc the index of a vector element
...
insert/extract; the relevant instructions are defined to take only an
i32.
llvm-svn: 73005
2009-06-06 19:09:26 +00:00
Eli Friedman
5f75ff84b7
Test changes to account for removed builtins.
...
llvm-svn: 73004
2009-06-06 18:15:42 +00:00
Nick Lewycky
03f80adeab
Move </pre> to column one to avoid an extra line of spaces in the example.
...
llvm-svn: 73003
2009-06-06 18:14:04 +00:00
Jay Foad
e57ba2eab5
Use cast<> instead of dyn_cast<> for things that are known to be
...
Instructions.
llvm-svn: 73002
2009-06-06 17:49:35 +00:00
Ted Kremenek
800c20f11a
Update checker build.
...
llvm-svn: 73001
2009-06-06 17:44:12 +00:00
Fariborz Jahanian
28c5a8ba4a
Adds synthesize ivars to DeclContext.
...
llvm-svn: 73000
2009-06-06 16:36:41 +00:00
Dan Gohman
4c720c07bb
Rename UnknownValue to CouldNotCompute, since it holds an instance of
...
SCEVCouldNotCompute, and not SCEVUnknown.
llvm-svn: 72999
2009-06-06 14:37:11 +00:00
Anton Korobeynikov
18adbf5f07
Add new ABIArgInfo kind: Extend. This allows target to implement its own argument
...
zero/sign extension logic (consider, e.g. target has only 64 bit registers and thus
i32's should be extended as well).
llvm-svn: 72998
2009-06-06 09:36:29 +00:00
Eli Friedman
6813eb125f
Get rid of a bunch of dead builtins.
...
llvm-svn: 72996
2009-06-06 08:31:46 +00:00
Eli Friedman
4d8d7d3263
Replace more calls to builtins with generic code.
...
llvm-svn: 72995
2009-06-06 08:08:06 +00:00
Eli Friedman
f5f303f92f
Fix obvious typo.
...
llvm-svn: 72994
2009-06-06 07:42:17 +00:00
Eli Friedman
c61e357aa6
Fix the expansion for CONCAT_VECTORS so that it doesn't create illegal
...
types.
llvm-svn: 72993
2009-06-06 07:08:26 +00:00
Eli Friedman
aee3f62b75
Factor out a couple of helpers.
...
llvm-svn: 72992
2009-06-06 07:04:42 +00:00
Eli Friedman
75c496f920
Avoid crashing on a variable-index insertelement with element type i16.
...
llvm-svn: 72991
2009-06-06 06:32:50 +00:00
Nick Lewycky
8667990cdf
Regenerate.
...
llvm-svn: 72990
2009-06-06 06:25:09 +00:00
Nick Lewycky
9ab256ac66
Add a flag to permit disabling libffi.
...
Also, there were a bunch of flags with no text in --help because the square
brackets were in the wrong place. I've fixed those too.
llvm-svn: 72989
2009-06-06 06:24:44 +00:00
Eli Friedman
1b1844ad1f
Get rid of some bogus patterns for X86vzmovl. Don't create VZEXT_MOVL
...
nodes for vectors with an i16 element type. Add an optimization for
building a vector which is all zeros/undef except for the bottom
element, where the bottom element is an i8 or i16.
llvm-svn: 72988
2009-06-06 06:05:10 +00:00
Eli Friedman
868bd6ab52
Fix an obvious typo.
...
llvm-svn: 72987
2009-06-06 05:55:37 +00:00
Bruno Cardoso Lopes
7531e92333
x86_64 now uses the correct ELF e_machine type
...
llvm-svn: 72986
2009-06-06 04:29:16 +00:00