Commit Graph

45767 Commits

Author SHA1 Message Date
Chris Lattner 1b317ea48a simplify logic a bit
llvm-svn: 53527
2008-07-13 21:15:11 +00:00
Chris Lattner 2e25b8f444 Refactor some code out into its own helper function, getting rid of crazy multiline
conditionals and commenting the code better.

No functionality change.

llvm-svn: 53526
2008-07-13 21:12:01 +00:00
Duncan Sands 2e6f7b49bf Fix comment.
llvm-svn: 53525
2008-07-13 20:14:38 +00:00
Cedric Venet 455298f2d6 test commit. Remove previously added line.
llvm-svn: 53524
2008-07-13 19:42:06 +00:00
Chris Lattner 501c3b67fd Fix PR2231 - opt -internalize -std-compile-opts should run internalize first
llvm-svn: 53523
2008-07-13 19:35:21 +00:00
Cedric Venet 1e43f55933 test commit. Add a blank line.
llvm-svn: 53522
2008-07-13 19:34:37 +00:00
Cedric Venet bea0963a5c Remove deleted files from VC++ project.
llvm-svn: 53521
2008-07-13 11:12:36 +00:00
Argyrios Kyrtzidis 07b8b63f9f Use of NextToken() makes ParseIdentifierStatement unnecessary.
Simplify the parser by removing Parser::ParseIdentifierStatement.

llvm-svn: 53520
2008-07-12 21:04:42 +00:00
Argyrios Kyrtzidis 715eabcef5 Convert CRLF -> LF line endings.
llvm-svn: 53519
2008-07-12 20:28:04 +00:00
Cedric Venet 71262487c3 Added two new files to VC++ project.
llvm-svn: 53518
2008-07-12 19:24:14 +00:00
Ted Kremenek 0017db2ff5 Inline typedef for alist_iterator::pointer to work with MSVC++.
llvm-svn: 53517
2008-07-12 18:28:46 +00:00
Nick Lewycky b5688ccf57 Stop creating extraneous smax/umax in SCEV. This removes a regression where we
started complicating many loops ('for' loops, in fact).

llvm-svn: 53508
2008-07-12 07:41:32 +00:00
Nick Lewycky e424236c4e operator[] is not defined for list::iterator. Overload it in ilist::iterator
to prevent silly things from happening accidentally. PR2171

llvm-svn: 53507
2008-07-12 07:00:52 +00:00
Nick Lewycky f76aa23b54 Enhance analysis of srem.
Remove dead code analyzing urem. 'urem' of power-of-2 is canonicalized to an
'and' instruction.

llvm-svn: 53506
2008-07-12 05:04:38 +00:00
Evan Cheng 32e376f354 Implement llvm.atomic.cmp.swap.i32 on PPC. Patch by Gary Benson!
llvm-svn: 53505
2008-07-12 02:23:19 +00:00
Evan Cheng 2b3c52d5c4 Typos.
llvm-svn: 53504
2008-07-12 02:22:07 +00:00
Evan Cheng e0a352e8e7 Fix PR2536: a nasty spiller bug. If a two-address instruction uses a register but the use portion of its live range is not part of its liveinterval, it must be defined by an implicit_def. In that case, do not spill the use. e.g.
8   %reg1024<def> = IMPLICIT_DEF
12  %reg1024<def> = INSERT_SUBREG %reg1024<kill>, %reg1025, 2

The live range [12, 14) are not part of the r1024 live interval since it's defined by an implicit def. It will not conflicts with live interval of r1025. Now suppose both registers are spilled, you can easily see a situation where both registers are reloaded before the INSERT_SUBREG and both target registers that would overlap.

llvm-svn: 53503
2008-07-12 01:56:02 +00:00
Evan Cheng ef8412c822 Back out 53476 and 53480 for now. Somehow they cause llc to miscompile 179.art.
llvm-svn: 53502
2008-07-12 01:38:51 +00:00
Chris Lattner 477c4be1e9 expand casts to handle what isIntegerConstantExpr handles.
Casts from pointers remain a problem. :)

llvm-svn: 53501
2008-07-12 01:15:53 +00:00
Chris Lattner 7174bf3722 Add support for __builtin_type_compatible_p, enums, etc.
llvm-svn: 53500
2008-07-12 00:38:25 +00:00
Chris Lattner 9941570ce9 start remembering diagnostics for various cases, add some missing
code.  Switch to Eli's getIntWidth method.

llvm-svn: 53499
2008-07-12 00:14:42 +00:00
Dan Gohman 9a542a4d5f Add a utility function to MachineInstr for testing whether an instruction
has exactly one MachineMemOperand, and change some X86 lowering code to
make use of it.

