Chris Lattner
b69689e18b
elementwise comparison of vector constants was completely wrong. Fix
...
it for PR2529
llvm-svn: 53380
2008-07-10 00:08:17 +00:00
Evan Cheng
0e6973442d
- Replace use of std::map<std::string, ..> with StringMap. Replace use of std::map with DenseMap, std::set with SmallPtrSet. This results in minor speed up.
...
- Some code clean up.
llvm-svn: 53379
2008-07-10 00:04:23 +00:00
Owen Anderson
be2e9a4447
Revert r53367, which was breaking things.
...
llvm-svn: 53378
2008-07-09 23:09:10 +00:00
Dan Gohman
7d94c49db9
Simplify hasNUsesOfValue and hasAnyUsesOfValue even more. This
...
makes their special-case checks of use_size() less beneficial,
so remove them. This eliminates all but one use of use_size(),
which is in AssignTopologicalOrder, which uses it only once for
each node, and so can reasonably afford to recompute it, as
this allows the UsesSize field of SDNode to be removed
altogether.
llvm-svn: 53377
2008-07-09 23:03:14 +00:00
Argyrios Kyrtzidis
832e898803
Simplify the parser a bit by looking at the next token without consuming it (by Preprocessor::LookNext):
...
-Remove ParseExpressionWithLeadingIdentifier and ParseAssignmentExprWithLeadingIdentifier.
-Separate ParseLabeledStatement from ParseIdentifierStatement.
llvm-svn: 53376
2008-07-09 22:53:07 +00:00
Argyrios Kyrtzidis
80b77ac394
Add Preprocessor::LookNext method, which implements an efficient way to 'take a peek' at the next token without consuming it.
...
llvm-svn: 53375
2008-07-09 22:46:46 +00:00
Dan Gohman
7a510c2990
hasAnyUseOfValue can check SDUse nodes of its users directly instead
...
of examining every operand of every user.
llvm-svn: 53374
2008-07-09 22:39:01 +00:00
Ted Kremenek
a3f878dcab
More information on filing bug reports.
...
llvm-svn: 53373
2008-07-09 22:20:56 +00:00
Dan Gohman
db4504fa57
Move MemoryVT out of LSBaseNode into MemSDNode, allowing the
...
getMemOperand function to be moved into the base class as well
and made non-virtual.
llvm-svn: 53372
2008-07-09 22:08:04 +00:00
Anton Korobeynikov
6e816424b0
Remove a FIXME: we really need to use const_data section on darwin for
...
constant pool, if relocation model is not static. This directly maps to
the way how GCC works.
llvm-svn: 53370
2008-07-09 21:54:26 +00:00
Evan Cheng
1787443028
Avoid creating expensive comment string if it's not going to be printed.
...
llvm-svn: 53369
2008-07-09 21:53:02 +00:00
Anton Korobeynikov
443864544e
Add FIXME for future checking.
...
llvm-svn: 53368
2008-07-09 21:38:28 +00:00
Owen Anderson
d3736ca1e0
Loosen our check here. Local regalloc only cares that the reg is used and def'd by the same instruction, but about the details of
...
the relationship.
llvm-svn: 53367
2008-07-09 21:34:36 +00:00
Dale Johannesen
ca43dce1e8
Remove extra call to DW.SetModuleInfo on Linux.
...
llvm-svn: 53365
2008-07-09 21:33:15 +00:00
Dale Johannesen
f76138c71f
Emit debug info for data-only files on Cell SPU.
...
I cannot test this target, let me know if it breaks!
llvm-svn: 53363
2008-07-09 21:25:06 +00:00
Dale Johannesen
dbd04c0783
Emit debug into for data-only files for Linux PPC.
...
I cannot test this target, let me know if it breaks!
llvm-svn: 53362
2008-07-09 21:24:07 +00:00
Dan Gohman
89e71d48b8
Move the IsVolatile and SVOffset fields into the MemSDNode base
...
class, and store IsVolatile and Alignment in a more compact form.
This makes AtomicSDNode slightly larger, but it shrinks LoadSDNode
and StoreSDNode, which are much more common and are the largest of
the SDNode subclasses. Also, this lets the isVolatile() and
getAlignment() accessors be non-virtual.
llvm-svn: 53361
2008-07-09 21:23:02 +00:00
Dale Johannesen
c4650f4b56
Emit debug info for data-only files. ARM version.
...
llvm-svn: 53360
2008-07-09 21:20:54 +00:00
Owen Anderson
b42ed21894
Don't use an expensive check for two-address-ness when we have the information sitting around to determine it much more quickly,
...
This speeds up the local register allocator from 0.37s to 0.31s on instcombine.
llvm-svn: 53359
2008-07-09 21:15:10 +00:00
Dale Johannesen
605d38657a
Emit debug info for data-only files. This version
...
is X86 ATT only.
llvm-svn: 53355
2008-07-09 20:55:35 +00:00
Anton Korobeynikov
bcfb41ca7d
Add missed section
...
llvm-svn: 53354
2008-07-09 20:47:55 +00:00
Dale Johannesen
b9aaddc110
Emit debug info for data-only files. This version
...
applies to ppc Darwin only.
llvm-svn: 53353
2008-07-09 20:43:39 +00:00
Owen Anderson
a0bc522466
Factor local liveness computation out into its own function.
...
llvm-svn: 53352
2008-07-09 20:14:53 +00:00
Dan Gohman
70aa89d215
Reuse the MO variable instead of recomputing it in RegAllocLocal.
...
Keep RegAllocSimple in sync.
llvm-svn: 53351
2008-07-09 20:12:26 +00:00
Anton Korobeynikov
5c0d2bd46e
Distinguish .const and .const_data on Darwin, when needed. This is somehow crazy :)
...
llvm-svn: 53350
2008-07-09 20:01:42 +00:00
Dan Gohman
d0a33a9270
Give RegAllocSimple a TargetInstrInfo member to keep it consistent
...
with RegAllocLocal.
llvm-svn: 53347
2008-07-09 19:56:01 +00:00
Dan Gohman
8ab08642ee
RegAllocLocal has a TargetInstrInfo data member. Use it instead
...
of having local variables duplicate it.
llvm-svn: 53346
2008-07-09 19:55:19 +00:00
Dan Gohman
8a95073098
Use find with std::map, when that's what's needed, instead of lower_bound
...
with extra checks.
llvm-svn: 53344
2008-07-09 19:51:00 +00:00
Ted Kremenek
5f996d5a06
Remove getParentMap() from GRExprEngine.
...
llvm-svn: 53343
2008-07-09 19:46:42 +00:00
Anton Korobeynikov
92e4ac1599
Weak stuff always goes to coalesced sections on Darwin
...
llvm-svn: 53340
2008-07-09 19:06:02 +00:00
Ted Kremenek
bf98eed4ef
Updated checker build.
...
llvm-svn: 53339
2008-07-09 18:26:32 +00:00
Ted Kremenek
1aaa6d8c19
Add test case.
...
llvm-svn: 53335
2008-07-09 18:11:43 +00:00
Ted Kremenek
ae529271e8
Fix PR2519: correctly handle CFDictionaryCreate.
...
llvm-svn: 53334
2008-07-09 18:11:16 +00:00
Dan Gohman
0acb6be89c
Remove #include <iostream>.
...
llvm-svn: 53333
2008-07-09 18:08:48 +00:00
Ted Kremenek
a174c5270f
Extend va_start checking to include __builtin_stdarg_start.
...
llvm-svn: 53332
2008-07-09 17:58:53 +00:00
Chris Lattner
0bf679180c
Codegen support for __builtin_stdarg_start
...
llvm-svn: 53329
2008-07-09 17:28:44 +00:00
Chris Lattner
b218272778
Add parser support for __builtin_stdarg_start, PR2531
...
llvm-svn: 53328
2008-07-09 17:26:36 +00:00
Anton Korobeynikov
dad7a35acf
Testcase for PR2024
...
llvm-svn: 53327
2008-07-09 14:09:41 +00:00
Anton Korobeynikov
86e706d448
Silence a warning
...
llvm-svn: 53326
2008-07-09 13:56:43 +00:00
Anton Korobeynikov
decb136538
Drop enum and use constants for SectionFlags
...
llvm-svn: 53325
2008-07-09 13:41:07 +00:00
Anton Korobeynikov
ee09e66a01
Add FIXME needed to be resolved later
...
llvm-svn: 53324
2008-07-09 13:30:02 +00:00
Anton Korobeynikov
56827c1b60
Use only 'subset' of flags
...
llvm-svn: 53323
2008-07-09 13:29:44 +00:00
Anton Korobeynikov
d5cf47d853
Typo
...
llvm-svn: 53322
2008-07-09 13:29:27 +00:00
Anton Korobeynikov
d62b4f5b37
Revert accidentially added stuff
...
llvm-svn: 53321
2008-07-09 13:29:08 +00:00
Anton Korobeynikov
daee281590
First sketch of special section objects
...
llvm-svn: 53320
2008-07-09 13:28:49 +00:00
Anton Korobeynikov
03dc8bf4d6
Honour text sections
...
llvm-svn: 53319
2008-07-09 13:28:19 +00:00
Anton Korobeynikov
577c45dd74
Use isWeakForLinker() hook
...
llvm-svn: 53318
2008-07-09 13:27:59 +00:00
Anton Korobeynikov
deaa37362a
Unbreak
...
llvm-svn: 53317
2008-07-09 13:27:37 +00:00
Anton Korobeynikov
fe047d241c
Switch to new section name handling facility
...
llvm-svn: 53316
2008-07-09 13:27:16 +00:00
Anton Korobeynikov
3d3d12f431
Another bunch of hacks for named sections support
...
llvm-svn: 53315
2008-07-09 13:26:52 +00:00