summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Code refactoring.Evan Cheng2009-11-051-49/+58
| | | | llvm-svn: 86085
* Modify GRExprEngine::EvalBind() to take both a "store expression" andTed Kremenek2009-11-055-53/+48
| | | | | | | | an "assign expression", representing the expressions where the value binding occurs and the assignment takes place respectively. These are largely syntactic clues for better error reporting. llvm-svn: 86084
* Implement -Wsign-compare, or at least the actual comparison part of it.John McCall2009-11-055-2/+50
| | | | | | | | Conditional operands are next. Fixes part of rdar://problem/7289584. llvm-svn: 86083
* Attempt again to fix buildbot failures: make expected output less specificBob Wilson2009-11-051-12/+9
| | | | | | and compile with -mtriple to specify *-apple-darwin targets. llvm-svn: 86081
* Correctly add chain dependencies around calls and unknown-side-effect ↵David Goodwin2009-11-051-2/+3
| | | | | | instructions. llvm-svn: 86080
* Make sure to grab CVR qualifiers from the canonical type. ARGH!Douglas Gregor2009-11-053-2/+31
| | | | llvm-svn: 86079
* Update CreateMalloc so that its callers specify the size to allocate:Victor Hernandez2009-11-0519-191/+244
| | | | | | | | | | | | | | | | | | MallocInst-autoupgrade users use non-TargetData-computed allocation sizes. Optimization uses use TargetData to compute the allocation size. Now that malloc calls can have constant sizes, update isArrayMallocHelper() to use TargetData to determine the size of the malloced type and the size of malloced arrays. Extend getMallocType() to support malloc calls that have non-bitcast uses. Update OptimizeGlobalAddressOfMalloc() to optimize malloc calls that have non-bitcast uses. The bitcast use of a malloc call has to be treated specially here because the uses of the bitcast need to be replaced and the bitcast needs to be erased (just like the malloc call) for OptimizeGlobalAddressOfMalloc() to work correctly. Update PerformHeapAllocSRoA() to optimize malloc calls that have non-bitcast uses. The bitcast use of the malloc is not handled specially here because ReplaceUsesOfMallocWithGlobal replaces through the bitcast use. Update OptimizeOnceStoredGlobal() to not care about the malloc calls' bitcast use. Update all globalopt malloc tests to not rely on autoupgraded-MallocInsts, but instead use explicit malloc calls with correct allocation sizes. llvm-svn: 86077
* Kill PreprocessorFactory, which was both morally repugnant and totally unused.Daniel Dunbar2009-11-0413-135/+77
| | | | llvm-svn: 86076
* Fix x86/x64 on Linux, Credit to Rafael Espindola.Edward O'Callaghan2009-11-048-5/+21
| | | | llvm-svn: 86075
* While calculating original type size for a derived type, handle type ↵Devang Patel2009-11-042-9/+13
| | | | | | | | variants encoded as DIDerivedType appropriately. This improves bitfield support. llvm-svn: 86073
* Turn if chain into switch.Daniel Dunbar2009-11-041-3/+15
| | | | llvm-svn: 86071
* Tweak formatting.Daniel Dunbar2009-11-041-10/+9
| | | | llvm-svn: 86070
* Grammar.Jim Grosbach2009-11-041-1/+1
| | | | llvm-svn: 86068
* improve DSE when TargetData is not around, based on work byChris Lattner2009-11-043-6/+31
| | | | | | Hans Wennborg! llvm-svn: 86067
* When instantiating a MemberExpr, be sure to instantiate theDouglas Gregor2009-11-042-5/+49
| | | | | | explicitly-specified template arguments, too! llvm-svn: 86066
* Comments, formatting. Based on patch by Brandon Pearcy!John McCall2009-11-041-2/+8
| | | | llvm-svn: 86065
* Now that the memory leak from McCat/08-main has been fixed (86056), re-enableJim Grosbach2009-11-041-3/+9
| | | | | | | aggressive testing of dynamic stack alignment. Note that this is off by default, and enabled for LLCBETA nightly results. llvm-svn: 86064
* A simple reordering of the definitions in stdint.h and Chris Lattner2009-11-042-268/+266
| | | | | | introduces no new function changes. Patch by Ken Dyck! llvm-svn: 86062
* Diagnose using a field to initialize itself. Patch by Brandon Pearcy!John McCall2009-11-043-0/+94
| | | | llvm-svn: 86061
* When starting a C++ member access expression, make sure to compute theDouglas Gregor2009-11-043-64/+85
| | | | | | | | | type of the object even when it is dependent. Specifically, this makes sure that we get the right type for "this->", which is important when performing name lookup into this scope to determine whether an identifier or operator-function-id is a template name. llvm-svn: 86060
* ignore two new -W flags, patch by Tom Jablin!Chris Lattner2009-11-041-0/+2
| | | | llvm-svn: 86059
* If a function has no stack frame at all, dynamic realignment isn't necessary.Jim Grosbach2009-11-041-0/+1
| | | | llvm-svn: 86057
* dynamic stack realignment necessitates scanning the floating point callee-Jim Grosbach2009-11-041-2/+2
| | | | | | saved instructions even if no stack adjustment for those saves is needed. llvm-svn: 86056
* Give DeclarationName's operator< a more predictable, useful orderingDouglas Gregor2009-11-041-5/+45
| | | | llvm-svn: 86055
* Fix DW_AT_data_member_location for bit-fields. It points to the location of ↵Devang Patel2009-11-041-5/+12
| | | | | | annonymous field that covers respective field. llvm-svn: 86054
* Fixed for running on Windows.John Thompson2009-11-041-1/+1
| | | | llvm-svn: 86053
* Fix a little canonical-types issue with non-type template arguments.Douglas Gregor2009-11-042-1/+17
| | | | | | Fixes PR5349. llvm-svn: 86052
* Add PowerPC codegen for indirect branches.Bob Wilson2009-11-046-0/+100
| | | | llvm-svn: 86050
* Handle empty/tombstone keys for LiveIndex more cleanly. Check for index ↵Lang Hames2009-11-042-20/+46
| | | | | | sanity when constructing index list entries. llvm-svn: 86049
* InitializePreprocessor cannot fail.Daniel Dunbar2009-11-043-8/+4
| | | | llvm-svn: 86048
* Move -undef flag into PreprocessorInitOptionsDaniel Dunbar2009-11-043-11/+18
| | | | llvm-svn: 86047
* A value is only assigned to errno if NumRead equals -1, so doDuncan Sands2009-11-041-1/+1
| | | | | | not reason based on errno if NumRead has a different value. llvm-svn: 86046
* Fix broken test.Bob Wilson2009-11-041-2/+2
| | | | llvm-svn: 86045
* Add some options to disable various code gen optimizations.Eric Christopher2009-11-041-8/+26
| | | | llvm-svn: 86044
* Array element size does not match array size but array is not a bitfield. Devang Patel2009-11-041-1/+3
| | | | llvm-svn: 86043
* Add test for ARM indirectbr codegen.Bob Wilson2009-11-041-0/+63
| | | | llvm-svn: 86042
* Print out an informative comment for KILL instructions.Jakob Stoklund Olesen2009-11-045-2/+18
| | | | | | | | The KILL pseudo-instruction may survive to the asm printer pass, just like the IMPLICIT_DEF. Print the KILL as a comment instead of just leaving a blank line in the output. With -asm-verbose=0, a blank line is printed, like IMPLICIT?DEF. llvm-svn: 86041
* Add code gen for pointer-to-member function inFariborz Jahanian2009-11-042-0/+20
| | | | | | ctor's initializer. Fixes pr5178. llvm-svn: 86040
* Fix an iterator invalidation bug that happens when a hashtableChris Lattner2009-11-041-3/+4
| | | | | | resizes in IPSCCP. This fixes PR5394. llvm-svn: 86036
* Properly replace (cxxscope, template-id) annotation tokens with aDouglas Gregor2009-11-042-5/+18
| | | | | | single typename annotation token when backtracing. Fixes PR5350. llvm-svn: 86034
* This patch extends CleanupScope to support destructionFariborz Jahanian2009-11-044-25/+41
| | | | | | of array objects on block exit. Patch is by Anders Calrsson. llvm-svn: 86032
* Don't try to check the initialization of fields with dependentDouglas Gregor2009-11-042-8/+31
| | | | | | | | types. Fixes PR5352. Fariborz, please review. llvm-svn: 86031
* Store the unresolved class type in MemberPointerType's Class field,Douglas Gregor2009-11-044-9/+37
| | | | | | from Peter Collingbourne! llvm-svn: 86030
* this test has started failing due to an optimizer change. Clang testsChris Lattner2009-11-041-0/+1
| | | | | | | should only look at -O0 IR output not -O3 assembly output. XFAIL it for now. llvm-svn: 86029
* Eliminate the "old" ways of parsing operator-function-ids andDouglas Gregor2009-11-042-142/+0
| | | | | | | conversion-function-ids; all clients have moved on to ParseUnqualifiedId. llvm-svn: 86028
* Switch parsing of using declarations over to ParseUnqualifiedId.Douglas Gregor2009-11-048-64/+86
| | | | llvm-svn: 86027
* Look for llvm-gcc under /Developer/usr/bin first.Evan Cheng2009-11-041-1/+1
| | | | llvm-svn: 86023
* RangeIsDefinedByCopyFromReg() should check for subreg_to_reg, insert_subreg,Evan Cheng2009-11-042-6/+37
| | | | | | | | and extract_subreg as a "copy" that defines a valno. Also fixes a typo. These two issues prevent a simple subreg coalescing from happening before. llvm-svn: 86022
* move two functions up higher in the file. Delete a useless argumentChris Lattner2009-11-042-177/+270
| | | | | | | | | | | | | | to EmitGEPOffset. Implement some new transforms for optimizing subtracts of two pointer to ints into the same vector. This happens for C++ iterator idioms for example, stringmap takes a const char* that points to the start and end of a string. Once inlined, we want the pointer difference to turn back into a length. This is rdar://7362831. llvm-svn: 86021
* filecheckize this test.Chris Lattner2009-11-041-56/+121
| | | | llvm-svn: 86020
OpenPOWER on IntegriCloud