Devang Patel
3bf0571bb0
Rewrite test to test VLA using new debug info encoding scheme.
...
llvm-svn: 97465
2010-03-01 18:30:58 +00:00
Devang Patel
4aefd92040
Remove this generic debug info intrinsic test. LLVM does not use this llvm.dbg.stoppoint intrinsic anymore. There are tests to check new implementation, which attaches location information directly with an instruction using metadata.
...
llvm-svn: 97464
2010-03-01 18:30:08 +00:00
Douglas Gregor
604c30299d
Robustify instantiation of templates when there are errors in the
...
template definition. Do this both by being more tolerant of errors in
our asserts and by not dropping a variable declaration completely when
its initializer is ill-formed. Fixes the crash-on-invalid in PR6375,
but not the original issue.
llvm-svn: 97463
2010-03-01 18:27:54 +00:00
John McCall
8bc2a70dfe
Don't infinite-loop if TryAnnotateCXXScopeToken fails to annotate but doesn't
...
signal an error. This can happen even when the current token is '::' if
this is a ::new or ::delete expression.
This was an oversight in my recent parser refactor; fixes PR 5825.
llvm-svn: 97462
2010-03-01 18:20:46 +00:00
Dan Gohman
c3c3c6829f
Fix optimization of ISD::TRUNCATE on vector operands. Based on a patch
...
by Micah Villmow for PR6335.
llvm-svn: 97461
2010-03-01 17:59:21 +00:00
Dan Gohman
b0e07d53c1
Add explicit keywords.
...
llvm-svn: 97460
2010-03-01 17:56:46 +00:00
Dan Gohman
904d34c90f
Add a comment.
...
llvm-svn: 97459
2010-03-01 17:56:04 +00:00
Dan Gohman
39917c7c81
Add some debug output to LoopSimplify.
...
llvm-svn: 97458
2010-03-01 17:55:27 +00:00
Dan Gohman
7886c49d5c
Add the alignstack keyword.
...
llvm-svn: 97457
2010-03-01 17:53:39 +00:00
Dan Gohman
882c95605f
LLVM instruction syntax doesn't have trailing semicolons.
...
llvm-svn: 97456
2010-03-01 17:53:15 +00:00
Dan Gohman
d24eaffbf1
svn:ignore fixes.
...
llvm-svn: 97455
2010-03-01 17:52:16 +00:00
Dan Gohman
01b443fdd3
Spelling fixes.
...
llvm-svn: 97454
2010-03-01 17:51:02 +00:00
Dan Gohman
8b0a419eb1
Spelling fixes.
...
llvm-svn: 97453
2010-03-01 17:49:51 +00:00
Dan Gohman
574e72d17d
Whitespace cleanups.
...
llvm-svn: 97452
2010-03-01 17:47:21 +00:00
Dan Gohman
2055938113
Use Doxygen comment syntax.
...
llvm-svn: 97451
2010-03-01 17:45:15 +00:00
Dan Gohman
312d604ee2
This is now done.
...
llvm-svn: 97450
2010-03-01 17:43:57 +00:00
Dan Gohman
96d45008a6
Fix a missing newline in debug output.
...
llvm-svn: 97449
2010-03-01 17:42:55 +00:00
Dan Gohman
0c39a35457
Prune #includes.
...
llvm-svn: 97448
2010-03-01 17:42:17 +00:00
Dan Gohman
a269a0a667
Fix spelling.
...
llvm-svn: 97447
2010-03-01 17:41:39 +00:00
Dan Gohman
74b189fcb2
Don't print "Modified" for passes which haven't modified anything.
...
llvm-svn: 97446
2010-03-01 17:34:28 +00:00
Douglas Gregor
2528936379
Finish pushing source-location information though TreeTransform's
...
TransformDefinition.
llvm-svn: 97445
2010-03-01 17:25:41 +00:00
Douglas Gregor
a04f2ca19a
When looking for the instantiated declaration that corresponds to a
...
given declaration in a template, make sure that the context we're
searching through is complete. Fixes PR6376.
llvm-svn: 97444
2010-03-01 15:56:25 +00:00
Nathan Keynes
42a5be5121
Add JIT support to the TODO list (test commit)
...
llvm-svn: 97443
2010-03-01 10:40:41 +00:00
Chris Lattner
86878b4a1e
Emit type checks late instead of early, this encourages
...
structural matching code to be factored and shared this
shrinks the X86 isel table from 86537 to 83890 bytes.
llvm-svn: 97442
2010-03-01 07:54:59 +00:00
Chris Lattner
e89ca7c146
some trivial microoptimizations.
...
llvm-svn: 97441
2010-03-01 07:43:08 +00:00
Chris Lattner
a44697c394
Emit a redundant check for immediates at root context, e.g. (imm 0).
...
This allows formation of OpcodeSwitch for top level patterns, in
particular on X86. This saves about 1K of data space in the x86
table and makes the dispatch much more efficient.
llvm-svn: 97440
2010-03-01 07:27:07 +00:00
Chris Lattner
053a28a397
eliminate the CheckMultiOpcodeMatcher code and have each
...
ComplexPattern at the root be generated multiple times, once
for each opcode they are part of. This encourages factoring
because the opcode checks get treated just like everything
else in the matcher.
llvm-svn: 97439
2010-03-01 07:17:40 +00:00
Chris Lattner
f4d1775263
add a new OPC_SwitchOpcode which is semantically equivalent
...
to a scope where every child starts with a CheckOpcode, but
executes more efficiently. Enhance DAGISelMatcherOpt to
form it.
This also fixes a bug in CheckOpcode: apparently the SDNodeInfo
objects are not pointer comparable, we have to compare the
enum name.
llvm-svn: 97438
2010-03-01 06:59:22 +00:00
Zhongxing Xu
6d3cc382df
Since now we store the cast type with an ElementRegion, there is
...
no need to store a type with SymbolRegionValue.
llvm-svn: 97437
2010-03-01 06:56:52 +00:00
Zhongxing Xu
b0e5c27113
Assert when loading from a code text region instead of returning an unknown silently.
...
llvm-svn: 97436
2010-03-01 05:29:02 +00:00
Zhongxing Xu
aba9436f85
Add comments.
...
llvm-svn: 97435
2010-03-01 03:48:10 +00:00
Chris Lattner
db5b73a77f
pull MarkFlagResult out from between an EmitNode/CompleteMatch
...
pair. This encourages MorphNodeTo formation, this gets us 200
more MorphNodeTo's on X86 and shrinks the table a bit.
llvm-svn: 97434
2010-03-01 02:33:14 +00:00
Chris Lattner
4634d9beef
enhance RecordNode and RecordChild comments to indicate what
...
slot they're recording into, no functionality change.
llvm-svn: 97433
2010-03-01 02:24:17 +00:00
Chris Lattner
90b1b9d984
Emit redundant opcode checks for andimm and orimm tests at root
...
so that we get grouping at the top level.
Add an optimization to reorder type check & record nodes
after opcode checks. We prefer to expose tree shape
matching which improves grouping and will enhance the next
optimization.
llvm-svn: 97432
2010-03-01 02:15:34 +00:00
Chris Lattner
58e7dad842
inline the node transforms and node predicates into the generated
...
dispatcher method. This eliminates the dependence of the new isel's
generated code on the old isel's predicates, however some random
hand written isel code still uses them.
llvm-svn: 97431
2010-03-01 01:54:19 +00:00
Douglas Gregor
a070ffa7b8
Don't warn about case-value conversions from a negative value to a
...
larger unsigned value, since this is implementation-defined
behavior. (We previously suppressed this warning when converting from
a signed value to an unsigned value of the same size).
llvm-svn: 97430
2010-03-01 01:04:55 +00:00
Chris Lattner
560169d5c4
simplify some code now that chain/flag results are not stored in
...
the vtlist for emitnode.
llvm-svn: 97429
2010-02-28 23:00:47 +00:00
Chris Lattner
d86751711d
don't emit useless functions. These were producing
...
warnings in release-assert builds if there were no cases.
llvm-svn: 97428
2010-02-28 22:57:03 +00:00
Mikhail Glushenkov
abd56bde0e
80-col violations/trailing whitespace.
...
llvm-svn: 97427
2010-02-28 22:54:30 +00:00
Chris Lattner
53cf6b8444
eliminate GetInt1/2
...
llvm-svn: 97426
2010-02-28 22:38:43 +00:00
Chris Lattner
5ef43cec36
hoist the new isel interpreter out of DAGISelHeader.h
...
(which gets #included into the middle of each
target's DAGISel class) into a .cpp file where it is
only compiled once.
llvm-svn: 97425
2010-02-28 22:37:22 +00:00
Chandler Carruth
b30f39a4ae
Pass '-no-canonical-prefixes' on down to GCC. It's not specific to the Clang
...
driver and was in fact based on a feature in GCC. =]
llvm-svn: 97424
2010-02-28 22:33:07 +00:00
Chris Lattner
d303a365df
change a few opcodes to use VBRs instead of embedding
...
immediate sizes into the opcode.
llvm-svn: 97423
2010-02-28 22:14:32 +00:00
Douglas Gregor
a51c67424e
Improve name mangling for dependently-scoped declaration references.
...
llvm-svn: 97422
2010-02-28 22:05:49 +00:00
Chris Lattner
16e601eea1
move all the opcodes out of DAGISelHeader.h (which gets
...
#included into the middle of each isel class) into a real
header.
llvm-svn: 97421
2010-02-28 21:58:42 +00:00
Chris Lattner
b6ac685606
resolve a fixme by using hte new flag.
...
llvm-svn: 97420
2010-02-28 21:56:16 +00:00
Chris Lattner
a838264af1
enhance the EmitNode/MorphNodeTo operands to take a bit that
...
specifies whether there is an output flag or not. Use this
instead of redundantly encoding the chain/flag results in the
output vtlist.
llvm-svn: 97419
2010-02-28 21:53:42 +00:00
Douglas Gregor
5610db6923
Add name mangling for DeclRefExprs that refer to external names
...
llvm-svn: 97418
2010-02-28 21:40:32 +00:00
Chris Lattner
af197502d6
enhance the new isel to handle the 'node already exists'
...
case of MorphNodeTo directly.
llvm-svn: 97417
2010-02-28 21:36:14 +00:00
Chris Lattner
9d67dcadce
use MorphNodeTo instead of SelectNodeTo. SelectNodeTo
...
is just a silly wrapper around MorphNodeTo.
llvm-svn: 97416
2010-02-28 20:55:18 +00:00