summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* add some notesChris Lattner2008-10-121-4/+26
| | | | llvm-svn: 57416
* Implement more efficient Decl <-> DeclContext conversions.Argyrios Kyrtzidis2008-10-125-47/+103
| | | | | | | | When the static type on the Decl side is a subclass of DeclContext the compiler will use a "inlinable" static_cast, instead of always using an out-of-line function call. Note, though, that the isa<> check still uses an out-of-line function call. llvm-svn: 57415
* Update size of inst correctly with segment override.Anton Korobeynikov2008-10-122-0/+12
| | | | llvm-svn: 57414
* Add special-case code to allow null-guards on calls to malloc.Owen Anderson2008-10-121-2/+16
| | | | llvm-svn: 57413
* Make Escape Analysis work for any pointer.Owen Anderson2008-10-122-8/+13
| | | | llvm-svn: 57412
* Add EscapeAnalysis.Owen Anderson2008-10-121-0/+2
| | | | llvm-svn: 57411
* Change Dwarf comments starting with AT_ to DW_AT_ toDale Johannesen2008-10-121-96/+96
| | | | | | match gcc. Helps with the testsuite. llvm-svn: 57410
* make the -rewrite-test a bit more interesting: it now Chris Lattner2008-10-123-25/+82
| | | | | | | wraps comments in <i> tags. Extend rewrite tokens to support this minimal functionality. llvm-svn: 57409
* Fix crashes and infinite loops.Owen Anderson2008-10-121-12/+14
| | | | llvm-svn: 57408
* start implementing a token rewriter. At this point, it just reads in a fileChris Lattner2008-10-125-1/+131
| | | | | | and lets a client iterate over it. llvm-svn: 57407
* Add a new -rewrite-test option, which is basically a Chris Lattner2008-10-124-0/+59
| | | | | | | playground to experiment with some new rewriter approaches. For now it is probably the most complex version of 'cat' ever invented. llvm-svn: 57406
* Add a new -dump-raw-tokens option, which allows us to see raw tokens. Chris Lattner2008-10-122-4/+27
| | | | | | Rename -dumptokens to -dump-tokens. llvm-svn: 57405
* Change FormTokenWithChars to take the token kind to form, since all clientsChris Lattner2008-10-123-129/+111
| | | | | | | were setting a kind and then forming it. This is just a minor API cleanup, no functionality change. llvm-svn: 57404
* When in keep whitespace mode, make sure to return block comments that areChris Lattner2008-10-121-2/+22
| | | | | | unterminated. llvm-svn: 57403
* Change SkipBlockComment and SkipBCPLComment to return true when inChris Lattner2008-10-121-18/+22
| | | | | | keep comment mode, instead of returning false. This matches SkipWhitespace. llvm-svn: 57402
* Add a new mode to the lexer which enables it to return all characters,Chris Lattner2008-10-122-26/+83
| | | | | | | | | | | | | | | | | | | | | | | | even whitespace, as tokens from the file. This is enabled with L->SetKeepWhitespaceMode(true) on a raw lexer. In this mode, you too can use clang as a really complex version of 'cat' with code like this: Lexer RawLex(SourceLocation::getFileLoc(SM.getMainFileID(), 0), PP.getLangOptions(), File.first, File.second); RawLex.SetKeepWhitespaceMode(true); Token RawTok; RawLex.LexFromRawLexer(RawTok); while (RawTok.isNot(tok::eof)) { std::cout << PP.getSpelling(RawTok); RawLex.LexFromRawLexer(RawTok); } This will emit exactly the input file, with no canonicalization or other translation. Realistic clients actually do something with the tokens of course :) llvm-svn: 57401
* Duncan convinced me that it's not possible to transform control-based ↵Owen Anderson2008-10-121-13/+10
| | | | | | | | escapes into data-based ones. Just be conservative when analyzing control-based escapes. llvm-svn: 57400
* Stop the preprocessor from poking the lexer's private parts.Chris Lattner2008-10-121-6/+6
| | | | llvm-svn: 57399
* Fix a couple more places that poke KeepCommentMode unnecesarily. Chris Lattner2008-10-121-3/+4
| | | | llvm-svn: 57398
* add a new inKeepCommentMode() accessor to abstract the KeepCommentModeChris Lattner2008-10-122-4/+11
| | | | | | ivar. llvm-svn: 57397
* fix misleading comment.Chris Lattner2008-10-121-1/+1
| | | | llvm-svn: 57396
* Simplify raw mode lexing by treating an unterminate /**/ comment theChris Lattner2008-10-124-12/+8
| | | | | | | | same we we do an unterminated string or character literal. This makes it so we can guarantee that the lexer never calls into the preprocessor (which would be suicide for a raw lexer). llvm-svn: 57395
* add a comment.Chris Lattner2008-10-121-0/+2
| | | | llvm-svn: 57394
* Change how raw lexers are handled: instead of creating them and thenChris Lattner2008-10-125-27/+26
| | | | | | | | | | | using LexRawToken, create one and use LexFromRawLexer. This avoids twiddling the RawLexer flag around and simplifies some code (even speeding raw lexing up a tiny bit). This change also improves the token paster to use a Lexer on the stack instead of new/deleting it. llvm-svn: 57393
* silence release-assert warnings.Chris Lattner2008-10-124-11/+12
| | | | llvm-svn: 57392
* silence some release-assert warnings.Chris Lattner2008-10-123-10/+8
| | | | llvm-svn: 57391
* silence a bunch of warnings in a release-assert build.Chris Lattner2008-10-121-13/+11
| | | | llvm-svn: 57390
* improve a comment.Chris Lattner2008-10-121-1/+2
| | | | llvm-svn: 57389
* fix typoChris Lattner2008-10-111-1/+1
| | | | llvm-svn: 57388
* Fix PR2697 by rewriting the '(X / pos) op neg' logic. This also changesChris Lattner2008-10-112-10/+23
| | | | | | | | a couple other cases for clarity, but shouldn't affect correctness. Patch by Eli Friedman! llvm-svn: 57387
* update win32 project file, patch provided by OvermindDL1 on llvmdev.Chris Lattner2008-10-111-0/+12
| | | | llvm-svn: 57386
* Change CALLSEQ_BEGIN and CALLSEQ_END to take TargetConstant's asChris Lattner2008-10-1119-70/+74
| | | | | | | parameters instead of raw Constants. This prevents the constants from being selected by the isel pass, fixing PR2735. llvm-svn: 57385
* rearrange some code.Chris Lattner2008-10-111-6/+6
| | | | llvm-svn: 57384
* random cleanupChris Lattner2008-10-111-2/+1
| | | | llvm-svn: 57383
* Add API changes which affected me to release notes:Daniel Dunbar2008-10-111-0/+5
| | | | | | | - DbgStopPointInst - Attributes (needs filling in) llvm-svn: 57382
* Fix comment typo.Duncan Sands2008-10-111-1/+1
| | | | llvm-svn: 57381
* Add ability to override segment (mostly for code emitter purposes).Anton Korobeynikov2008-10-114-1/+23
| | | | llvm-svn: 57380
* Add GCC 4.1.2 from Debian to known bad GCC list.Daniel Dunbar2008-10-111-0/+4
| | | | llvm-svn: 57379
* Note EH stuff for x86-64/linuxAnton Korobeynikov2008-10-111-3/+3
| | | | llvm-svn: 57378
* We do support PIC on x86-64/linuxAnton Korobeynikov2008-10-111-2/+0
| | | | llvm-svn: 57377
* Strip out 2.3 info, make space for 2.4 info. I'd appreciate it ifChris Lattner2008-10-111-274/+40
| | | | | | | various component owners could look through and update their areas in the known-problems section. llvm-svn: 57376
* Unbreak DbgStopPointInst::getFileName().Daniel Dunbar2008-10-111-1/+1
| | | | llvm-svn: 57373
* simplify comparisonChris Lattner2008-10-111-1/+1
| | | | llvm-svn: 57371
* Fix SSE4.1 roundss, roundsd. While the instructions have Dale Johannesen2008-10-102-40/+54
| | | | | | | | the same pattern as roundpd/roundps, the Intel compiler builtins do not: rounds* has an extra operand. Fixes gcc.target/i386/sse4_1-rounds[sd]-[1234].c llvm-svn: 57370
* Check loop exit predicate properly while eliminating one iteration loop.Devang Patel2008-10-102-13/+81
| | | | | | This patch fixes PR 2869 llvm-svn: 57369
* Fix a thinko and unbreak sparc default CCAnton Korobeynikov2008-10-101-2/+2
| | | | llvm-svn: 57368
* Remove some overzealous checks that were rejectingDale Johannesen2008-10-101-12/+8
| | | | | | | valid comments in inline assembly. gcc.target/i386/20011009-1.c llvm-svn: 57365
* Extend set of return registers on sparc until someone will implement MRV ↵Anton Korobeynikov2008-10-101-3/+3
| | | | | | support there. At least, this will allow libgcc compile, however we are not ABI-compatible with stuff compiled with native gcc. llvm-svn: 57364
* Ignore extra 'r' modifier for nowAnton Korobeynikov2008-10-101-2/+9
| | | | llvm-svn: 57363
* Use expand for smul_lohi for nowAnton Korobeynikov2008-10-101-0/+1
| | | | llvm-svn: 57362
OpenPOWER on IntegriCloud