llvm-svn: 53498
2008-07-12 00:10:52 +00:00
Ted Kremenek 20704a0ce8 Updated latest checker build. This build includes the new check for type-compatibility of the return types of ObjC methods.
llvm-svn: 53496
2008-07-11 23:29:43 +00:00
Ted Kremenek e5b5953672 Tidy up error message.
llvm-svn: 53493
2008-07-11 23:17:01 +00:00
Ted Kremenek ba1196298a Add CSS for word wrapping of long message bubbles.
llvm-svn: 53492
2008-07-11 23:13:22 +00:00
Chris Lattner cdf34e7668 Provide a structure for passing down 'is evaluated' and passing up
diagnosic+loc info for i-c-e evaluation.

llvm-svn: 53490
2008-07-11 22:52:41 +00:00
Dan Gohman 0e52a0c89e Fix spelling of "hierarchy" in comments.
llvm-svn: 53489
2008-07-11 22:51:32 +00:00
Ted Kremenek dfc7b3d329 Update Xcode project.
llvm-svn: 53488
2008-07-11 22:48:58 +00:00
Dan Gohman cd9b66e5c1 Fix typos in comments.
llvm-svn: 53487
2008-07-11 22:48:20 +00:00
Dan Gohman 02c7c6cb33 Include a frame index in the "fixed stack" pseudo source value
instead of using the frame index for the SVOffset, which was
inconsistent.

llvm-svn: 53486
2008-07-11 22:44:52 +00:00
Ted Kremenek 1a74784517 Minor tweaks to the ImmutableList iterator interface.
Added partial specialization of DenseMapInfo<T> for ImmutableList.

llvm-svn: 53485
2008-07-11 22:43:07 +00:00
Bill Wendling 5c77307c2b Porting r53478 into mainline:
Update to build_llvm. Don't output a floating point number for the version.

llvm-svn: 53484
2008-07-11 22:42:10 +00:00
Ted Kremenek afe2c0be34 Run by default: -check-objc-methodsigs
llvm-svn: 53483
2008-07-11 22:41:43 +00:00
Ted Kremenek 3bfb314c25 Add new check: -check-objc-methodsigs. This check scans methods in
ObjCImplementationDecls and sees if a ancestor class defines a method with the
same selector but with a different type signature. Right now it just compares
return types, and mainly looks at differences in primitive values. The checking
will be expanded in the future.

llvm-svn: 53482
2008-07-11 22:40:47 +00:00
Dan Gohman ed087a62dc Fix an obsolete top-level comment.
llvm-svn: 53481
2008-07-11 22:39:58 +00:00
Dan Gohman f4cd404e6f Factor out debugging code into the common base class.
llvm-svn: 53480
2008-07-11 22:36:22 +00:00
Chris Lattner f09ad16cfc simplify some code a bit.
llvm-svn: 53477
2008-07-11 22:15:16 +00:00
Dan Gohman 36a69373dc Add support for putting NamedRegionTimers in TimerGroups, and
use a timer group for the timers in SelectionDAGISel. Also,
Split scheduling out from emitting, to give each their own
timer.

llvm-svn: 53476
2008-07-11 21:54:34 +00:00
Chris Lattner f8d7f72956 share code between sizeof(expr) and sizeof(type)
llvm-svn: 53475
2008-07-11 21:24:13 +00:00
Dan Gohman 3707f1daba Use find instead of lower_bound.
llvm-svn: 53474
2008-07-11 20:58:19 +00:00
Ted Kremenek aced3ad4b8 Fix comment.
llvm-svn: 53473
2008-07-11 20:53:14 +00:00
Chris Lattner 9fc580f2d0 add support for returning i128, PR2532.
llvm-svn: 53472
2008-07-11 20:53:00 +00:00
Dan Gohman 0597e5b697 Trim unnecessary #includes.
llvm-svn: 53471
2008-07-11 20:38:31 +00:00
Owen Anderson 8e462e9a82 Don't call lookupNumber more than we have to.
llvm-svn: 53470
2008-07-11 20:05:13 +00:00
Chris Lattner b062dcc17b implement support for __extension__, make sure the result of a
comparison has the right width.

llvm-svn: 53469
2008-07-11 19:29:32 +00:00
Chris Lattner ae8cc15977 add a new getIntTypeSizeInBits method.
llvm-svn: 53468
2008-07-11 19:24:49 +00:00
Chris Lattner 2bd2e028ca rename "SInt" methods to "Int" in APValue.
llvm-svn: 53467
2008-07-11 19:19:21 +00:00
Ted Kremenek 36f8212299 scan-build now also prints the HTML directory reports were emitted to at the end of the build.
llvm-svn: 53466
2008-07-11 19:15:05 +00:00
Chris Lattner e13042c04f make the new evaluator avoid conversions APValue<->APSInt in some cases.
Add some accessors to APValue.

llvm-svn: 53465
2008-07-11 19:10:17 +00:00
Ted Kremenek c50e1a196e Refactored auditor interface within GRExprEngine and GRCoreEngine to use a "batch auditor" to dispatch to specialized auditors instead of having a separate vector for each audited Expr*. This not only provides a much cleaner implementation, but also allows us to install auditors for any expression.
llvm-svn: 53464
2008-07-11 18:37:32 +00:00