summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Converted to use FileCheck.John Thompson2009-10-135-16/+26
| | | | llvm-svn: 84005
* Remove unnecessary assert.Devang Patel2009-10-131-3/+0
| | | | llvm-svn: 84004
* Update the other CMake file.Benjamin Kramer2009-10-131-0/+1
| | | | llvm-svn: 84003
* Parse GEP with attached custom metadata. This happens during ↵Devang Patel2009-10-131-0/+4
| | | | | | libprofile_rt.bca build. llvm-svn: 84002
* Update CMake file.Ted Kremenek2009-10-131-1/+0
| | | | llvm-svn: 84001
* Refactor some code. No functionality changes.Evan Cheng2009-10-131-105/+119
| | | | llvm-svn: 84000
* Commit the removal of this file, which is now moved to lib/Analysis.Dan Gohman2009-10-131-337/+0
| | | | llvm-svn: 83999
* Move the InlineCost code from Transforms/Utils to Analysis.Dan Gohman2009-10-136-6/+343
| | | | llvm-svn: 83998
* Start refactoring the inline cost estimation code so that it can be usedDan Gohman2009-10-132-79/+87
| | | | | | for purposes other than inlining. llvm-svn: 83997
* change simplifycfg to not duplicate 'unwind' instructions. HopefullyChris Lattner2009-10-132-15/+23
| | | | | | | this will increase the likelihood of common code getting sunk towards the unwind. llvm-svn: 83996
* convert to filecheckChris Lattner2009-10-131-5/+5
| | | | llvm-svn: 83995
* rename testChris Lattner2009-10-131-0/+0
| | | | llvm-svn: 83994
* Turn -Wparentheses on by default.John McCall2009-10-132-2/+2
| | | | llvm-svn: 83993
* Make LoopUnswitch's cost estimation count Instructions, rather thanDan Gohman2009-10-131-19/+7
| | | | | | | | BasicBlocks, so that it doesn't blindly procede in the presence of large individual BasicBlocks. This addresses a class of code-size expansion problems. llvm-svn: 83992
* rename ReleaseNotes-2.6.html -> ReleaseNotes.htmlChris Lattner2009-10-132-1681/+717
| | | | llvm-svn: 83990
* add ZeroChris Lattner2009-10-131-1/+18
| | | | llvm-svn: 83988
* Make the ExecutionEngine automatically remove global mappings on when theirJeffrey Yasskin2009-10-133-51/+104
| | | | | | | GlobalValue is destroyed. Function destruction still leaks machine code and can crash on leaked stubs, but this is some progress. llvm-svn: 83987
* Don't assume that the LHS and RHS of a member pointer expression is a ↵Anders Carlsson2009-10-132-5/+23
| | | | | | DeclRefExpr. Fixes PR5177. llvm-svn: 83986
* don't use dead loads as tests.Chris Lattner2009-10-131-3/+4
| | | | llvm-svn: 83985
* "there is not any instruction with attached debug info in this module" does ↵Devang Patel2009-10-131-11/+11
| | | | | | not mean "there is no debug info in this module". :) llvm-svn: 83984
* Add some ARM instruction encoding bits.Bob Wilson2009-10-131-0/+5
| | | | | | Patch by Johnny Chen. llvm-svn: 83983
* Fix regression introduced by r83894.Bob Wilson2009-10-131-1/+2
| | | | llvm-svn: 83982
* Remove FIXME. We construct VBIndex very early, before any calls to ↵Mike Stump2009-10-131-1/+0
| | | | | | OverrideMethod. llvm-svn: 83981
* Diagnose attempts to add default function arguments to aDouglas Gregor2009-10-134-5/+54
| | | | | | specialization. This completes C++ [temp.expl.spec]! llvm-svn: 83980
* Remove extra white space line.Devang Patel2009-10-131-1/+0
| | | | llvm-svn: 83979
* Do not check use_empty() before invoking replaceAllUsesWith().Devang Patel2009-10-131-2/+3
| | | | | | Let replaceAllUsesWith() adjust VHs even though there are no uses. llvm-svn: 83978
* Copy metadata when value is RAUW'd. It is debatable whether this is the ↵Devang Patel2009-10-133-0/+17
| | | | | | right approach for custom metadata data in general. However, right now the only custom data user, "dbg", expects this behavior while FE is constructing llvm IR with debug info. llvm-svn: 83977
* -funit-at-a-time is the default however some current makefiles pass ↵Edward O'Callaghan2009-10-131-1/+1
| | | | | | -fno-unit-at-a-time which is ignored by GCC, we should warn about this not error out. llvm-svn: 83976
* Disable this test for now.Devang Patel2009-10-131-1/+0
| | | | llvm-svn: 83975
* When explicitly specializing a member that is a template, mark theDouglas Gregor2009-10-139-26/+172
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | template as a specialization. For example, this occurs with: template<typename T> struct X { template<typename U> struct Inner { /* ... */ }; }; template<> template<typename T> struct X<int>::Inner { T member; }; We need to treat templates that are member specializations as special in two contexts: - When looking for a definition of a member template, we look through the instantiation chain until we hit the primary template *or a member specialization*. This allows us to distinguish between the primary "Inner" definition and the X<int>::Inner definition, above. - When computing all of the levels of template arguments needed to instantiate a member template, don't add template arguments from contexts outside of the instantiation of a member specialization, since the user has already manually substituted those arguments. Fix up the existing test for p18, which was actually wrong (but we didn't diagnose it because of our poor handling of member specializations of templates), and add a new test for member specializations of templates. llvm-svn: 83974
* Fix a tab. Thanks to Johnny Chen for pointing it out.Bob Wilson2009-10-131-1/+1
| | | | llvm-svn: 83973
* Improve the internal representation and semantic analysis of friendDouglas Gregor2009-10-137-34/+151
| | | | | | | | | | | | | | | function templates. This commit ensures that friend function templates are constructed as FunctionTemplateDecls rather than partial FunctionDecls (as they previously were). It then implements template instantiation for friend function templates, injecting the friend function template only when no previous declaration exists at the time of instantiation. Oh, and make sure that explicit specialization declarations are not friends. llvm-svn: 83970
* Refine handling for return value conversions with respect to virtualMike Stump2009-10-132-27/+114
| | | | | | offsets for covariant thunks. llvm-svn: 83965
* Simplify pointer creation with the new Type::getInt*Ptr methods.Benjamin Kramer2009-10-1313-57/+33
| | | | llvm-svn: 83964
* The eh.exception intrinsic only reads from memory, it doesn'tDuncan Sands2009-10-131-1/+1
| | | | | | write to it. llvm-svn: 83963
* Pacify the compiler (signed with unsigned comparison) by makingDuncan Sands2009-10-131-6/+6
| | | | | | these constants unsigned. llvm-svn: 83962
* Force memory use markers to have a ConstantInt for the size argument.Nick Lewycky2009-10-132-8/+23
| | | | llvm-svn: 83960
* Teach BasicAA a little something about the atomic intrinsics: they can onlyNick Lewycky2009-10-132-0/+37
| | | | | | modify through the pointer they're given. llvm-svn: 83959
* Teach sema and codegen about the difference between address of labels,Chris Lattner2009-10-133-4/+36
| | | | | | | | | | which is a common idiom to improve PIC'ness of code using the addr of label extension. This implementation is a gross hack, but the only other alternative would be to teach evalutate about this horrid combination. While GCC allows things like "&&foo - &&bar + 1", people don't use this in practice. This implements PR5131. llvm-svn: 83957
* Add new "memory use marker" intrinsics. These indicate lifetimes and invariantNick Lewycky2009-10-133-0/+183
| | | | | | sections of memory objects. llvm-svn: 83953
* reimplement codegen for indirect goto with the following advantages:Chris Lattner2009-10-133-44/+91
| | | | | | | | | | | | | 1. CGF now has fewer bytes of state (one pointer instead of a vector). 2. The generated code is determinstic, instead of getting labels in 'map order' based on pointer addresses. 3. Clang now emits one 'indirect goto switch' for each function, instead of one for each indirect goto. This fixes an M*N = N^2 IR size issue when there are lots of address-taken labels and lots of indirect gotos. 4. This also makes the default cause do something useful, reducing the size of the jump table needed (by one). llvm-svn: 83952
* merge an indirect goto test into statements, add anotherChris Lattner2009-10-132-4/+20
| | | | | | hairier (but nonsensical) example. llvm-svn: 83951
* Fix a -Asserts warning.Daniel Dunbar2009-10-131-2/+3
| | | | llvm-svn: 83950
* Return the original state by default.Zhongxing Xu2009-10-131-1/+1
| | | | llvm-svn: 83949
* number address-taken labels from 1. This allows 0 to be used as a sentinelChris Lattner2009-10-131-1/+1
| | | | | | | for a null pointer. In other words, "&&foo != NULL" will always work out to true. llvm-svn: 83948
* Use the new Type::getInt8PtrTy method. This should probably be used in a lotChris Lattner2009-10-131-1/+1
| | | | | | more places in clang codegen now. llvm-svn: 83947
* test commitJohn Thompson2009-10-131-48/+47
| | | | llvm-svn: 83945
* remove dead header.Chris Lattner2009-10-131-40/+0
| | | | llvm-svn: 83943
* add rdar # I accidentally lost.Chris Lattner2009-10-131-1/+1
| | | | llvm-svn: 83942
* merge two tests.Chris Lattner2009-10-132-19/+18
| | | | llvm-svn: 83941
OpenPOWER on IntegriCloud