Commit Graph

43277 Commits

Author SHA1 Message Date
Dale Johannesen ce9dc86994 Fix a scalar evolution bug. Reversing everything
does not work because of 0; 2>0 but -2U is also >0.

llvm-svn: 49928
2008-04-18 21:38:31 +00:00
Steve Naroff dcdcdcdfef Fix <rdar://problem/5874697> Rewriter: method arguments with complex types not being rewritten properly.
llvm-svn: 49925
2008-04-18 21:13:19 +00:00
Nicolas Geoffray 85a9f1911e Enable jitting with a known memory size.
llvm-svn: 49924
2008-04-18 20:59:31 +00:00
Duncan Sands 1ec193e90b Implement a bit more softfloat support in
LegalizeTypes.  Correct the load logic so
that it actually works, and also teach it
to handle floating point extending loads.

llvm-svn: 49923
2008-04-18 20:56:03 +00:00
Dan Gohman ad4071a9e1 Fix the handling of va_copy on x86-64. As of llvm-gcc r49920
llvm-gcc is now lowering va_copy on x86-64, so this completes
the fix for PR2230.

llvm-svn: 49922
2008-04-18 20:55:41 +00:00
Evan Cheng 00bd8d904a - Fix atomic operation JIT encoding.
- Remove unused instructions.

llvm-svn: 49921
2008-04-18 20:55:36 +00:00
Ted Kremenek 31484b2477 Generalize caching mechanism for bugs reports. Now individual BugTypes
can decide the policy on how to cache related bugs.  This allows us to
properly to handle warning about multiple leaks in the same location in the
ref count checker (not yet done).

llvm-svn: 49918
2008-04-18 20:54:29 +00:00
Ted Kremenek c072b820cf Fixed more caching bugs related to the one fixed in r49914. Silence
compiler warning introduced by a recent patch of mine.

llvm-svn: 49917
2008-04-18 20:35:30 +00:00
Duncan Sands a8a61562af Add some more FIXME's for indexed loads and stores.
llvm-svn: 49916
2008-04-18 20:27:12 +00:00
Duncan Sands b4e0b24e0a Provide an explicit list of operands to MakeLibcall,
rather than having it suck them out of a node.  Add
a bunch of new libcalls, and remove dead softfloat
code (dead, because FloatToInt is used not Expand
in this case).  Note that indexed stores probably
aren't handled properly, likewise for loads.

llvm-svn: 49915
2008-04-18 20:25:14 +00:00
Ted Kremenek acefba896c Fixed elusive caching bug that led to false positives.
llvm-svn: 49914
2008-04-18 19:34:16 +00:00
Evan Cheng d556115e7e Correct comment.
llvm-svn: 49913
2008-04-18 19:25:26 +00:00
Ted Kremenek 4d83728a57 Added "GetErrorNodes()" to BugType so that -trim-egraph can recognize errors
from registered BugTypes.  This helps with debugging.

Add detection of NULL values in ref count checker; this suppresses false positives.

llvm-svn: 49912
2008-04-18 19:23:43 +00:00
Evan Cheng 495a516390 Not safe to "kill" a register if its live range extends pass the end of block branch.
llvm-svn: 49911
2008-04-18 19:22:23 +00:00
Ted Kremenek 3388381993 Added "EvalAssume" virtual method to GRTransferFuncs; this is for evaluating
the checker-specific logic of symbolic assumptions.

llvm-svn: 49910
2008-04-18 17:20:23 +00:00
Nate Begeman 65bea23674 Tabs -> spaces
llvm-svn: 49909
2008-04-18 17:17:24 +00:00
Ted Kremenek 532ba14fdb Spelling fix.
llvm-svn: 49908
2008-04-18 16:58:34 +00:00
Ted Kremenek d004c418b6 Fixed bug in GREndPathNodeBuilder: only return a node if it wasn't in the node cache.
llvm-svn: 49907
2008-04-18 16:30:14 +00:00
Ted Kremenek b06817e914 scan-build now fixes permissions of report files and directories, which may
be created as "temporary files" that are not world readable.

llvm-svn: 49904
2008-04-18 15:18:20 +00:00
Ted Kremenek 4bf02a0856 Compute a digest of each report file, and nuke reports that have the same
digest as a file already added to the index.  This a workaround for the
analyzer analyzing the same file more than once, which can happen when building
multiple targets.

llvm-svn: 49903
2008-04-18 15:09:30 +00:00
Nate Begeman c00bed3871 Initialize default double width and alignment
llvm-svn: 49899
2008-04-18 05:49:49 +00:00
Nate Begeman 26ed25253e Allow targets to override double size, alignment, and semantics, and tie this
information into the IR type codegen.  This allows a target to codegen the C
'double' type as either double or float.

llvm-svn: 49898
2008-04-18 05:41:31 +00:00
Ted Kremenek 71c41d9561 Restore macro expansion for HTMLPrint by using the original Preprocessor.
This is a workaround until we figure out why a freshly create Preprocessor
doesn't expand macros from headers.

