- Jan 13, 2011
-
-
Douglas Gregor authored
when we're actually matching a template template argument to a template template parameter. Otherwise, use strict matching. Fixes <rdar://problem/8859985> clang++: variadics and out-of-line definitions. llvm-svn: 123385
-
Jakob Stoklund Olesen authored
It will still return an iterator that points to the first terminator or end(), but there may be DBG_VALUE instructions following the first terminator. llvm-svn: 123384
-
Bob Wilson authored
llvm-svn: 123383
-
Douglas Gregor authored
llvm-svn: 123382
-
Bob Wilson authored
This is a minor extension of SROA to handle a special case that is important for some ARM NEON operations. Some of the NEON intrinsics return multiple values, which are handled as struct types containing multiple elements of the same vector type. The corresponding return types declared in the arm_neon.h header have equivalent arrays. We need SROA to recognize that it can split up those arrays and structs into separate vectors, even though they are not always accessed with the same type. SROA already handles loads and stores of an entire alloca by using insertvalue/extractvalue to access the individual pieces, and that code works the same regardless of whether the type is a struct or an array. So, all that needs to be done is to check for compatible arrays and homogeneous structs. llvm-svn: 123381
-
Bob Wilson authored
SROA only split up structs and arrays one level at a time, so padding can only cause trouble if it is located in between the struct or array elements. llvm-svn: 123380
-
Douglas Gregor authored
llvm-svn: 123379
-
Douglas Gregor authored
llvm-svn: 123378
-
Oscar Fuentes authored
llvm-svn: 123377
-
Oscar Fuentes authored
Patch by arrowdodger! llvm-svn: 123376
-
Zhongxing Xu authored
getting the base region. This makes the RemoveDeadBindings() correct. llvm-svn: 123375
-
Zhongxing Xu authored
since the bindings are purged after they are set up. Need to investigate RemoveDeadBindings algorithm. llvm-svn: 123374
-
Duncan Sands authored
the comment I added): an extern weak global may have a null address. llvm-svn: 123373
-
Duncan Sands authored
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
-
Sean Callanan authored
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
-
Zhongxing Xu authored
llvm-svn: 123370
-
Evan Cheng authored
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
-
Ted Kremenek authored
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
-
Eric Christopher authored
16 bytes for PR8969. Update all testcases accordingly. llvm-svn: 123367
-
Rafael Espindola authored
llvm-svn: 123364
-
Ted Kremenek authored
and 'getBasePredecessor()' to 'getPredecessor()'. Also remove a unneeded save-and-restore of node builder's tag field. llvm-svn: 123363
-
Ted Kremenek authored
node builder's 'HasGeneratedNode' field. llvm-svn: 123362
-
Ted Kremenek authored
the node builder's "tag" ivar (which we would like to remove). llvm-svn: 123361
-
John McCall authored
Fixes PR8967. llvm-svn: 123360
-
Chris Lattner authored
llvm-svn: 123359
-
Rafael Espindola authored
llvm-svn: 123358
-
Greg Clayton authored
llvm-svn: 123357
-
Greg Clayton authored
Call SetFile instead of constructing a temp object and assigning to g_program_filespec for Free BSD port. llvm-svn: 123356
-
Greg Clayton authored
Don't have the program path be resolved when they already are when assigning g_program_filespec in the Host calls. llvm-svn: 123355
-
Rafael Espindola authored
llvm-svn: 123354
-
Kevin Enderby authored
.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
-
Dan Gohman authored
llvm-svn: 123352
-
Jakob Stoklund Olesen authored
llvm-svn: 123351
-
Jason W Kim authored
llvm-svn: 123350
-
Douglas Gregor authored
llvm-svn: 123349
-
Douglas Gregor authored
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
-
Jason W Kim authored
llvm-svn: 123347
-
Dan Gohman authored
further on the associated testcase before aborting. llvm-svn: 123346
-
Michael J. Spencer authored
llvm-svn: 123345
-
Michael J. Spencer authored
llvm-svn: 123344
-