summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix an incorrect union layout assert. Fixes PR6164.Anders Carlsson2010-01-282-1/+9
| | | | llvm-svn: 94754
* s/FunctionNames/DebugInfoNames/gDevang Patel2010-01-282-4/+4
| | | | llvm-svn: 94753
* Support some more options...Mikhail Glushenkov2010-01-281-0/+9
| | | | llvm-svn: 94752
* Emit vtable info.Devang Patel2010-01-282-1/+82
| | | | llvm-svn: 94751
* Remove the folding ruleDan Gohman2010-01-282-22/+84
| | | | | | | | | | | | | | | | | getelementptr (i8* inttoptr (i64 1 to i8*), i32 -1) to inttoptr (i64 0 to i8*) from the VMCore constant folder. It didn't handle sign-extension properly in the case where the source integer is smaller than a pointer size. And, it relied on an assumption about sizeof(i8). The Analysis constant folder still folds these kinds of things; it has access to TargetData, so it can do them right. Add a testcase which tests that the VMCore constant folder doesn't miscompile this, and that the Analysis folder does fold it. llvm-svn: 94750
* Replace strcpy with memcpy when we have the length around anyway.Benjamin Kramer2010-01-285-14/+14
| | | | llvm-svn: 94746
* Fix PR6165. The bug was that LHSKnownZero was being and'd with DemandedMaskDuncan Sands2010-01-282-2/+30
| | | | | | | when it should have been and'd with LowBits. Fix that and while there beef up the logic in the case of a negative LHS. llvm-svn: 94745
* Access control for surrogate function calls. Required a moderately gross hackJohn McCall2010-01-284-3/+22
| | | | | | to get the access bits set properly in conversion sets. llvm-svn: 94744
* Add llvm::Program::ChangeStderrToBinary().Douglas Gregor2010-01-283-2/+14
| | | | llvm-svn: 94743
* Check Type::isSized before calling ScalarEvolution::getAllocSizeExpr,Dan Gohman2010-01-281-21/+23
| | | | | | rather than after. llvm-svn: 94742
* convert the last 3 targets to use EmitFunctionBody() now thatChris Lattner2010-01-284-146/+48
| | | | | | | | | | | | it has before/end body hooks. lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp | 49 ++----------- lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp | 87 ++++++------------------ lib/Target/XCore/AsmPrinter/XCoreAsmPrinter.cpp | 56 +++------------ test/CodeGen/XCore/ashr.ll | 2 4 files changed, 48 insertions(+), 146 deletions(-) llvm-svn: 94741
* Introduce serialization and deserialization of diagnostic informationDouglas Gregor2010-01-2815-10/+391
| | | | | | | | | | | | | | | | | so that CIndex can report diagnostics through the normal mechanisms even when executing Clang in a separate process. This applies both when performing code completion and when using ASTs as an intermediary for clang_createTranslationUnitFromSourceFile(). The serialized format is not perfect at the moment, because it does not encapsulate macro-instantiation information. Instead, it maps all source locations back to the instantiation location. However, it does maintain source-range and fix-it information. To get perfect fidelity from the serialized format would require serializing a large chunk of the source manager; at present, it isn't clear if this code will live long enough for that to matter. llvm-svn: 94740
* Add position of conversion specifier character to 'ConversionSpecifier'.Ted Kremenek2010-01-282-35/+51
| | | | llvm-svn: 94739
* Make getAlignOf return an i64, for consistency with getSizeOf andDan Gohman2010-01-282-4/+3
| | | | | | | getOffsetOf, and remove the comment about assuming i8 is byte-aligned, which is no longer applicable. llvm-svn: 94738
* Remove SCEVAllocSizeExpr and SCEVFieldOffsetExpr, and in their placeDan Gohman2010-01-286-207/+144
| | | | | | | | | | | | | | | | use plain SCEVUnknowns with ConstantExpr::getSizeOf and ConstantExpr::getOffsetOf constants. This eliminates a bunch of special-case code. Also add code for pattern-matching these expressions, for clients that want to recognize them. Move ScalarEvolution's logic for expanding array and vector sizeof expressions into an element count times the element size, to expose the multiplication to subsequent folding, into the regular constant folder. llvm-svn: 94737
* Rename namespace clang::printf to clang::analyze_printf to avoid problems ↵Ted Kremenek2010-01-282-5/+14
| | | | | | where the reference to 'printf' is ambiguous. llvm-svn: 94733
* add target hooks for emitting random gunk before and after the function body.Chris Lattner2010-01-282-0/+14
| | | | llvm-svn: 94732
* Fix a bug introduced by r94490 where it created a X86ISD::CMP whose output ↵Evan Cheng2010-01-282-8/+49
| | | | | | | | type is different from its inputs. This fixes PR6146. llvm-svn: 94731
* Access control for overloaded call operators. Not for surrogates yet,John McCall2010-01-282-0/+11
| | | | | | | | mostly because we're going to want a better diagnostic for conversions. Also this API needs to go back to sanity. llvm-svn: 94730
* switch blackfin to the default runOnMachineFunctionChris Lattner2010-01-281-43/+1
| | | | llvm-svn: 94729
* eliminate a now-useless class.Chris Lattner2010-01-281-13/+1
| | | | llvm-svn: 94728
* Switch MSP430, SPU, Sparc, and SystemZ to use EmitFunctionBody().Chris Lattner2010-01-286-284/+30
| | | | | | | Diffstat: 6 files changed, 30 insertions(+), 284 deletions(-) llvm-svn: 94727
* Update of 94055 to track the IR level call site information via an intrinsic.Jim Grosbach2010-01-287-8/+84
| | | | | | | This allows code gen and the exception table writer to cooperate to make sure landing pads are associated with the correct invoke locations. llvm-svn: 94726
* Access checking for overloaded operators.John McCall2010-01-284-5/+68
| | | | llvm-svn: 94725
* Fixes a rewrite bug rewriting nested ivars reference.Fariborz Jahanian2010-01-284-7/+45
| | | | | | (Radar 7583971). llvm-svn: 94724
* Record the death of ModuleProvier and GhostLinkage in the release notes andJeffrey Yasskin2010-01-281-1/+18
| | | | | | give upgrade instructions. llvm-svn: 94723
* Give AsmPrinter the most common expected implementation of Chris Lattner2010-01-285-114/+32
| | | | | | | | runOnMachineFunction, and switch PPC to use EmitFunctionBody. The two ppc asmprinters now don't heave to define runOnMachineFunction. llvm-svn: 94722
* Add placeholder function in Sema for new format string checking logic.Ted Kremenek2010-01-282-1/+25
| | | | | | | | This function will use the format string parsing logic in libAnalysis, and once it is shown to be better than the current implementation it will replace AlternateCheckPrintfString() entirely. llvm-svn: 94721
* Truncate the release notes so they're ready to accumulate notes for the 2.7 ↵Jeffrey Yasskin2010-01-281-438/+45
| | | | | | release. llvm-svn: 94720
* switch ARM to EmitFunctionBody().Chris Lattner2010-01-281-45/+3
| | | | llvm-svn: 94719
* emit a 0 byte instead of a noop if a function is empty on darwin.Chris Lattner2010-01-282-5/+3
| | | | | | "0" is nice and target independent. llvm-svn: 94718
* Fix 80 col violation.Ted Kremenek2010-01-281-1/+3
| | | | llvm-svn: 94717
* Remove the argument from EmitJumpTableInfo, because it doesn't need it.Chris Lattner2010-01-2814-103/+105
| | | | | | | | Move the X86 implementation of function body emission up to AsmPrinter::EmitFunctionBody, which works by calling the virtual EmitInstruction method. llvm-svn: 94716
* Allow HandleFormatSpecifier() to indicate that no more processing of the ↵Ted Kremenek2010-01-282-3/+4
| | | | | | format string is desired. llvm-svn: 94715
* Switch the remaining diagnostic printing in CIndex over to theDouglas Gregor2010-01-286-45/+59
| | | | | | | | | diagnostic callback mechanism, so all diagnostics now go through that callback. Also, eliminate the displayDiagnostics flag to clang_createIndex(), since it is no longer necessary: the client determines whether to display diagnostics or not. llvm-svn: 94714
* Add '@' conversion specifier.Ted Kremenek2010-01-282-5/+14
| | | | llvm-svn: 94713
* While emitting debugging infor for a C++ class, identify the holder of ↵Devang Patel2010-01-281-1/+11
| | | | | | class's vtable, if any. llvm-svn: 94712
* Include "this" pointer argument while emitting debug info for a C++ method.Devang Patel2010-01-282-1/+41
| | | | llvm-svn: 94710
* Implement a diagnostics callback for the C interface to Clang, so thatDouglas Gregor2010-01-289-121/+677
| | | | | | | | | | | | | | | | | | | | | | | | | clients can format diagnostics as they wish rather than having to parse standard error. All of the important parts of the front end's diagnostics are exposed: text, severity, location, source ranges, and fix-its. The diagnostics callback is now available with clang_createTranslationUnitFromSource() and clang_createTranslationUnit(). As part of this change, CXSourceLocation and CXSourceRange got one pointer larger, since we need to hold on to the SourceManager and LangOptions structures in the source location. This is the minimum amount of information needed for the functions that operate on source locations and ranges (as implemented now). Previously we held on to the ASTContext, but the diagnostics callback can end up with source locations when there is no ASTContext (or preprocessor). Still to do: - Code completion needs to support the diagnostics callback, once we have the ability to (de-)serialize diagnostics. - Eliminate the "displayDiagnostics" argument to createIndex; we'll always pass diagnostics to the callback and let it deal with display. llvm-svn: 94709
* Drop the argument to AsmPrinter::EmitConstantPool and make it virtual.Chris Lattner2010-01-284-4/+7
| | | | | | | Overload it in the ARM backend to do nothing, since is does insane constant pool emission. llvm-svn: 94708
* Remove invalid conversion specifiers from format string checking.Ted Kremenek2010-01-282-10/+0
| | | | llvm-svn: 94707
* don't emit constant pools twice.Chris Lattner2010-01-281-1/+0
| | | | llvm-svn: 94706
* rename printVisibility to EmitVisibility and make it private,Chris Lattner2010-01-282-11/+10
| | | | | | constify EmitLinkage. llvm-svn: 94705
* Add a few more conversion specifiers to ParseFormatSpecifier (these appear ↵Ted Kremenek2010-01-281-20/+27
| | | | | | in SemaChecking). llvm-svn: 94704
* switch ARM to use EmitFunctionHeader.Chris Lattner2010-01-271-44/+15
| | | | llvm-svn: 94703
* Add skeleton for a more structured way to analyzing pring formatTed Kremenek2010-01-273-0/+422
| | | | | | | | | | | | | | | | | | | | | | strings than what we currently have in Sema. This is both an experiment and a WIP. The idea is simple: parse the format string incrementally, constructing a well-structure representation of each format specifier. Each format specifier is then handed back one-by-one to a client via a callback. Malformed format strings are also handled with callbacks. The idea is to separate the parsing of the format string from the emission of diagnostics. Currently what we have in Sema for handling format strings is a mongrel of both that is hard to follow and difficult to modify (I can apply this label since I'm the original author of that code). This is in libAnalysis as it is reasonable generic and can potentially be used both by libSema and libChecker. Comments welcome. llvm-svn: 94702
* eliminate the ARMFunctionInfo::Align member, using Chris Lattner2010-01-273-19/+6
| | | | | | MachineFunction::Alignment instead. llvm-svn: 94701
* add a helper function for bumping up the alignment of a machine function.Chris Lattner2010-01-271-0/+5
| | | | llvm-svn: 94700
* switch blackfin to use EmitFunctionHeader. BlackfinAsmPrinter.cppChris Lattner2010-01-271-37/+5
| | | | | | is now less than 200 LOC! llvm-svn: 94699
* switch mips to use the shared EmitFunctionHeader() functionChris Lattner2010-01-271-41/+19
| | | | llvm-svn: 94698
OpenPOWER on IntegriCloud