llvm-svn: 49897
2008-04-18 05:35:23 +00:00
Ted Kremenek a960be4bd4 Provide a version of html::HighlightMacros that takes a Preprocessor&.
llvm-svn: 49896
2008-04-18 05:34:33 +00:00
Ted Kremenek f03e07c34d More grammar fixes.
llvm-svn: 49895
2008-04-18 05:32:44 +00:00
Ted Kremenek ca8892b456 Fix plurality debacle.
llvm-svn: 49894
2008-04-18 05:13:26 +00:00
Ted Kremenek 9e48b0c4ed Fixed range highlighting bug in HTML diagnostics.
llvm-svn: 49893
2008-04-18 05:01:33 +00:00
Ted Kremenek 40d601f958 Added path diagnostics for reference counts.
llvm-svn: 49892
2008-04-18 04:55:01 +00:00
Chris Lattner 4bbd164a7a Make tab insertion really right: the number of spaces inserted
depends on the column number of the start of the tab.

llvm-svn: 49891
2008-04-18 04:54:20 +00:00
Ted Kremenek c88fb63da0 Several Expr subclasses did not mark "getSourceRange()" virtual. Fixed.
llvm-svn: 49890
2008-04-18 04:18:16 +00:00
Ted Kremenek 396f43620f BugReport::VisitNode now takes BugReporter& instead of ASTContext&.
Shuffled around code in CFRefCount to better pair classes with implementation,
and started adding subclasses of RangedBugReport to handle better diagnostics
for reference count bugs.

llvm-svn: 49889
2008-04-18 03:39:05 +00:00
Ted Kremenek a3d02636ef Use HTML5 doctype when generating HTML.
llvm-svn: 49888
2008-04-18 03:37:38 +00:00
Ted Kremenek 89e6a9b98c Added null check.
llvm-svn: 49887
2008-04-18 02:24:50 +00:00
Ted Kremenek a821e087de Updated CSS colors. Patch by Cedric Venet!
llvm-svn: 49886
2008-04-18 02:12:39 +00:00
Ted Kremenek 217e9bff2b Added test cases to test for reference count leaks.
llvm-svn: 49885
2008-04-18 02:00:02 +00:00
Ted Kremenek cffe635699 Simplified internal logic of BugReporter, consolidating EmitWarning and
EmitPathWarning into one method.  We now properly handle emitting warnings
without a PathDiagnosticClient when the warning does not involve a particular
statement.

llvm-svn: 49884
2008-04-18 01:56:37 +00:00
Fariborz Jahanian d83bdd3841 Fixed a bug in categories and properties.
llvm-svn: 49883
2008-04-18 00:30:47 +00:00
Fariborz Jahanian ffe97a3925 Initial work for property implementation declarations.
Mostly semantic checking in this patch. This is on going
and incomplete.

llvm-svn: 49882
2008-04-18 00:19:30 +00:00
Steve Naroff be89ba0c38 Update VC++ project files.
llvm-svn: 49881
2008-04-17 23:51:38 +00:00
Ted Kremenek 69049c272f Modified BugReport::getEndPath() to handle the case where end path is at
the exit block of the CFG.

llvm-svn: 49880
2008-04-17 23:44:37 +00:00
Ted Kremenek cc0951bde1 Hook up reporting reference count memory leaks to the BugReporter mechanism.
llvm-svn: 49879
2008-04-17 23:43:50 +00:00
Evan Cheng 5879213597 Also support Intel asm syntax.
llvm-svn: 49878
2008-04-17 23:35:10 +00:00
Chris Lattner 54349c5f4d Fix a problem noticed by Nuno, where we wouldn't escape characters in
macro expansions.

llvm-svn: 49877
2008-04-17 23:03:14 +00:00
Dan Gohman 75c895dbc4 Remove the implicit conversion from SDOperandPtr to SDOperand*; this
may fix a build error on Visual Studio.

llvm-svn: 49876
2008-04-17 23:02:12 +00:00
Ted Kremenek f42f3fb47d class Preprocessor: Now owns the "predefines" char*; it deletes [] it in its dstor.
clang.cpp: InitializePreprocessor now makes a copy of the contents of PredefinesBuffer and
  passes it to the preprocessor object.
  
clang.cpp: DriverPreprocessorFactory now calls "InitializePreprocessor" instead of this being done in main().

html::HighlightMacros() now takes a PreprocessorFactory, allowing it to conjure up a new
Preprocessor to highlight macros.

class HTMLDiagnostics now takes a PreprocessorFactory* that it can use for html::HighlightMacros().
Updated clients of HTMLDiagnostics to use this new interface.

llvm-svn: 49875
2008-04-17 22:31:54 +00:00
Chris Lattner 7c7e9b3bbe Handle text escaping (e.g. & -> &amp;) last, to avoid interactions between 'replace' operations and insert operations. This fixes a problem with "&;&" on line 666 of the gcc.c example I sent out.
llvm-svn: 49874
2008-04-17 22:24:51 +00:00
Ted Kremenek 306492d8cb Generate the Preprocessor using a local PreprocessorFactory object.
While this adds no extra functionality now, we will soon pass the
PreprocessorFactory object to some ASTConsumers.

llvm-svn: 49873
2008-04-17 21:38:34 +00:00
Chris Lattner 6929bd8047 don't give macros a background
llvm-svn: 49871
2008-04-17 21:32:46 +00:00
Chris Lattner f219126107 Make sure popup is on top over other spans. wrap long line.
llvm-svn: 49870
2008-04-17 21:28:41 +00:00
Evan Cheng 4704baa555 Fix assembly code for atomic operations.
llvm-svn: 49869
2008-04-17 21:26:35 +00:00