summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* add an assert to make it really clear what this is doing. Return singularval asChris Lattner2009-12-041-1/+5
| | | | | | a compile time perf optimization to avoid a load. llvm-svn: 90507
* Refactor FoldingSet profiling code for LocationContexts, and add a new ↵Ted Kremenek2009-12-042-20/+65
| | | | | | BlockInvocationContext to represent the invocation of a block. llvm-svn: 90506
* Fix for PR5679: make __builtin_prefetch a bit more flexible in what it acceptsEli Friedman2009-12-044-11/+23
| | | | | | | as a constant integer. Also, some minor cleanup and improvements to the diagnostics. llvm-svn: 90504
* constify MemRegion* returned by MemRegionManager::getXXXRegion() methods.Ted Kremenek2009-12-044-64/+62
| | | | llvm-svn: 90503
* Also attempt trivial coalescing for live intervals that end in a copy.Jakob Stoklund Olesen2009-12-045-53/+103
| | | | | | | | | | | | | The coalescer is supposed to clean these up, but when setting up parameters for a function call, there may be copies to physregs. If the defining instruction has been LICM'ed far away, the coalescer won't touch it. The register allocation hint does not always work - when the register allocator is backtracking, it clears the hints. This patch takes care of a few more cases that r90163 missed. llvm-svn: 90502
* - If the reaching definition is an undef and the use is a PHI, add the ↵Evan Cheng2009-12-041-11/+15
| | | | | | | | implicit_def to the end of the source block. - When reaching value is replaced with another, update the cache as well. llvm-svn: 90501
* When recovering from an invalid forward reference to an enum type in C++,John McCall2009-12-042-4/+8
| | | | | | create the enum type in the same scope as you would a record type. llvm-svn: 90500
* More template-logic for MemRegion construction out of MemRegion.h and into ↵Ted Kremenek2009-12-042-157/+161
| | | | | | MemRegion.cpp. llvm-svn: 90499
* Insert composite type DIE into the map before processing type fields. This ↵Devang Patel2009-12-031-1/+1
| | | | | | allows fields to find their context DIE from the map. llvm-svn: 90498
* Add ParseInlineMetadata() which can parses metadata that refers to an ↵Victor Hernandez2009-12-032-8/+49
| | | | | | instruction. Extend ParseParameterList() to use this new function so that calls to llvm.dbg.declare can pass inline metadata llvm-svn: 90497
* These are done.Mike Stump2009-12-031-2/+0
| | | | llvm-svn: 90494
* Improve catch parameter bindings for scalar non-pointers. WIP.Mike Stump2009-12-031-4/+8
| | | | llvm-svn: 90492
* Lift the ObjCPropertyCallback out of local scope to unbreak VS2005 builds.John McCall2009-12-032-55/+60
| | | | | | | Make it an inner class of Parser to assuage access control. No functionality change. llvm-svn: 90491
* remove out of date FIXME.Jim Grosbach2009-12-031-1/+0
| | | | llvm-svn: 90490
* Handle undef values properly.Evan Cheng2009-12-031-15/+38
| | | | llvm-svn: 90489
* Watch out for PHI instruction with no source operands.Evan Cheng2009-12-031-0/+2
| | | | llvm-svn: 90488
* Fix a comment typo.Bob Wilson2009-12-031-1/+1
| | | | llvm-svn: 90487
* Fix ExpandShiftWithUnknownAmountBit, which was completely bogus.Duncan Sands2009-12-031-37/+38
| | | | | | | | | | | | Pointed out by Javier Martinez (who also provided a patch). Since this logic is not used on (for example) x86, I guess nobody noticed. Tested by generating SHL, SRL, SRA on various choices of i64 for all possible shift amounts, and comparing with gcc. Since I did this on x86-32, I had to force the use of ExpandShiftWithUnknownAmountBit. What I'm saying here is that I don't have a testcase I can add to the repository. llvm-svn: 90482
* Clean up some loop logic.Jakob Stoklund Olesen2009-12-031-14/+6
| | | | llvm-svn: 90481
* Add recursion guards to ice-checking and evaluation for declrefs, so weEli Friedman2009-12-035-22/+88
| | | | | | don't infinitely recurse for cases we can't evaluate. llvm-svn: 90480
* Try to make the output of PlistDiagnostics more deterministic by sorting ↵Ted Kremenek2009-12-031-0/+39
| | | | | | PathDiagnostics before they are emitted. Fixes <rdar://problem/7439668>. llvm-svn: 90478
* Convert some methods in PathDiagnostic to return StringRefs instead of ↵Ted Kremenek2009-12-031-3/+3
| | | | | | std::string&. llvm-svn: 90477
* Add support to emit debug info for virtual functions and virtual base classes.Devang Patel2009-12-034-10/+73
| | | | llvm-svn: 90474
* Print a newline after the Args: line so that unrelated errs() output doesn'tDan Gohman2009-12-031-1/+2
| | | | | | end up on the same line. llvm-svn: 90473
* A new helper function to set various bits in the class whenFariborz Jahanian2009-12-034-15/+19
| | | | | | | a new virtual function is declared/instantiated. it is used in couple of places. llvm-svn: 90470
* Fix Clang tool translation to forward -fvisibility as separate arguments, theDaniel Dunbar2009-12-032-3/+8
| | | | | | old syntax isn't supported. llvm-svn: 90469
* Add utils/TestUtils, and sink pch-test.pl there.Daniel Dunbar2009-12-032-0/+24
| | | | | | Also, add a test for generator a C file with a very deep call stack. llvm-svn: 90468
* Unify the end-of-class code paths used by the parser and templateDouglas Gregor2009-12-035-27/+55
| | | | | | | | | | | | | | instantiation, to ensure that we mark class template specilizations as abstract when we need to and perform checking of abstract classes. Also, move the checking that determines whether we are creating a variable of abstract class type *after* we check whether the type is complete. Otherwise, we won't see when we have an abstract class template specialization that is implicitly instantiated by this declaration. This is the "something else" that Sebastian had noted earlier. llvm-svn: 90467
* Add another blocks test case illustrating how parameters passed-by-reference ↵Ted Kremenek2009-12-031-0/+15
| | | | | | in block invocations are invalidated (just like function calls). llvm-svn: 90466
* When instantiating a class, if a base specifier is not dependent we still ↵Anders Carlsson2009-12-034-11/+41
| | | | | | need to copy its attributes down to the instantiated class. llvm-svn: 90463
* Tweak handling of BlockDataRegions in ↵Ted Kremenek2009-12-031-4/+6
| | | | | | RegionStoreManager::RemoveDeadBindings(): only the VarRegions for variables marked with the '__block' annotation should have their lifetime extended by a BlockDataRegion. llvm-svn: 90462
* Handle static_assert inside functions.Anders Carlsson2009-12-032-1/+6
| | | | llvm-svn: 90461
* When we're building a CXXExprWithTemporaries, only include thoseDouglas Gregor2009-12-034-4/+36
| | | | | | | | | | | temporaries that are within our current evaluation context. That way, nested evaluation contexts (e.g., within a sizeof() expression) won't see temporaries from outer contexts. Also, make sure to push a new evaluation context when instantiating the initializer of a variable; this may be an unevaluated context or a potentially-evaluated context, depending on whether it's an in-class initializer or not. Fixes PR5672. llvm-svn: 90460
* Minor cleanup to the code-completion-point logic suggested by Chris.Douglas Gregor2009-12-033-4/+3
| | | | llvm-svn: 90459
* Eli, I copied my code from this code... Let's fix the souce of the bad idea!Mike Stump2009-12-031-4/+1
| | | | | | Thanks. llvm-svn: 90458
* Fix MSVC build.Benjamin Kramer2009-12-031-1/+1
| | | | llvm-svn: 90454
* Make test 64 bit safe.Benjamin Kramer2009-12-031-1/+1
| | | | llvm-svn: 90452
* Convert ProfileVerifier to template so it can be used for different types of ↵Andreas Neustifter2009-12-031-243/+276
| | | | | | ProfileInfo. llvm-svn: 90451
* Fix for PR5659: correct a rather nasty oversight in the type conversion forEli Friedman2009-12-032-4/+14
| | | | | | member pointer types. llvm-svn: 90450
* Do not create negative edge weights in ProfileEstimator.Andreas Neustifter2009-12-031-21/+125
| | | | | | | Use integer values for weights to prevent rounding errors. Make ProfileEstimator more robust in general CFGs. llvm-svn: 90449
* XFAIL this on Win32 for the time being.Daniel Dunbar2009-12-031-0/+1
| | | | llvm-svn: 90448
* Add an implementation of the delta debugging algorithm.Daniel Dunbar2009-12-034-0/+296
| | | | | | | - This is a pretty slow / memory intensive implementation, and I will likely change it to an iterative model, but it works. llvm-svn: 90447
* Use ProfileInfo-API in ProfileInfo Loader and do more assertions.Andreas Neustifter2009-12-032-46/+11
| | | | llvm-svn: 90446
* Converted ProfileInfo to template, added more API for ProfileInfo-preserving.Andreas Neustifter2009-12-032-74/+1071
| | | | llvm-svn: 90445
* Add security syntactic checker for mktemp.Zhongxing Xu2009-12-031-1/+41
| | | | | | Patch by Lei Zhang! llvm-svn: 90444
* Update CMake for CallGraph.cpp move.Daniel Dunbar2009-12-032-1/+1
| | | | llvm-svn: 90443
* Fix two more diagnostic-on-stderr instances that thought they could hide ↵Daniel Dunbar2009-12-032-10/+14
| | | | | | from me -- they thought wrong. llvm-svn: 90442
* Kill a few more random stderr uses.Daniel Dunbar2009-12-036-22/+18
| | | | llvm-svn: 90441
* Convert ABIArgInfo::dump to raw_ostream.Daniel Dunbar2009-12-031-11/+11
| | | | llvm-svn: 90440
* Kill off one last exit() call.Daniel Dunbar2009-12-031-1/+1
| | | | llvm-svn: 90439
OpenPOWER on IntegriCloud