Chris Lattner
fcf6452eb4
make the verbose raw-lexer ctor fully explicit instead of having
...
embedded magic.
llvm-svn: 62417
2009-01-17 07:42:27 +00:00
Chris Lattner
1db27eefa1
use simplified Lexer ctor.
...
llvm-svn: 62416
2009-01-17 07:41:36 +00:00
Bill Wendling
f9291cf43c
Extend thi
...
llvm-svn: 62415
2009-01-17 07:40:19 +00:00
Chris Lattner
08354fef13
add a simplified lexer ctor that sets up the lexer to raw-lex an
...
entire file.
llvm-svn: 62414
2009-01-17 07:35:14 +00:00
Evan Cheng
bf38a5e540
Fix MatchAddress bug that's preventing negative displacement from being folded in 64-bit mode.
...
llvm-svn: 62413
2009-01-17 07:09:27 +00:00
Devang Patel
bf7d432ce4
Assign argument type to appropriate DIE.
...
llvm-svn: 62412
2009-01-17 06:57:25 +00:00
Chris Lattner
f76b92092e
refactor some common initialization code out of the two lexer ctors.
...
llvm-svn: 62411
2009-01-17 06:55:17 +00:00
Devang Patel
2e32f71dfa
Remove dead code.
...
llvm-svn: 62410
2009-01-17 06:51:37 +00:00
Ted Kremenek
1da5987cb9
Update checker build.
...
llvm-svn: 62409
2009-01-17 06:41:35 +00:00
Chris Lattner
3793bba26f
suck the call to "getSpellingLoc" that all clients do into
...
the implementation of PTHManager::getSpelling.
llvm-svn: 62408
2009-01-17 06:29:33 +00:00
Chris Lattner
d32480d3db
this massive patch introduces a simple new abstraction: it makes
...
"FileID" a concept that is now enforced by the compiler's type checker
instead of yet-another-random-unsigned floating around.
This is an important distinction from the "FileID" currently tracked by
SourceLocation. *That* FileID may refer to the start of a file or to a
chunk within it. The new FileID *only* refers to the file (and its
#include stack and eventually #line data), it cannot refer to a chunk.
FileID is a completely opaque datatype to all clients, only SourceManager
is allowed to poke and prod it.
llvm-svn: 62407
2009-01-17 06:22:33 +00:00
Devang Patel
d250ef911f
Disable composite type debug info for now.
...
llvm-svn: 62406
2009-01-17 05:05:12 +00:00
Bill Wendling
dd40f26877
Temporarily revert my last change. It is causing a bootstrap failure.
...
llvm-svn: 62405
2009-01-17 04:23:51 +00:00
Bill Wendling
4d5275905e
Implement a special algorithm for converting uint_to_fp for i32 values on
...
X86. This code:
void f() {
uint32_t x;
float y = (float)x;
}
used to be:
movl %eax, -8(%ebp)
movl [2^52 double], -4(%ebp)
movsd -8(%ebp), %xmm0
subsd [2^52 double], %xmm0
cvtsd2ss %xmm0, %xmm0
Is now:
movsd [2^52 double], %xmm0
movsd %xmm0, %xmm1
movd %ecx, %xmm2
orps %xmm2, %xmm1
subsd %xmm0, %xmm1
cvtsd2ss %xmm1, %xmm0
This is faster on X86. Note that there's an extra load of %xmm0 into %xmm1. That
will be fixed in a later coalescer fix.
llvm-svn: 62404
2009-01-17 03:56:04 +00:00
Chris Lattner
800979259e
make "ContentCache::Buffer" mutable to avoid a const_cast.
...
llvm-svn: 62403
2009-01-17 03:54:16 +00:00
Chris Lattner
1ed28ce3fd
no need to check this: content cache is already 1-1 map with fileentries.
...
llvm-svn: 62402
2009-01-17 03:49:48 +00:00
Chris Lattner
1abd20901b
Instead of iterating over FileID's, have PTH generation iterate over the
...
content cache directly. Content cache has a 1-1 mapping with fileentries,
whereas multiple FileIDs can be the same FileEntry.
llvm-svn: 62401
2009-01-17 03:48:08 +00:00
Chris Lattner
3feddd91f7
remove an irrelevant idea
...
llvm-svn: 62400
2009-01-17 03:46:44 +00:00
Douglas Gregor
051d8fd809
Warn about typedefs of enums without any declarator name. Fixes rdar://problem/6503878
...
llvm-svn: 62397
2009-01-17 02:55:50 +00:00
Daniel Dunbar
5f40dec258
ccc: Support running piped jobs (-pipe now works).
...
llvm-svn: 62396
2009-01-17 02:02:35 +00:00
Ted Kremenek
1ab188f48a
Fix analyzer crash found when scanning Wine sources where the analyzer used old logic to determine the value of a switch 'case' label.
...
llvm-svn: 62395
2009-01-17 01:54:16 +00:00
Oscar Fuentes
90cc7050f2
CMake: Add lib/Target/IA64/IA64Subtarget.cpp
...
llvm-svn: 62394
2009-01-17 01:50:32 +00:00
Douglas Gregor
f23311d63b
PODify LookupResult, for a measly 1% speedup on Cocoa.h.
...
llvm-svn: 62391
2009-01-17 01:13:24 +00:00
Douglas Gregor
088ea012cd
Add -fnext-runtime to Objective-C properties testcase
...
llvm-svn: 62390
2009-01-17 00:53:59 +00:00
Daniel Dunbar
ee5a4a8cce
ccc: Don't be pedantically compatible with -Z options, these are the
...
result of an internal implementation detail of gcc.
llvm-svn: 62389
2009-01-17 00:53:19 +00:00
Daniel Dunbar
563dc04faa
Return success indicator from CmpDriver.
...
llvm-svn: 62388
2009-01-17 00:50:45 +00:00
Nuno Lopes
4d78cf0fa7
add support for usage of cast to union thing with static vars
...
llvm-svn: 62387
2009-01-17 00:48:48 +00:00
Douglas Gregor
dee1be8e95
Teach DeclContext how to find the primary declaration for any TagDecl
...
even when we are still defining the TagDecl. This is required so that
qualified name lookup of a class name within its definition works (see
the new bits in test/SemaCXX/qualified-id-lookup.cpp).
As part of this, move the nested redefinition checking code into
ActOnTag. This gives us diagnostics earlier (when we try to perform
the nested redefinition, rather than when we try to complete the 2nd
definition) and removes some code duplication.
llvm-svn: 62386
2009-01-17 00:42:38 +00:00
Gabor Greif
1c6549db6f
speed up iterative loop by using iterators. changes direction, but functionally equivalent
...
if this works out, I'll change the others next.
llvm-svn: 62385
2009-01-17 00:14:25 +00:00
Gabor Greif
f1abfdccdc
introduce typedef for complicated vector, and use it too
...
llvm-svn: 62384
2009-01-17 00:09:08 +00:00
Mon P Wang
ca6d6dea0b
Simplify extract element of a scalar to vector.
...
llvm-svn: 62383
2009-01-17 00:07:25 +00:00
Fariborz Jahanian
94234ea63e
Catch a foreach parse error.
...
llvm-svn: 62382
2009-01-17 00:00:40 +00:00
Sebastian Redl
fbfaafc0a9
Convert some more statement actions to smart pointers.
...
Fix a type error; parser wanted to pass the third part of a for-statement as a statement; should be expression.
llvm-svn: 62380
2009-01-16 23:28:06 +00:00
Ted Kremenek
f5359ea9d0
Updated checker build.
...
llvm-svn: 62379
2009-01-16 23:26:38 +00:00
Daniel Dunbar
b3a633fc0c
ccc: Clean up (user level) error handling.
...
- ccc now checks for existence of input files (more annoying to test,
but matches gcc).
- Fix some test cases.
llvm-svn: 62378
2009-01-16 23:12:12 +00:00
Gabor Greif
8c573f7e49
typo
...
llvm-svn: 62377
2009-01-16 23:08:50 +00:00
Chris Lattner
48a8c57936
eliminate FullSourceLoc::getLocation() now that FullSourceLoc
...
*is* the location. This eliminates some weird X.getLocation().getLocation()'s.
llvm-svn: 62376
2009-01-16 23:06:35 +00:00
Chris Lattner
fb1fd911cb
Make FullSourceLoc derive from SourceLocation instead of
...
containing one. Containment is generally better than derivation,
but in this case FullSourceLoc really 'isa' SourceLocation.
llvm-svn: 62375
2009-01-16 23:03:56 +00:00
Chris Lattner
fcc0a5a3f7
elimiante FullSourceLoc::getCanonicalFileID
...
llvm-svn: 62374
2009-01-16 22:59:51 +00:00
Evan Cheng
41e9f6a854
Fix PPC ISD::Declare isel and eliminate the need for PPCTargetLowering::LowerGlobalAddress to check if isVerifiedDebugInfoDesc() is true. Given the recent changes, it would falsely return true for a lot of GlobalAddressSDNode's.
...
llvm-svn: 62373
2009-01-16 22:57:32 +00:00
Mikhail Glushenkov
cbc26fdb6e
Support for multi-valued options in CommandLine
...
Makes possible to specify options that take multiple arguments (a-la
-sectalign on Darwin). See documentation for details.
llvm-svn: 62372
2009-01-16 22:54:19 +00:00
Chris Lattner
7067b4f49d
remove FullSourceLoc::isFileID
...
llvm-svn: 62371
2009-01-16 22:53:56 +00:00
Chris Lattner
671689a440
an instantiation loc is always a file loc.
...
llvm-svn: 62370
2009-01-16 22:53:27 +00:00
Dan Gohman
703a6c7274
Give IA64 a TargetSubtarget subclass, so that it can
...
implement getSubtargetImpl.
llvm-svn: 62369
2009-01-16 22:49:36 +00:00
Chris Lattner
5882771102
Fix PR2477 - clang misparses "//*" in C89 mode
...
llvm-svn: 62368
2009-01-16 22:39:25 +00:00
Chris Lattner
dde6eb34bb
Make sure to escape " when it occurs in a string in pragma comment
...
llvm-svn: 62367
2009-01-16 22:13:37 +00:00
Dan Gohman
5f8a2598b2
Instead of adding dependence edges between terminator instructions
...
and every other instruction in their blocks to keep the terminator
instructions at the end, teach the post-RA scheduler how to operate
on ranges of instructions, and exclude terminators from the range
of instructions that get scheduled.
Also, exclude mid-block labels, such as EH_LABEL instructions, and
schedule code before them separately from code after them. This
fixes problems with the post-RA scheduler moving code past
EH_LABELs.
llvm-svn: 62366
2009-01-16 22:10:20 +00:00
Dan Gohman
157e008816
If an anti-dependence uses a non-allocatable register, set AntiDepReg
...
to 0, to ensure that the subsequent code doesn't try to break the
dependence.
llvm-svn: 62365
2009-01-16 21:57:43 +00:00
Dan Gohman
38978ba972
Use the getNode() accessor instead of accessing the Node
...
member directly, which is private as of r55504.
llvm-svn: 62364
2009-01-16 21:47:21 +00:00
Dan Gohman
f1002495e3
Disable the post-RA scheduler on this test, since it uses a
...
simple %prcontext which doesn't find what it's looking for
if the scheduler has rearranged the instructions.
llvm-svn: 62363
2009-01-16 21:40:12 +00:00