summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix for PR5447: teach Evaluate to deal with floating-point conditionals.Eli Friedman2009-12-042-2/+14
| | | | llvm-svn: 90521
* Small and carefully crafted testcase showing a miscompilation by GVNChris Lattner2009-12-041-0/+33
| | | | | | | that I'm working on. This is manifesting as a miscompile of 255.vortex on some targets. No check lines yet because it fails. llvm-svn: 90520
* Remove the GlobalDecl from the CovariantThunk struct, we can just look it up ↵Anders Carlsson2009-12-041-8/+5
| | | | | | in the Methods table now. llvm-svn: 90519
* add the start of a class used to handle phi translation in memdep andChris Lattner2009-12-042-0/+162
| | | | | | | gvn (this is just a skeleton so far). This will ultimately be used to fix a nasty miscompilation with GVN. llvm-svn: 90518
* Start populating the VtableMembers structure.Anders Carlsson2009-12-041-1/+10
| | | | llvm-svn: 90517
* Allow BlockInvocationContext to wrap either a BlockDecl* or a ↵Ted Kremenek2009-12-043-8/+40
| | | | | | BlockDataRegion*, giving us choice in our degree of context-sensitivity. llvm-svn: 90516
* Add a data structure for efficient storing of vtable methods. Not used yet.Anders Carlsson2009-12-041-0/+57
| | | | llvm-svn: 90515
* Create yet another helper for Invoke.Mike Stump2009-12-041-0/+8
| | | | llvm-svn: 90514
* Fixup reference binding for catch parameters.Mike Stump2009-12-041-6/+21
| | | | | | Fixup throws and rethrows to use invoke as appropriate. llvm-svn: 90513
* Teach AsmWriter to write inline (not via a global metadata slot) metadata ↵Victor Hernandez2009-12-041-1/+25
| | | | | | that contains an instruction llvm-svn: 90512
* Fix a comment typo.Bob Wilson2009-12-041-1/+1
| | | | llvm-svn: 90511
* Update chunk of #if 0'ed code to remove fixed FIXME and make it compile. WeEli Friedman2009-12-041-11/+6
| | | | | | | probably want to do some sort of performance assessment before enabling it, though. llvm-svn: 90510
* Refactor LocationContext creation logic into a single member template.Ted Kremenek2009-12-043-74/+86
| | | | llvm-svn: 90509
* Add some helpers for Invoke to mirror CreateCall helpers.Mike Stump2009-12-041-0/+13
| | | | llvm-svn: 90508
* 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
OpenPOWER on IntegriCloud