summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Enhance reference-count checker to correctly identify CG "release" ↵Ted Kremenek2008-10-222-5/+31
| | | | | | functions. This fixes <rdar://problem/6303488>. llvm-svn: 57997
* Fix <rdar://problem/6257675> error: member reference base type ↵Steve Naroff2008-10-222-0/+39
| | | | | | | | ('NSUserDefaults *') is not a structure or union. Teach Sema::ActOnMemberReferenceExpr() to look through local category implementations associated with the class. llvm-svn: 57995
* Only create the target machine when emitting assembly.Daniel Dunbar2008-10-221-17/+17
| | | | llvm-svn: 57993
* Add representation of base classes in the AST, and verify that weDouglas Gregor2008-10-2210-36/+234
| | | | | | | | don't have duplicated direct base classes. Seriliazation of base class specifiers is not yet implemented. llvm-svn: 57991
* [LLVM up] Get rid of std::ostream usage from Backend.cppDaniel Dunbar2008-10-221-18/+4
| | | | llvm-svn: 57990
* Add raw_ostream versions of WriteBitcodeToFile and BitcodeWriterPass.Daniel Dunbar2008-10-223-5/+35
| | | | | | | - The old versions are still hanging around, but should be migrated away from. llvm-svn: 57989
* Add support for assembler-with-cpp (preprocessed .S files), patch byChris Lattner2008-10-222-2/+10
| | | | | | Roman Divacky! llvm-svn: 57988
* Remove allocation of unused stack slot.Dale Johannesen2008-10-221-6/+0
| | | | llvm-svn: 57987
* Fix for PR2881: fix a small leak exposed by valgrind, using a ManagedStatic.Julien Lerouge2008-10-221-6/+5
| | | | llvm-svn: 57984
* Update server URL for checker build.Ted Kremenek2008-10-221-1/+1
| | | | llvm-svn: 57981
* QualType::isMoreQualifiedThan and isAtLeastAsQualifiedAs assert that weDouglas Gregor2008-10-223-6/+16
| | | | | | | | | aren't trying to compare with address-space qualifiers (for now). Clean up handing of DeclRefExprs in Expr::isLvalue and refactor part of the check into a static DeclCanBeLvalue. llvm-svn: 57980
* Add test case for FuncDecl and function pointer variable.Zhongxing Xu2008-10-221-0/+9
| | | | llvm-svn: 57979
* Implement ranking of standard conversion sequences by their qualificationDouglas Gregor2008-10-225-41/+170
| | | | | | | | | | | | conversions (e.g., comparing int* -> const int* against int* -> const volatile int*); see C++ 13.3.3.2p3 bullet 3. Add Sema::UnwrapSimilarPointerTypes to simplify the control flow of IsQualificationConversion and CompareQualificationConversion (and fix the handling of the int* -> volatile int* conversion in the former). llvm-svn: 57978
* Add a bunch of getLValue* methods to RegionStore.Zhongxing Xu2008-10-221-0/+54
| | | | llvm-svn: 57977
* [PR2886] Ignore stderr from ocamlc since it prints unresolvable warnings on ↵Gordon Henriksen2008-10-227-7/+7
| | | | | | some platforms. llvm-svn: 57976
* Regenerate.Gordon Henriksen2008-10-221-1032/+3309
| | | | llvm-svn: 57975
* [PR2886] Don't look for ocaml's .opt executables; something in the ↵Gordon Henriksen2008-10-221-4/+4
| | | | | | autoconf/test machinery doesn't handle the period properly. llvm-svn: 57974
* LegalizeTypes soft-float support for fpow.Duncan Sands2008-10-222-1/+15
| | | | llvm-svn: 57973
* Get this working with LegalizeTypes: (1) don'tDuncan Sands2008-10-221-5/+9
| | | | | | | | | assume that i64 has been turned into a BUILD_PAIR node (when called from LegalizeTypes this hasn't happened yet) and don't use a vector shuffle mask with an illegal element type. llvm-svn: 57972
* Regenerate configureTorok Edwin2008-10-221-3305/+1075
| | | | llvm-svn: 57971
* Unbreak LLVM on the MSVC compiler:Argyrios Kyrtzidis2008-10-223-2/+5
| | | | | | | -Bring in int64_t for TableGen/Record.h and TableGen/TGLexer.h -Define strtoull llvm-svn: 57970
* Use spaces rather than tab.Duncan Sands2008-10-221-1/+1
| | | | llvm-svn: 57969
* Be nice to CellSPU: for this target getSetCCResultTypeDuncan Sands2008-10-221-2/+8
| | | | | | | | | | | | may return i8, which can result in SELECT nodes for which the type of the condition is i8, but there are no patterns for select with i8 condition. Tweak the LegalizeTypes logic to avoid this as much as possible. This isn't a real fix because it is still perfectly possible to end up with such select nodes - CellSPU needs to be fixed IMHO. llvm-svn: 57968
* Port from LegalizeDAG the logic to only generateDuncan Sands2008-10-221-8/+44
| | | | | | ADDC/ADDE/SUBC/SUBE if the target supports it. llvm-svn: 57967
* Add some comments explaining the meaning of a booleanDuncan Sands2008-10-222-11/+11
| | | | | | | | that is not of type MVT::i1 in SELECT and SETCC nodes. Relax the LegalizeTypes SELECT condition promotion sanity checks to allow other condition types than i1. llvm-svn: 57966
* Temporarily allow the operands of a BUILD_VECTORDuncan Sands2008-10-221-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | to have a different type to the vector element type. This should be fairly harmless because in the past guys like this were being built all over the place (and were cleaned up when I added this check). The reason for relaxing this check is that it helps LegalizeTypes legalize vector shuffles: the mask is a BUILD_VECTOR that it is *not always possible* to legalize while keeping it a BUILD_VECTOR (vector_shuffle requires the mask to be a BUILD_VECTOR, as opposed to a vector with the right vector type). With this check it is even harder to legalize the mask - turning the check off means that LegalizeTypes manages to legalize almost all vector shuffles encountered in practice. The correct solution is to change vector_shuffle to be a variadic node with the mask built into it as operands. While waiting for that change, this hack stops the problem with vector_shuffle from blocking the turning on of LegalizeTypes. llvm-svn: 57965
* Adjust parameter order to more natural one.Zhongxing Xu2008-10-224-9/+9
| | | | llvm-svn: 57964
* Exprs of function type is another special case for ImplicitCast.Zhongxing Xu2008-10-221-2/+2
| | | | llvm-svn: 57963
* Fix PR2907 by digging through constant expressions to find FP constants thatChris Lattner2008-10-222-42/+92
| | | | | | are their operands. llvm-svn: 57956
* Move Sema::GetNonReferenceType to QualType::getNonReferenceType and make it ↵Douglas Gregor2008-10-224-40/+44
| | | | | | inline llvm-svn: 57951
* some minor cleanups to ParseObjCTypeName:Chris Lattner2008-10-221-17/+12
| | | | | | | | | | 1. Remove a bogus assertion, clients other than sema can return a null pointer from actions that result in ParseTypeName returning null. 2. Remove dead RParenLoc variable. 3. Simplify control flow handling error conditions. 4. On a major failure, we should skip until ')' not until '}'. llvm-svn: 57949
* Update to use raw_ostream for PrintModulePass.Daniel Dunbar2008-10-221-6/+6
| | | | | | - Stop playing fast and loose with the std stream. llvm-svn: 57948
* Move Print*Pass to use raw_ostream.Daniel Dunbar2008-10-225-20/+27
| | | | llvm-svn: 57946
* CMake: `make install' for libraries, executables and header files.Oscar Fuentes2008-10-224-0/+27
| | | | llvm-svn: 57945
* CMake: use add_llvm_example for HowToUseJIT.Oscar Fuentes2008-10-221-1/+1
| | | | llvm-svn: 57944
* CMake: Turned some libraries into partially linked objects. CorrectedOscar Fuentes2008-10-225-5/+5
| | | | | | names of LLVMCore and ARMCodeGen. llvm-svn: 57943
* Fix a thinko in the qualification-conversion check when the qualificaitons ↵Douglas Gregor2008-10-223-2/+31
| | | | | | are disjoint, and add some overloading-based tests of qualification conversions llvm-svn: 57942
* Functions can be lvalues in C++, but not modifiable lvaluesDouglas Gregor2008-10-221-1/+7
| | | | llvm-svn: 57941
* Adjust comments for pedantic satisfaction.Dale Johannesen2008-10-221-9/+9
| | | | llvm-svn: 57940
* Fix comment to name "TokenFactor" instead of "Token factor".Bill Wendling2008-10-211-1/+1
| | | | llvm-svn: 57939
* Commito, didn't mean to remove this header.Daniel Dunbar2008-10-211-0/+1
| | | | llvm-svn: 57938
* CMake: updated lib/VMCore/CMakeLists.txtOscar Fuentes2008-10-211-0/+1
| | | | llvm-svn: 57937
* [LLVM up] Add basic -S option to clang.Daniel Dunbar2008-10-215-98/+332
| | | | | | | | | | | - Split backend related consumer out into Backend.cpp, replaces LLVMCodeGenWriter. - Structure follows llvm-gcc to some extent. - Still need to implement all the options which impact code generation and the optimization passes which llvm-gcc uses at various levels. llvm-svn: 57936
* Initial step toward supporting qualification conversions (C++ 4.4).Douglas Gregor2008-10-218-12/+182
| | | | | | | | | | | | | | | | | | | | Changes: - Sema::IsQualificationConversion determines whether we have a qualification conversion. - Sema::CheckSingleAssignment constraints now follows the C++ rules in C++, performing an implicit conversion from the right-hand side to the type of the left-hand side rather than checking based on the C notion of "compatibility". We now rely on the implicit-conversion code to determine whether the conversion can happen or not. Sema::TryCopyInitialization has an ugly reference-related hack to cope with the initialization of references, for now. - When building DeclRefExprs, strip away the reference type, since there are no expressions whose type is a reference. We'll need to do this throughout Sema. - Expr::isLvalue now permits functions to be lvalues in C++ (but not in C). llvm-svn: 57935
* Privatize PrintModulePass and PrintFunctionPass and addDaniel Dunbar2008-10-217-68/+118
| | | | | | | createPrintModulePass and createPrintFunctionPass. - So clients who compile w/o RTTI can use them. llvm-svn: 57933
* Add comments to explain uint64->f64 algorithm,Dale Johannesen2008-10-211-0/+35
| | | | | | well, sort of. (Algorithm by Ian Ollmann.) llvm-svn: 57932
* Updated checker build.Ted Kremenek2008-10-211-1/+1
| | | | llvm-svn: 57931
* Add coverage of part of getPrimaryDecl that was failing prior toDaniel Dunbar2008-10-211-3/+4
| | | | | | previous commit. llvm-svn: 57930
* Fix use of dyn_cast.Daniel Dunbar2008-10-211-1/+1
| | | | llvm-svn: 57927
* Add an SSE2 algorithm for uint64->f64 conversion.Dale Johannesen2008-10-213-2/+86
| | | | | | | | | | The same one Apple gcc uses, faster. Also gets the extreme case in gcc.c-torture/execute/ieee/rbug.c correct which we weren't before; this is not sufficient to get the test to pass though, there is another bug. llvm-svn: 57926
OpenPOWER on IntegriCloud