summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* move some stuff into DEBUG's and turn on lazy-value-info forChris Lattner2009-11-122-4/+6
| | | | | | the basic.ll testcase. llvm-svn: 86918
* Fix typo, cleanup whitespace.Eric Christopher2009-11-121-35/+35
| | | | llvm-svn: 86917
* Do not use StringRef while using DebugInfo interface.Devang Patel2009-11-121-37/+30
| | | | llvm-svn: 86915
* Do not use StringRef in DebugInfo interface. Devang Patel2009-11-124-34/+46
| | | | | | | This allows StringRef to skip controversial if(str) check in constructor. Buildbots, wait for corresponding clang and llvm-gcc FE check-ins! llvm-svn: 86914
* Improve recovery in a wonky case where one tries to specialize aDouglas Gregor2009-11-123-2/+19
| | | | | | | | | | template template parameter. When building a template-id type, check whether the template-name itself is dependent (even if the template arguments are not!) and handle it as a template-id type. llvm-svn: 86913
* Fix Makefile dependency bug with out-of-dir builds.Daniel Dunbar2009-11-121-1/+3
| | | | llvm-svn: 86912
* Fix test portability.Daniel Dunbar2009-11-121-1/+2
| | | | llvm-svn: 86911
* Tail merge at any size when there are two potentials blocks and oneDan Gohman2009-11-122-10/+61
| | | | | | can be made to fall through into the other. llvm-svn: 86909
* Tweak AnalyzerOptions for consistency, and make sure default constructed objectDaniel Dunbar2009-11-121-9/+21
| | | | | | is sane. llvm-svn: 86908
* Tweak formatting.Daniel Dunbar2009-11-121-15/+11
| | | | llvm-svn: 86907
* Move AnalyzerOptions into CompilerInvocation.Daniel Dunbar2009-11-123-8/+20
| | | | llvm-svn: 86906
* Add <foo> = [<bar> nextObject] to the -Widiomatic-parentheses category,John McCall2009-11-123-10/+55
| | | | | | | and give that category an explicit test. Generalize the internal diagnostic name. llvm-svn: 86905
* Remove an overly-eager assertion when replacing tokens with anDouglas Gregor2009-11-123-18/+20
| | | | | | | | | | | annotation token, because some of the tokens we're annotating might not be in the set of cached tokens (we could have consumed them unconditionally). Also, move the tentative parsing from ParseTemplateTemplateArgument into the one caller that needs it, improving recovery. llvm-svn: 86904
* Tweak PCH -include handling to make sure it matches the name as would be presentDaniel Dunbar2009-11-113-8/+20
| | | | | | in the predefines buffer. llvm-svn: 86903
* Don't mark a call as potentially throwing if the function it's calling has theBill Wendling2009-11-111-1/+21
| | | | | | "nounwind" attribute. llvm-svn: 86897
* Fix clang executable path for WindowsJohn Thompson2009-11-111-1/+6
| | | | llvm-svn: 86896
* A real solution for the first part of PR5445Bruno Cardoso Lopes2009-11-111-1/+6
| | | | llvm-svn: 86895
* Template argument deduction for template template parameters. ThisDouglas Gregor2009-11-115-52/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | permits, among other things, ripping apart and reconstructing templates via partial specialization: template<typename T> struct DeepRemoveConst { typedef T type; }; template<typename T> struct DeepRemoveConst<const T> { typedef typename DeepRemoveConst<T>::type type; }; template<template<typename> class TT, typename T> struct DeepRemoveConst<TT<T> > { typedef TT<typename DeepRemoveConst<T>::type> type; }; Also, fix a longstanding thinko in the code handling partial ordering of class template partial specializations. We were performing the second deduction without clearing out the results of the first deduction. It's amazing we got through so much code with such a horrendous error :( llvm-svn: 86893
* Fix PR 5422: handle lvalue results when evaluating 'based' ptrtoints as part ofJohn McCall2009-11-112-3/+15
| | | | | | the -Wconversion check. llvm-svn: 86891
* Make test more platform independent.Fariborz Jahanian2009-11-111-1/+2
| | | | llvm-svn: 86890
* make LazyValueInfo actually to some stuff. This isn't very tested but improvesChris Lattner2009-11-111-8/+152
| | | | | | strswitch. llvm-svn: 86889
* Make test more platform independent (per Sebastian's comment).Fariborz Jahanian2009-11-111-2/+2
| | | | llvm-svn: 86888
* writable atomic property's setter/getter must be in 'lock' step ofFariborz Jahanian2009-11-115-1/+417
| | | | | | | either both synthesized or bith user defined. Implements radar 6557233. llvm-svn: 86887
* pass TD into a SimplifyCmpInst call. Add another case thatChris Lattner2009-11-111-3/+24
| | | | | | uses LVI info when -enable-jump-threading-lvi is passed. llvm-svn: 86886
* Promote MergePotentialsElt and SameTailElt to be regular classesDan Gohman2009-11-112-58/+107
| | | | | | | instead of typedefs for std::pair. This simplifies the type of SameTails, which previously was std::vector<std::pair<std::vector<std::pair<unsigned, MachineBasicBlock *> >::iterator, MachineBasicBlock::iterator> llvm-svn: 86885
* Improve diagnostics when a default template argument does not matchDouglas Gregor2009-11-118-110/+211
| | | | | | | | | | | | | | | | | | | | | | | | with its corresponding template parameter. This can happen when we performed some substitution into the default template argument and what we had doesn't match any more, e.g., template<int> struct A; template<typename T, template<T> class X = A> class B; B<long> b; Previously, we'd emit a pretty but disembodied diagnostic showing how the default argument didn't match the template parameter. The diagnostic was good, but nothing tied it to the *use* of the default argument in "B<long>". This commit fixes that. Also, tweak the counting of active template instantiations to avoid counting non-instantiation records, such as those we create for (surprise!) checking default arguments, instantiating default arguments, and performing substitutions as part of template argument deduction. llvm-svn: 86884
* Always initialize the header search object as part of InitializePreprocessor;Daniel Dunbar2009-11-113-9/+12
| | | | | | not doing this has little to no utility. llvm-svn: 86883
* Allow Preprocessor to take ownership of the HeaderSearch object. I think it ↵Daniel Dunbar2009-11-115-18/+28
| | | | | | should probably always own the header search object, but I'm not sure... llvm-svn: 86882
* Sink AttachDependencyFileGen into CreatePreprocessor.Daniel Dunbar2009-11-113-15/+18
| | | | llvm-svn: 86881
* Add DependencyOutputOptions to wrap -M... options, and propogate toDaniel Dunbar2009-11-118-67/+129
| | | | | | CompilerInvocation and clang-cc. llvm-svn: 86880
* Fix ctor vtable name. WIP.Mike Stump2009-11-111-1/+1
| | | | llvm-svn: 86879
* Push ctor vtable construction down further. WIP.Mike Stump2009-11-113-11/+22
| | | | llvm-svn: 86878
* Remove some stale ErrorNodes variables in GRExprEngine and the old buffer ↵Ted Kremenek2009-11-113-94/+12
| | | | | | overflow logic in GRExprEngineInternalChecks.cpp. llvm-svn: 86877
* x86 users can now return arbitrary sized structs. Structs too large to fit ↵Kenneth Uildriks2009-11-113-67/+228
| | | | | | in return registers will be returned through a hidden sret parameter introduced during SelectionDAG construction. llvm-svn: 86876
* Revert this line of 86871.Dan Gohman2009-11-111-1/+1
| | | | llvm-svn: 86875
* If doesSupportDebugInformation() is false then do not try to emit dwarf ↵Devang Patel2009-11-111-0/+3
| | | | | | debug info. llvm-svn: 86874
* Check in the changes to this file too.Dan Gohman2009-11-111-3/+9
| | | | llvm-svn: 86873
* Add support for tail duplication to BranchFolding, and extendDan Gohman2009-11-116-60/+572
| | | | | | | | | | | tail merging support to handle more cases. - Recognize several cases where tail merging is beneficial even when the tail size is smaller than the generic threshold. - Make use of MachineInstrDesc::isBarrier to help detect non-fallthrough blocks. - Check for and avoid disrupting fall-through edges in more cases. llvm-svn: 86871
* After drinking caffeine, add the two files missing from the previous submit.Chandler Carruth2009-11-112-0/+73
| | | | | | Sorry about that. llvm-svn: 86869
* Move handling of template parameter packs out of theDouglas Gregor2009-11-112-30/+22
| | | | | | | | | | template-type-parameter specific template argument checking code and up to the template argument checking loop. In theory, this should make variadic templates work better; in practice, they don't well enough for us to care anyway (YET!), so this is mostly a re-organization to simplify CheckTemplateArgument. llvm-svn: 86868
* Fix liveness calculation when splitting critical edges during PHI elimination.Jakob Stoklund Olesen2009-11-114-55/+83
| | | | | | | | | | | | | | - Edges are split before any phis are eliminated, so the code is SSA. - Create a proper IR BasicBlock for the split edges. - LiveVariables::addNewBlock now has same syntax as MachineDominatorTree::addNewBlock. Algorithm calculates predecessor live-out set rather than successor live-in set. This feature still causes some miscompilations. llvm-svn: 86867
* Refactoring of template-argument checking code to reduce nesting,Douglas Gregor2009-11-112-194/+219
| | | | | | increase sanity. No intended functionality change. llvm-svn: 86866
* Before checking a template template argument against its correspondingDouglas Gregor2009-11-1110-42/+207
| | | | | | | | | | | | | | | | | | | | | | | template template parameter, substitute any prior template arguments into the template template parameter. This, for example, allows us to properly check the template template argument for a class such as: template<typename T, template<T Value> class X> struct Foo; The actual implementation of this feature was trivial; most of the change is dedicated to giving decent diagnostics when this substitution goes horribly wrong. We now get a note like: note: while substituting prior template arguments into template template parameter 'X' [with T = float] As part of this change, enabled some very pedantic checking when comparing template template parameter lists, which shook out a bug in our overly-eager checking of default arguments of template template parameters. We now perform only minimal checking of such default arguments when they are initially parsed. llvm-svn: 86864
* Move the ManagerRegistry to the Analysis library to resolve the layering ↵Chandler Carruth2009-11-116-76/+3
| | | | | | violation. llvm-svn: 86863
* Do not eagerly set stop point for arguments. This misleads the debugger in ↵Devang Patel2009-11-111-4/+19
| | | | | | identifying beginning of function body. Instead, create new location to attach with llvm.dbg.declare. This location is only used to find the context of the variable by the code generator, and it is not used to emit line number info. llvm-svn: 86862
* Reenable StackTracke.cpp test.Devang Patel2009-11-111-1/+1
| | | | llvm-svn: 86861
* Add SetDebugLocation() variant to Devang Patel2009-11-111-0/+9
| | | | | | add debug info location to an instruction. llvm-svn: 86859
* Add TargetLowering::isLegalICmpImmediate. It tells LSR what immediate can be ↵Evan Cheng2009-11-113-0/+26
| | | | | | folded into target icmp instructions. llvm-svn: 86858
* Do jump table adjustment before constant island allocationJim Grosbach2009-11-111-4/+7
| | | | llvm-svn: 86857
* Fix indentation level.Dan Gohman2009-11-111-8/+8
| | | | llvm-svn: 86856
OpenPOWER on IntegriCloud