Douglas Gregor
40ef7c580b
Add all of the C99 complex builtins prefixed with __builtin_
...
llvm-svn: 83020
2009-09-28 21:45:01 +00:00
Devang Patel
2d85eef974
s/class Metadata/class MetadataContext/g
...
llvm-svn: 83019
2009-09-28 21:41:20 +00:00
Rafael Espindola
26e69ac5cb
Add -Wbuiltin-macro-redefined/-Wno-builtin-macro-redefined.
...
llvm-svn: 83017
2009-09-28 21:24:34 +00:00
Devang Patel
b1a4477f1f
Do not use global typedef for MDKindID.
...
llvm-svn: 83016
2009-09-28 21:14:55 +00:00
Jeffrey Yasskin
ed31cc2a99
Forgot to update the documentation in r82906. s/DEBUG_RUNTIME/DEBUG_SYMBOLS/.
...
llvm-svn: 83015
2009-09-28 21:14:38 +00:00
Douglas Gregor
56fbc37bbb
Provide a custom diagnostic when code tries to use an unknown builtin
...
llvm-svn: 83014
2009-09-28 21:14:19 +00:00
Devang Patel
1709e8c084
Remove unnecessary include.
...
llvm-svn: 83013
2009-09-28 21:06:38 +00:00
Dan Gohman
82ef61857e
Add a testcase for r83011.
...
llvm-svn: 83012
2009-09-28 21:03:02 +00:00
Dan Gohman
f230656a02
When extending the operands of an addrec, iterate through all
...
the operands, rather than trying to partition them into a start
and a step. This handles non-affine add recurrences correctly.
llvm-svn: 83011
2009-09-28 21:01:47 +00:00
Devang Patel
565371b4c9
Do not hardcode metadata names.
...
llvm-svn: 83010
2009-09-28 20:56:00 +00:00
Dan Gohman
46945e38ea
Add a CHECK line to check the position of the second divsd.
...
llvm-svn: 83009
2009-09-28 20:48:39 +00:00
Evan Cheng
4854ef0023
Fix Thumb2 IT block pass bug. t2MOVi32imm may not be the start of a IT block.
...
llvm-svn: 83008
2009-09-28 20:47:15 +00:00
Jakob Stoklund Olesen
0bb5af345a
Use KILL instead of IMPLICIT_DEF in LowerSubregs pass.
...
llvm-svn: 83007
2009-09-28 20:32:46 +00:00
Jakob Stoklund Olesen
dc9efe8078
Introduce the TargetInstrInfo::KILL machine instruction and get rid of the
...
unused DECLARE instruction.
KILL is not yet used anywhere, it will replace TargetInstrInfo::IMPLICIT_DEF
in the places where IMPLICIT_DEF is just used to alter liveness of physical
registers.
llvm-svn: 83006
2009-09-28 20:32:26 +00:00
Fariborz Jahanian
c9c3917a86
Multiple conversions to the same type are ambiguous but for the
...
purpose of overload resolution is to be treated as a uner-defined
conversion.
llvm-svn: 83004
2009-09-28 19:06:58 +00:00
Douglas Gregor
5ad7c54bb9
Make sure that out-of-line function and variable definitions are not
...
pushed into scope. Fixes PR5056.
llvm-svn: 83003
2009-09-28 18:41:37 +00:00
Dan Gohman
21c0774ba9
Add a testcase to help test analysis preservation.
...
llvm-svn: 83002
2009-09-28 18:40:27 +00:00
Dan Gohman
d1415a8e56
Create a README.txt for lib/Analysis, and add an entry.
...
llvm-svn: 83001
2009-09-28 18:38:53 +00:00
Fariborz Jahanian
774cf79987
Patch for AST representation for the implicit conversion to a function
...
reference/pointer. And a test case for code gen.
llvm-svn: 83000
2009-09-28 18:35:46 +00:00
Devang Patel
59c0c1388f
Remove dead code.
...
llvm-svn: 82999
2009-09-28 18:31:56 +00:00
Douglas Gregor
e185b4dd82
Add __builtin_vsnprintf. Thanks to Anders Johnsen
...
llvm-svn: 82998
2009-09-28 18:08:57 +00:00
Dan Gohman
6905f15256
Use VerifySchedule instead of doing the work manually.
...
llvm-svn: 82995
2009-09-28 16:09:41 +00:00
Dan Gohman
86dc886584
Fix this debug output to handle the case where the loop has been deleted.
...
llvm-svn: 82994
2009-09-28 15:40:01 +00:00
Dan Gohman
0bd312afd8
Include the name of the loop header in debug messages.
...
llvm-svn: 82993
2009-09-28 15:07:18 +00:00
Dan Gohman
7d3b0be05b
Remove a redundant #ifndef and add an assertion string.
...
llvm-svn: 82991
2009-09-28 14:38:19 +00:00
Dan Gohman
9a7320c711
Convert LoopSimplify and LoopExtractor from FunctionPass to LoopPass.
...
llvm-svn: 82990
2009-09-28 14:37:51 +00:00
Bob Wilson
2dd957fff6
Pass the optimization level when constructing the ARM instruction selector.
...
Otherwise, it is always set to "default", which prevents debug info from
even being generated during isel. Radar 7250345.
llvm-svn: 82988
2009-09-28 14:30:20 +00:00
Evan Cheng
83e0d481ae
Make ARM and Thumb2 32-bit immediate materialization into a single 32-bit pseudo
...
instruction. This makes it re-materializable.
Thumb2 will split it back out into two instructions so IT pass will generate the
right mask. Also, this expose opportunies to optimize the movw to a 16-bit move.
llvm-svn: 82982
2009-09-28 09:14:39 +00:00
Daniel Dunbar
86d4c28932
Don't traverse into .svn directories.
...
llvm-svn: 82978
2009-09-28 07:32:45 +00:00
Anton Korobeynikov
c30d816d7a
Fix thinko in my recent movt commit: it's not safe to remat movt, since it has input reg argument.
...
Disable rematting of it for now.
llvm-svn: 82975
2009-09-28 07:26:46 +00:00
Douglas Gregor
c5790dfeb4
Parse a C++ scope specifier followed by a "typename" annotation token as a type name within the declaration specifiers. Fixes PR5061.
...
llvm-svn: 82974
2009-09-28 07:26:33 +00:00
Chris Lattner
0261b5d2d2
The select instruction is not neccesarily in the same block as the
...
phi nodes. Make sure to phi translate from the right block.
This fixes a llvm-building-llvm failure on GVN-PRE.cpp
llvm-svn: 82970
2009-09-28 06:49:44 +00:00
Douglas Gregor
14d1bf4361
Properly match instantiations of member function templates to the function templates from which they were instantiated
...
llvm-svn: 82969
2009-09-28 06:34:35 +00:00
Evan Cheng
e0c5313493
Coalescer should not delete extract_subreg, insert_subreg, and subreg_to_reg of
...
physical registers. This is especially critical for the later two since they
start the live interval of a super-register. e.g.
%DO<def> = INSERT_SUBREG %D0<undef>, %S0<kill>, 1
If this instruction is eliminated, the register scavenger will not be happy as
D0 is not defined previously.
This fixes PR5055.
llvm-svn: 82968
2009-09-28 05:28:43 +00:00
Douglas Gregor
5b0f2a2fbe
Don't allow the same function to enter the overload candidate set
...
multiple times. This requires to be more careful about re-adding
candidates cached from the function template definition.
llvm-svn: 82967
2009-09-28 04:47:19 +00:00
Erick Tryzelaar
16787bda38
Document a bug in the ocaml bindings has wrong linkage values.
...
llvm-svn: 82966
2009-09-28 04:42:55 +00:00
Erick Tryzelaar
c3a9a08e49
Expose the rest of the attribute settings.
...
llvm-svn: 82965
2009-09-28 04:42:47 +00:00
Erick Tryzelaar
b0d17ac4ef
Fix a bug in ocaml bindings that has incorrect linkage options.
...
llvm-svn: 82964
2009-09-28 04:42:36 +00:00
Douglas Gregor
e6688e653f
Determinism is for wimps. <Wimper>
...
llvm-svn: 82962
2009-09-28 03:51:44 +00:00
Mikhail Glushenkov
89cbdf0209
Regenerate.
...
llvm-svn: 82958
2009-09-28 01:28:26 +00:00
Mikhail Glushenkov
efc9763468
Add a way to query the number of input files.
...
llvm-svn: 82957
2009-09-28 01:16:42 +00:00
Mikhail Glushenkov
b7787297f5
Document the 'not' combinator.
...
llvm-svn: 82956
2009-09-28 01:16:07 +00:00
Mikhail Glushenkov
1766617386
A bit prettier formatting.
...
llvm-svn: 82955
2009-09-28 01:15:44 +00:00
Douglas Gregor
505ad49a09
Teach Sema::isDeclInScope to handle overload sets constructed from
...
functions that occur in multiple declaration contexts, e.g., because
some were found via using declarations. Now, isDeclInScope will build
a new overload set (when needed) containing only those declarations
that are actually in scope. This eliminates a problem found with
libstdc++'s <iostream>, where the presence of using
In the longer term, I'd like to eliminate Sema::isDeclInScope in favor
of better handling of the RedeclarationOnly flag in the name-lookup
routines. That way, name lookup only returns the entities that matter,
rather than taking the current two-pass approach of producing too many
results and then filtering our the wrong results. It's not efficient,
and I'm sure that we aren't filtering everywhere we should be.
llvm-svn: 82954
2009-09-28 00:47:05 +00:00
Dan Gohman
08d86dac71
Remove temporary debugging hack.
...
llvm-svn: 82953
2009-09-28 00:44:15 +00:00
Dan Gohman
4dbb301f17
Move the dominator verification code out of special code embedded within
...
the PassManager code into a regular verifyAnalysis method.
Also, reorganize loop verification. Make the LoopPass infrastructure
call verifyLoop as needed instead of having LoopInfo::verifyAnalysis
check every loop in the function after each looop pass. Add a new
command-line argument, -verify-loop-info, to enable the expensive
full checking.
llvm-svn: 82952
2009-09-28 00:27:48 +00:00
Dan Gohman
2963777d0c
Move this assert to check the condition as soon as it is known.
...
llvm-svn: 82951
2009-09-28 00:10:28 +00:00
Douglas Gregor
a29a3ffd18
Improve handling of friend function templates somewhat
...
llvm-svn: 82950
2009-09-28 00:08:27 +00:00
Dan Gohman
277e767578
Extend the StartPassTimer and StopPassTimer functions so that the
...
code that stops the timer doesn't have to search to find the timer
object before it stops the timer. This avoids a lock acquisition
and a few other things done with the timer running.
llvm-svn: 82949
2009-09-28 00:07:05 +00:00
Anton Korobeynikov
7c2b1e71c1
Use movt/movw pair to materialize 32 bit constants on ARMv6T2+.
...
This should be better than single load from constpool.
llvm-svn: 82948
2009-09-27 23:52:58 +00:00