- Jan 13, 2011
-
-
Chris Lattner authored
llvm-svn: 123406
-
Chris Lattner authored
llvm-svn: 123405
-
Owen Anderson authored
the symbolic immediate names used for these instructions, fixing their pretty-printers, and adding proper encoding information for them. With this, we can properly pretty-print and encode assembly like: mrc p15, #0, r3, c13, c0, #3 Fixes <rdar://problem/8857858>. llvm-svn: 123404
-
Evan Cheng authored
Relax an assertion. On archs like ARM, an immediate field may be scattered. So it's possible for some bits of every 8 bits to be encoded already, and the rest still needs to be fixed up. llvm-svn: 123403
-
Fariborz Jahanian authored
for efficiancy (still part of //rdar://8761767). Per John's comment. llvm-svn: 123401
-
Jakob Stoklund Olesen authored
llvm-svn: 123400
-
Jakob Stoklund Olesen authored
llvm-svn: 123399
-
Sean Callanan authored
variables. llvm-svn: 123398
-
Bob Wilson authored
llvm-svn: 123397
-
Bob Wilson authored
llvm-svn: 123396
-
Ted Kremenek authored
llvm-svn: 123395
-
Ted Kremenek authored
dead stores within nested assignments. I have never seen an actual bug found by this specific warning, and it can lead to many false positives. llvm-svn: 123394
-
Kevin Enderby authored
directional local labels like 1f and 2b. llvm-svn: 123393
-
Howard Hinnant authored
llvm-svn: 123392
-
Fariborz Jahanian authored
assigns. // rdar://8761767 llvm-svn: 123391
-
Devang Patel authored
Patch by Bob Wilson. llvm-svn: 123390
-
Devang Patel authored
llvm-svn: 123389
-
Oscar Fuentes authored
Patch by arrowdodger! llvm-svn: 123388
-
Jim Grosbach authored
set up the source operands. The original instr has an immediate operand that should be replaced with the frame reg operand rather than just adding the reg operand. Previously, the instruction ended up with too many operands causing an assert() when adding the default predicate. rdar://8825456 llvm-svn: 123387
-
Peter Collingbourne authored
process, perform a number of refactorings: - Move MiscNameMangler member functions to MangleContext - Remove GlobalDecl dependency from MangleContext - Make MangleContext abstract and move Itanium/Microsoft functionality to their own classes/files - Implement ASTContext::createMangleContext and have CodeGen use it No (intended) functionality change. llvm-svn: 123386
-
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
-