Commit Graph

48707 Commits

Author SHA1 Message Date
Evan Cheng da9b752883 FIX PR2794. Make sure SIGN_EXTEND_INREG nodes introduced by LegalizeSetCCOperands are leglized. Patch by Richard Pennington.
llvm-svn: 57460
2008-10-13 18:46:18 +00:00
Duncan Sands 8547c2d56f MarkModRef -> AddReadAttrs.
llvm-svn: 57459
2008-10-13 18:42:43 +00:00
Evan Cheng 4c499c4fa6 Also update sub-register intervals after a trivial computation is rematt'ed for a copy instruction. PR2775.
llvm-svn: 57458
2008-10-13 18:35:52 +00:00
Duncan Sands b34d5906b8 Add some llvm-gcc changes that may be worth
detailing.

llvm-svn: 57457
2008-10-13 18:33:28 +00:00
Evan Cheng 762f0f53ec Add a test case for _Complex passed as a FCA.
llvm-svn: 57456
2008-10-13 18:13:07 +00:00
Chris Lattner 44c09cd164 give the static analyzer its own section.
llvm-svn: 57455
2008-10-13 18:11:54 +00:00
Chris Lattner f5cd98683e more rearranging.
llvm-svn: 57453
2008-10-13 18:01:01 +00:00
Chris Lattner 1e4d5bc071 move major changes down.
llvm-svn: 57452
2008-10-13 17:57:36 +00:00
Duncan Sands 719f778de5 Fix typo. Add note on trampoline support.
llvm-svn: 57450
2008-10-13 17:32:15 +00:00
Evan Cheng be688ffced Clarify meaning of copyRegToReg's return value.
llvm-svn: 57449
2008-10-13 17:30:56 +00:00
Duncan Sands aef747fc53 Update the Ada part.
llvm-svn: 57447
2008-10-13 17:27:23 +00:00
Chris Lattner 3fc6e59083 final note.
llvm-svn: 57446
2008-10-13 17:12:51 +00:00
Daniel Dunbar d9eff3d4e4 Lift out ABIInfo abstract base class.
- Currently still lives in CGCall.cpp but is intended to be the
   target specific place for hooking ABI information.
 - Select ABIInfo to use based on Target's prefix and pointer width.

llvm-svn: 57445
2008-10-13 17:02:26 +00:00
Chris Lattner 0ae020952b fix some crazily long lines.
llvm-svn: 57444
2008-10-13 16:55:18 +00:00
Matthijs Kooijman f7d3cb5435 Make InstructionCombining::getBitCastOperand() recognize GEP instructions and
constant expression with all zero indices as being the same as a bitcast.

llvm-svn: 57442
2008-10-13 15:17:01 +00:00
Matthijs Kooijman 0e2682781c Improve the description on the getelementptr instruction. It should now better
define what the instruction does. This also makes it clear that getelementptr
can index into a vector type.

llvm-svn: 57440
2008-10-13 13:44:15 +00:00
Matthijs Kooijman 43686a6665 * Make TargetLowering not crash when TargetMachine::getTargetAsmInfo() returns
null. This assumes that any target that does not have AsmInfo, does not
   support "LocAndDot".

llvm-svn: 57438
2008-10-13 12:41:46 +00:00
Matthijs Kooijman c8d7988da8 Make MachineFunction not crash when TargetMachine::getRegisterInfo() returns
NULL, but just hide some debug output then.

llvm-svn: 57437
2008-10-13 12:37:16 +00:00
Gabor Greif 35e1387ac6 fix typo's
llvm-svn: 57435
2008-10-13 10:28:12 +00:00
Gabor Greif da83472fa6 remove a deprecated internal interface
llvm-svn: 57434
2008-10-13 10:25:27 +00:00
Gabor Greif cf1d1b7fbc do not use deprecated interfaces
llvm-svn: 57433
2008-10-13 10:21:17 +00:00
Gabor Greif dae874ced9 ignore the standard output dirs
llvm-svn: 57432
2008-10-13 09:38:08 +00:00
Nick Lewycky 707663eda8 Disallow the construction of SCEVs with could-not-compute operands. Catch CNCs
returned by BinomialCoefficient and don't try to operate with them. This
replaces the previous fix for PR2857.

