summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix a typo that breaks the GCC build. Turns out that Clang isn'tDouglas Gregor2010-06-091-1/+1
| | | | | | | diagnosing this code as an error when it should, so I've filed http://llvm.org/bugs/show_bug.cgi?id=7325. llvm-svn: 105683
* Specialize I-Class instructions better so that we have less work to do in ↵Nate Begeman2010-06-091-4/+20
| | | | | | | | codegen. Parenthesize macro args llvm-svn: 105682
* Remove a 41MB file from the repository; if anyone really wants this, they canEli Friedman2010-06-090-0/+0
| | | | | | download it through viewvc. llvm-svn: 105681
* Added FixIt support to printf format string checking.Tom Care2010-06-094-54/+352
| | | | | | | | | | | | | | | | - Refactored LengthModifier to be a class. - Added toString methods in all member classes of FormatSpecifier. - FixIt suggestions keep user specified flags unless incorrect. Limitations: - The suggestions are not conversion specifier sensitive. For example, if we have a 'pad with zeroes' flag, and the correction is a string conversion specifier, we do not remove the flag. Clang will warn us on the next compilation. A test/Sema/format-strings-fixit.c M include/clang/Analysis/Analyses/PrintfFormatString.h M lib/Analysis/PrintfFormatString.cpp M lib/Sema/SemaChecking.cpp llvm-svn: 105680
* test commitChris Lattner2010-06-091-0/+1
| | | | llvm-svn: 105679
* Tweak our handling of the notion of a standard conversion sequenceDouglas Gregor2010-06-097-45/+75
| | | | | | | | | | | | | being a subsequence of another standard conversion sequence. Instead of requiring exact type equality for the second conversion step, require type *similarity*, which is type equality with cv-qualifiers removed at all levels. This appears to match the behavior of EDG and VC++ (albeit not GCC), and feels more intuitive. Big thanks to John for the line of reasoning that supports this change: since cv-qualifiers are orthogonal to the second conversion step, we should ignore them in the type comparison. llvm-svn: 105678
* Typo.Evan Cheng2010-06-091-1/+1
| | | | llvm-svn: 105677
* Simplify the code a bit and avoid a gcc waring about uninitialized variables.Rafael Espindola2010-06-091-29/+24
| | | | llvm-svn: 105676
* Fix a gcc warning:Rafael Espindola2010-06-091-0/+2
| | | | | | | | | 'class llvm::DAGDeltaAlgorithm' has virtual functions and accessible non-virtual destructor Not sure if this is the best solution, but this class has state and some of the classes that inherit from it also do, so it looks appropriate. llvm-svn: 105675
* A few new x86-64 specific README entries.Eli Friedman2010-06-091-0/+82
| | | | llvm-svn: 105674
* Get rid of getMangledCXXCtorName and getMangledCXXDtorName.Anders Carlsson2010-06-093-24/+8
| | | | llvm-svn: 105673
* More mangling cleanup.Anders Carlsson2010-06-091-6/+8
| | | | llvm-svn: 105672
* Get rid of an unnecessary getMangledName overload.Anders Carlsson2010-06-092-13/+1
| | | | llvm-svn: 105671
* Fix a gcc warning.Rafael Espindola2010-06-091-1/+1
| | | | llvm-svn: 105670
* Thumb2 IT blocks are fairly expensive. When there are multiple selects usingEvan Cheng2010-06-093-13/+292
| | | | | | | | | | | | | | | the same condition, it's important to make sure they are scheduled together to avoid forming multiple IT blocks. I'm adding a pre-regalloc pass that forms IT blocks early (by re-scheduling instructions and split basic blocks) to attempt to fix this. This is not turned on by default since I am not sure this is the right fix. Another issue is llvm selects are modeled as two-address conditional moves. This can be very bad when the copies before the conditional moves are not coalesced away. Teach IT formation pass to move the copies above the IT block (when legal) to avoid breaking the IT block. llvm-svn: 105669
* Fix test.Anders Carlsson2010-06-091-1/+2
| | | | llvm-svn: 105668
* Implement transpose/zip/unzip & table lookup.Nate Begeman2010-06-094-9/+107
| | | | | | Test out some basic constant-checking. llvm-svn: 105667
* Handle instructions which need to be #defines for the purpose of capturing ↵Nate Begeman2010-06-092-24/+62
| | | | | | | | constant arguments Handle extract hi/lo with common code llvm-svn: 105666
* Add argument name comments.Jakob Stoklund Olesen2010-06-091-2/+6
| | | | llvm-svn: 105665
* Added helper function to Type class to determine if a type is a builtin ↵Tom Care2010-06-091-0/+7
| | | | | | | | | type. This complements the existing function that determines if a type is a specific builtin type. Modified: include/clang/AST/Type.h llvm-svn: 105664
* Incremental improvement to the handling of the x86 "Jump if rCX Zero"Kevin Enderby2010-06-081-0/+14
| | | | | | | | | | | | instruction. Added the 64-bit version "jrcxz" so it is recognized and also added the checks for incorrect uses of "jcxz" in 64-bit mode and "jrcxz" in 32-bit mode. Still to do is to correctly handle the encoding of the instruction adding the Address-size override prefix byte, 0x67, when the width of the count register is not the same as the mode the machine is running in. Which for example means the encoding of "jecxz" depends if you are assembling as a 32-bit target or a 64-bit target. llvm-svn: 105661
* Try to fix buildbot tests.Anders Carlsson2010-06-081-5/+5
| | | | llvm-svn: 105660
* Fix memory leak in ASTContext where ASTRecordLayout objects involving C++ ↵Ted Kremenek2010-06-081-7/+10
| | | | | | | | | structures wouldn't have their associated memory destroyed when using a BumpPtrAllocator. These objects internally use a DenseMap. llvm-svn: 105659
* Fix memory leak in Preprocessor where MacroInfo objects in the MICache ↵Ted Kremenek2010-06-081-0/+8
| | | | | | | | wouldn't have their associated SmallVectors get deallocated. llvm-svn: 105658
* Code cleanup: remove explicit flush() in favor of using the ostream's str()Jordy Rose2010-06-081-2/+1
| | | | llvm-svn: 105657
* Split out these asserts so it's more apparent why we're not assemblingEric Christopher2010-06-081-2/+2
| | | | | | that rip-relative address when executing in 32-bit mode. llvm-svn: 105656
* fix copy/paste/modify think-oJim Grosbach2010-06-081-1/+1
| | | | llvm-svn: 105653
* Reapply r105521, this time appending "LLU" to 64 bitBruno Cardoso Lopes2010-06-0815-35/+334
| | | | | | immediates to avoid breaking the build. llvm-svn: 105652
* Add test case.Anders Carlsson2010-06-081-0/+23
| | | | llvm-svn: 105651
* On Darwin, initialization and destruction functions should go into the ↵Anders Carlsson2010-06-083-1/+17
| | | | | | __StaticInit section. llvm-svn: 105650
* Add a global CreateGlobalInitOrDestructFunction and use it for creating ↵Anders Carlsson2010-06-081-11/+17
| | | | | | global init or destruction functions. llvm-svn: 105649
* Rename __tcf_ to __cxx_global_array_dtor. Remove the ↵Anders Carlsson2010-06-083-6/+3
| | | | | | UniqueAggreDestructorCount from CodeGenFunction and let LLVM handle uniquing the internal functions instead. llvm-svn: 105648
* Move GenerateCXXAggrDestructorHelper to CGDeclCXX.cpp where it belongs.Anders Carlsson2010-06-082-38/+37
| | | | llvm-svn: 105647
* Simplify GenerateCXXAggrDestructorHelper.Anders Carlsson2010-06-083-27/+19
| | | | llvm-svn: 105646
* Ensure that mov and not lea are used to stick the address intoEric Christopher2010-06-083-10/+21
| | | | | | the register. While we're at it, make sure it's in the right one. llvm-svn: 105645
* Globally disable -fno-strict-aliasing, for reasons given in the comment.Daniel Dunbar2010-06-081-0/+10
| | | | llvm-svn: 105644
* When referring to a tag that was previously declared only as a friend, Douglas Gregor2010-06-082-1/+16
| | | | | | | build a new declaration for that tag type that will be visible for future lookups of that tag. llvm-svn: 105643
* A built-in overload candidate is consider a non-template function whenDouglas Gregor2010-06-082-1/+12
| | | | | | | determining whether one overload candidate is better than another. Fixes PR7319. llvm-svn: 105642
* Block Code Gen. API. Call destructor on descriptiorFariborz Jahanian2010-06-082-3/+33
| | | | | | entry previously constructed via copy constructor. llvm-svn: 105641
* Makefiles: Remove unnecessary early include of Makefile.config.Daniel Dunbar2010-06-085-22/+0
| | | | llvm-svn: 105640
* Simplify libIndex Makefile, which doesn't need to worry about altivec support.Daniel Dunbar2010-06-081-6/+0
| | | | llvm-svn: 105639
* Makefiles: Set Clang CPP compiler flags in a single location, instead of ↵Daniel Dunbar2010-06-0819-38/+6
| | | | | | scattered throughout the project Makefiles. llvm-svn: 105638
* Makefile: Switch Clang Makefiles to always include the top-level Clang Makefile.Daniel Dunbar2010-06-0833-75/+105
| | | | | | - This eliminates most dependencies on how Clang is installed relative to LLVM. llvm-svn: 105637
* Makefiles: Teach LLVM's recursive makefile descent to update objdir Makefiles ifDaniel Dunbar2010-06-081-4/+9
| | | | | | they are out of date, instead of only testing if they exist. llvm-svn: 105636
* fix typoJim Grosbach2010-06-081-1/+1
| | | | llvm-svn: 105634
* Update Xcode project.Anders Carlsson2010-06-081-20/+26
| | | | llvm-svn: 105633
* Warn about comparisons between arrays and improve self-comparisonDouglas Gregor2010-06-087-17/+137
| | | | | | warnings, from Troy Straszheim! Fixes PR6163. llvm-svn: 105631
* Teach the PrintFunctionNames example to be a proper module, so thatDouglas Gregor2010-06-084-21/+14
| | | | | | | Clang can load it as a plugin. Original fix by Troy D. Straszheim, which I extended with Darwin support. Fixes PR6801. llvm-svn: 105630
* Correctly handle fields with virtual bases containing empty subobjects.Anders Carlsson2010-06-082-2/+54
| | | | llvm-svn: 105628
* Add ccc-analyzer support for '-imacros'. Fixes PR 7204.Ted Kremenek2010-06-081-0/+1
| | | | llvm-svn: 105624
OpenPOWER on IntegriCloud