Commit Graph

45500 Commits

Author SHA1 Message Date
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