llvm-svn: 57431
2008-10-13 03:58:02 +00:00
Mikhail Glushenkov d3ec89e733 Add whitespace before a parenthesis.
llvm-svn: 57430
2008-10-13 02:46:01 +00:00
Mikhail Glushenkov 024f7cf859 Add a note on llvmc2 plugins + remove some trailing whitespace (my Emacs does this automatically).
llvm-svn: 57429
2008-10-13 02:08:34 +00:00
Chris Lattner c52af45304 calls can be supported.
llvm-svn: 57428
2008-10-13 01:59:13 +00:00
Chris Lattner e3df07e417 more notes
llvm-svn: 57427
2008-10-12 22:57:58 +00:00
Dale Johannesen cc98e28f37 Change TAG_ names to DW_TAG for gcc (testsuite) compatibility.
llvm-svn: 57425
2008-10-12 21:23:01 +00:00
Owen Anderson fe1f3d6e08 Fix a bug in live-in detection that caused lost-copy problems to show up.
llvm-svn: 57424
2008-10-12 20:39:30 +00:00
Chris Lattner c4d68546e3 add some more notes
llvm-svn: 57423
2008-10-12 19:47:48 +00:00
Chris Lattner 2824ba52c3 this was to be removed after 2.4 branched.
llvm-svn: 57422
2008-10-12 18:57:09 +00:00
Argyrios Kyrtzidis 9103317346 More const-ness goodness.
llvm-svn: 57420
2008-10-12 18:45:56 +00:00
Dale Johannesen bb5d04fc82 Remove "long" variants so these will pass on a 64-bit host.
llvm-svn: 57418
2008-10-12 18:40:49 +00:00
Argyrios Kyrtzidis 01622642d3 Improve the const-ness of a few methods.
No functionality change.

llvm-svn: 57417
2008-10-12 18:40:01 +00:00
Chris Lattner 6396952f37 add some notes
llvm-svn: 57416
2008-10-12 18:30:33 +00:00
Argyrios Kyrtzidis 3768ad6d58 Implement more efficient Decl <-> DeclContext conversions.
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
2008-10-12 16:14:48 +00:00
Anton Korobeynikov 46a9c01fff Update size of inst correctly with segment override.
llvm-svn: 57414
2008-10-12 10:30:11 +00:00
Owen Anderson de9812de43 Add special-case code to allow null-guards on calls to malloc.
llvm-svn: 57413
2008-10-12 08:10:46 +00:00
Owen Anderson f2699bb57d Make Escape Analysis work for any pointer.
llvm-svn: 57412
2008-10-12 07:33:29 +00:00
Owen Anderson 71cf4c440c Add EscapeAnalysis.
llvm-svn: 57411
2008-10-12 06:49:21 +00:00
Dale Johannesen ba074c0fed Change Dwarf comments starting with AT_ to DW_AT_ to
match gcc.  Helps with the testsuite.

llvm-svn: 57410
2008-10-12 06:20:47 +00:00
Chris Lattner f6a3bda65e make the -rewrite-test a bit more interesting: it now
wraps comments in <i> tags.  Extend rewrite tokens to support
this minimal functionality.

llvm-svn: 57409
2008-10-12 06:09:52 +00:00
Owen Anderson 198966dbef Fix crashes and infinite loops.
llvm-svn: 57408
2008-10-12 06:03:38 +00:00
Chris Lattner b6aa53b7de start implementing a token rewriter. At this point, it just reads in a file
and lets a client iterate over it. 

llvm-svn: 57407
2008-10-12 05:44:03 +00:00
Chris Lattner 1782da2f84 Add a new -rewrite-test option, which is basically a
playground to experiment with some new rewriter approaches. For now
it is probably the most complex version of 'cat' ever invented.

llvm-svn: 57406
2008-10-12 05:29:20 +00:00
Chris Lattner fc7d4a3bd2 Add a new -dump-raw-tokens option, which allows us to see raw tokens.
Rename -dumptokens to -dump-tokens.

llvm-svn: 57405
2008-10-12 05:03:36 +00:00
Chris Lattner b11c3233d8 Change FormTokenWithChars to take the token kind to form, since all clients
were setting a kind and then forming it.  This is just a minor API cleanup, 
no functionality change.

llvm-svn: 57404
2008-10-12 04:51:35 +00:00
Chris Lattner 99e7d23455 When in keep whitespace mode, make sure to return block comments that are
unterminated.

llvm-svn: 57403
2008-10-12 04:19:49 +00:00
Chris Lattner e01e758e11 Change SkipBlockComment and SkipBCPLComment to return true when in
keep comment mode, instead of returning false.  This matches SkipWhitespace.

llvm-svn: 57402
2008-10-12 04:15:42 +00:00
Chris Lattner 4d96344c19 Add a new mode to the lexer which enables it to return all characters,
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
2008-10-12 04:05:48 +00:00