summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add tests for name mangling of variadic templates.Douglas Gregor2011-01-132-6/+61
| | | | llvm-svn: 123378
* Disable RTTI when building unit tests. This avoids errors at link time.Oscar Fuentes2011-01-131-0/+6
| | | | llvm-svn: 123377
* Platform tests for argz_* functions.Oscar Fuentes2011-01-132-5/+12
| | | | | | Patch by arrowdodger! llvm-svn: 123376
* CXXBaseObjectRegion is like FieldRegion. Need to blast through it whenZhongxing Xu2011-01-132-1/+2
| | | | | | getting the base region. This makes the RemoveDeadBindings() correct. llvm-svn: 123375
* Support inlining base initializers. We still haven't got it completely right,Zhongxing Xu2011-01-134-12/+79
| | | | | | | since the bindings are purged after they are set up. Need to investigate RemoveDeadBindings algorithm. llvm-svn: 123374
* Remove some wrong code which fortunately was never executed (as explained inDuncan Sands2011-01-131-6/+9
| | | | | | the comment I added): an extern weak global may have a null address. llvm-svn: 123373
* The most common simplification missed by instsimplify in unoptimized bitcodeDuncan Sands2011-01-132-19/+77
| | | | | | | | is "X != 0 -> X" when X is a boolean. This occurs a lot because of the way llvm-gcc converts gcc's conditional expressions. Add this, and a few other similar transforms for completeness. llvm-svn: 123372
* Implemented a major overhaul of the way variables are handledSean Callanan2011-01-1320-150/+668
| | | | | | | | | | | | | | | | | | | | | | | | | | | by LLDB. Instead of being materialized into the input structure passed to the expression, variables are left in place and pointers to them are materialzied into the structure. Variables not resident in memory (notably, registers) get temporary memory regions allocated for them. Persistent variables are the most complex part of this, because they are made in various ways and there are different expectations about their lifetime. Persistent variables now have flags indicating their status and what the expectations for longevity are. They can be marked as residing in target memory permanently -- this is the default for result variables from expressions entered on the command line and for explicitly declared persistent variables (but more on that below). Other result variables have their memory freed. Some major improvements resulting from this include being able to properly take the address of variables, better and cleaner support for functions that return references, and cleaner C++ support in general. One problem that remains is the problem of explicitly declared persistent variables; I have not yet implemented the code that makes references to them into indirect references, so currently materialization and dematerialization of these variables is broken. llvm-svn: 123371
* Add comments.Zhongxing Xu2011-01-131-0/+3
| | | | llvm-svn: 123370
* Model :upper16: and :lower16: as ARM specific MCTargetExpr. This is a stepEvan Cheng2011-01-1315-90/+248
| | | | | | | | in the right direction. It eliminated some hacks and will unblock codegen work. But it's far from being done. It doesn't reject illegal expressions, e.g. (FOO - :lower16:BAR). It also doesn't work in Thumb2 mode at all. llvm-svn: 123369
* Fix a corner case in RegionStore where we assignTed Kremenek2011-01-132-2/+41
| | | | | | | | | | | | | a struct value to a symbolic index into array. RegionStore can't actually reason about this, so we were getting bogus warnings about loading uninitialized values from the array. The solution is invalidate the entire array when we cannot represent the binding explicitly. Fixes <rdar://problem/8848957> llvm-svn: 123368
* Experiment with changing the default 32-bit linux stack alignment toEric Christopher2011-01-136-65/+83
| | | | | | 16 bytes for PR8969. Update all testcases accordingly. llvm-svn: 123367
* Keep unnamed_addr when linking.Rafael Espindola2011-01-135-0/+35
| | | | llvm-svn: 123364
* Rename 'HasGeneratedNode' to 'hasGeneratedNode'Ted Kremenek2011-01-136-39/+34
| | | | | | | | | and 'getBasePredecessor()' to 'getPredecessor()'. Also remove a unneeded save-and-restore of node builder's tag field. llvm-svn: 123363
* Remove unnecessary save-and-restore of theTed Kremenek2011-01-133-3/+1
| | | | | | node builder's 'HasGeneratedNode' field. llvm-svn: 123362
* Remove CheckerContext's dependence on settingTed Kremenek2011-01-134-31/+30
| | | | | | | the node builder's "tag" ivar (which we would like to remove). llvm-svn: 123361
* Ensure an insertion point at the end of a statement-expression.John McCall2011-01-134-6/+17
| | | | | | Fixes PR8967. llvm-svn: 123360
* optimize out a temporary sys::PathChris Lattner2011-01-131-3/+2
| | | | llvm-svn: 123359
* Reject uses of unnamed_addr in declarations.Rafael Espindola2011-01-136-3/+60
| | | | llvm-svn: 123358
* Plug Free BSD memory leak.Greg Clayton2011-01-131-3/+4
| | | | llvm-svn: 123357
* Call SetFile instead of constructing a temp object and assigning to ↵Greg Clayton2011-01-131-1/+1
| | | | | | g_program_filespec for Free BSD port. llvm-svn: 123356
* Don't have the program path be resolved when they already are when assigning ↵Greg Clayton2011-01-131-4/+4
| | | | | | g_program_filespec in the Host calls. llvm-svn: 123355
* Only add unnamed_addr to definitions.Rafael Espindola2011-01-134-7/+8
| | | | llvm-svn: 123354
* Add a FIXME and two asserts for now in the ARMAsmParser when it sees .code 16 orKevin Enderby2011-01-131-2/+12
| | | | | | | | .code 32 if the TargetMachine's isThumb() boolean does not match. The correct fix is to switch ARM subtargets at that point and is tracked by rdar://8856789 which is bigger task. llvm-svn: 123353
* Fix r123346 to handle scalar types too.Dan Gohman2011-01-131-2/+1
| | | | llvm-svn: 123352
* Add missing space in debug outputJakob Stoklund Olesen2011-01-131-1/+1
| | | | llvm-svn: 123351
* Change call to Error() to assert()Jason W Kim2011-01-131-4/+1
| | | | llvm-svn: 123350
* Allow us to transform pack expansion expressions.Douglas Gregor2011-01-132-2/+24
| | | | llvm-svn: 123349
* Implement C++0x [temp.arg.template]p3, which allows slightly fuzzyDouglas Gregor2011-01-133-23/+133
| | | | | | | | matching of variadic template template parameters to template arguments. This paragraph was the subject of ISO C++ committee document N2555: Extending Variadic Template Template Parameters. llvm-svn: 123348
* Style clean up - break up the breaks.Jason W Kim2011-01-131-21/+40
| | | | llvm-svn: 123347
* Apply the patch from PR8958, which allows llc to get slightlyDan Gohman2011-01-121-1/+2
| | | | | | further on the associated testcase before aborting. llvm-svn: 123346
* Support/Path: Deprecate PathV1::IsSymlink and replace all uses with ↵Michael J. Spencer2011-01-122-1/+10
| | | | | | PathV2::is_symlink. llvm-svn: 123345
* replace all uses of PathV1::IsSymlink with PathV2::is_symlink.Michael J. Spencer2011-01-121-1/+2
| | | | llvm-svn: 123344
* Refactor and simplify Sema::TemplateParameterListsAreEqual. We had aDouglas Gregor2011-01-121-133/+106
| | | | | | bunch of duplicated checks for parameter pack/non-pack mismatches. llvm-svn: 123343
* Try again enabling LiveDebugVariables.Jakob Stoklund Olesen2011-01-124-6/+5
| | | | llvm-svn: 123342
* Added clarifying commentJason W Kim2011-01-121-0/+2
| | | | llvm-svn: 123341
* JimG sez: "The value-kinds look like masks, but they're not consistently usedJason W Kim2011-01-121-2/+2
| | | | | | | | | | | that way, unfortunately. If you want to change them to work additively instead of a one-variant-kind-per-symbolref, that's great and I completely agree it's worth doing, but it really should be a separate patch. Until then, this isn't correct." So I am reverting this bit until a more opportune time. llvm-svn: 123340
* Don't emit a DBG_VALUE for a spill slot that the rewriter decided not to use ↵Jakob Stoklund Olesen2011-01-121-1/+2
| | | | | | after all. llvm-svn: 123339
* Fix braino in dominator tree walk.Jakob Stoklund Olesen2011-01-121-1/+1
| | | | llvm-svn: 123338
* Fixing an ambiguity in variadics found by clang.Howard Hinnant2011-01-121-9/+9
| | | | llvm-svn: 123337
* Add the location of the right parenthesis of a C++ named castDouglas Gregor2011-01-126-31/+61
| | | | | | | (static_cast, dynamic_cast, reinterpret_cast, or const_cast) to improve source-location information. Fixes PR8960. llvm-svn: 123336
* Sometimes, old virtual registers can linger on DBG_VALUE instructions.Jakob Stoklund Olesen2011-01-121-1/+2
| | | | | | Make sure we don't crash in that case, but simply turn them into %noreg instead. llvm-svn: 123335
* Teach VirtRegRewriter to update slot indexes when erasing instructions.Jakob Stoklund Olesen2011-01-121-38/+26
| | | | | | It was leaving dangling pointers in the slot index maps. llvm-svn: 123334
* Annotate VirtRegRewriter debug output with slot indexes.Jakob Stoklund Olesen2011-01-122-2/+6
| | | | llvm-svn: 123333
* Add IR generation support for SizeOfPackExpr.Douglas Gregor2011-01-122-0/+17
| | | | llvm-svn: 123332
* Add some more partial-ordering tests, including one that changes withDouglas Gregor2011-01-121-0/+33
| | | | | | | the proposed resolution to core isue 692. I'm not certain which way we'll go on this one. llvm-svn: 123331
* Verify slot index ordering.Jakob Stoklund Olesen2011-01-121-0/+25
| | | | | | The slot indexes must be monotonically increasing through the function. llvm-svn: 123324
* Assert if anybody tries to put a slot index on a DBG_VALUE instruction.Jakob Stoklund Olesen2011-01-121-0/+3
| | | | llvm-svn: 123323
* Verify that machine instruction parent pointers are consistent.Jakob Stoklund Olesen2011-01-121-0/+5
| | | | llvm-svn: 123322
* Sort the register list based on the *actual* register numbers rather than theBill Wendling2011-01-122-5/+13
| | | | | | enum values we give to them. <rdar://problem/8823730> llvm-svn: 123321
OpenPOWER on IntegriCloud