Commit Graph

85528 Commits

Author SHA1 Message Date
Eric Christopher fa1b54d26e Remove isTwoAddress from MSP430.
llvm-svn: 106455
2010-06-21 20:07:30 +00:00
Dan Gohman 2dd1d3d182 Make this test more robust in case LLVM ever decides to align the global
variable differently.

llvm-svn: 106454
2010-06-21 19:56:27 +00:00
Fariborz Jahanian 090e4e5773 Use more efficient API of SmallVector/array_pod_sort
for sorting (radar 8076356).

llvm-svn: 106453
2010-06-21 19:49:38 +00:00
Dan Gohman dd41bba517 Use A.append(...) instead of A.insert(A.end(), ...) when A is a
SmallVector, and other SmallVector simplifications.

llvm-svn: 106452
2010-06-21 19:47:52 +00:00
Ted Kremenek d34da45a83 Add clang_getCursorType() support for @property declarations.
llvm-svn: 106451
2010-06-21 19:41:40 +00:00
Benjamin Kramer 466b31e900 Move a bunch of trivial methods into the header. These compile down to 1-2
instructions so it's really profitable to inline them.

llvm-svn: 106450
2010-06-21 19:26:54 +00:00
Eric Christopher 0ca648d758 Make 80-column.
llvm-svn: 106448
2010-06-21 18:56:55 +00:00
Eric Christopher 98392f69e3 Remove isTwoAddress from PIC16.
llvm-svn: 106447
2010-06-21 18:55:01 +00:00
Eric Christopher 2401271217 Remove isTwoAddress from XCore.
llvm-svn: 106446
2010-06-21 18:51:38 +00:00
Eric Christopher e159407231 Remove isTwoAddress from Alpha.
llvm-svn: 106445
2010-06-21 18:48:55 +00:00
Dan Gohman ffdee30e90 Move several non-performance-critical member functinos out of line.
llvm-svn: 106444
2010-06-21 18:46:45 +00:00
Dale Johannesen dd471bbb10 Add missing FileCheck call.
llvm-svn: 106443
2010-06-21 18:46:08 +00:00
Fariborz Jahanian 9f2a4eed0d IRGen for implementation of init-priority attribute.
Test case will be checked in llvm test suite.
(finishes off radar 8076356).

llvm-svn: 106441
2010-06-21 18:45:05 +00:00
Douglas Gregor 5dd34744c5 Instantiations subject to an explicit template instantiation
declaration have default visibility even under
-fvisibility=hidden. Fixes <rdar://problem/8109763>.

llvm-svn: 106440
2010-06-21 18:41:26 +00:00
Devang Patel c8bceaa418 test case for r106438.
llvm-svn: 106439
2010-06-21 18:37:23 +00:00
Devang Patel e80de80270 Do not directly use function names to construct new name for named metadata.
"llvm.dbg.lv.~A" is not a valid name.

llvm-svn: 106438
2010-06-21 18:36:58 +00:00
Bruno Cardoso Lopes 29a894dd64 Move part of SSE 1 & 2 compare, shuffle and unpack instructions closely. Preparing them for refactoring and to the addition of their AVX forms
llvm-svn: 106437
2010-06-21 18:36:04 +00:00
Bruno Cardoso Lopes 20de4258f8 Add AVX regular (non-aliased ones) and,or,xor,andn packed instructions. They are already tested in the MC framework, no test needed
llvm-svn: 106436
2010-06-21 18:22:54 +00:00
Dale Johannesen d5c58b76ab Fix PR 7433. Silly typo in non-Darwin ARM tail call
handling, plus correct R9 handling in that mode.

llvm-svn: 106434
2010-06-21 18:21:49 +00:00
Eric Christopher bf572c7cea Add some codegen patterns for x86_64-linux-gnu tls codegen matching.
Based on a patch by Patrick Marlier!

llvm-svn: 106433
2010-06-21 18:21:27 +00:00
Jim Grosbach 97c8a6a928 early exit for dbg_value instructions
llvm-svn: 106430
2010-06-21 17:49:23 +00:00
Chris Lattner 74b5e3e0ae remove some dead variables reported by clang++
llvm-svn: 106428
2010-06-21 17:20:18 +00:00
Chris Lattner 93c4a7b33b make the Value constructor protected.
llvm-svn: 106427
2010-06-21 16:46:37 +00:00
Fariborz Jahanian cc99b3ca9e Fixes a corner case bug whereby declaring and defining an extern variable in a
particular sequence causes its definition to not be generated in the object file.
(fixes radar 8071804).

llvm-svn: 106424
2010-06-21 16:08:37 +00:00
Dan Gohman bbc29ea821 Revert r106422, which is breaking the non-fast-isel path.
llvm-svn: 106423
2010-06-21 16:02:28 +00:00
Dan Gohman f64fdd69d0 More changes for non-top-down fast-isel.
Split the code for materializing a value out of
SelectionDAGBuilder::getValue into a helper function, so that it can
be used in other ways. Add a new getNonRegisterValue function which
uses it, for use in code which doesn't want a CopyFromReg even
when FuncMap.ValueMap already has an entry for it.

llvm-svn: 106422
2010-06-21 15:13:54 +00:00
Kalle Raiskila df071b7e42 Add the check to the testcase of r106419.
llvm-svn: 106421
2010-06-21 15:11:51 +00:00
Kalle Raiskila 0ab5a02579 Mark the SPU 'lr' instruction to never have side effects.
This allows the fast regiser allocator to remove redundant 
register moves.
Update a set of tests that depend on the register allocator
to be linear scan. 

llvm-svn: 106420
2010-06-21 15:08:16 +00:00
Kalle Raiskila d7f50c118a Fix the lowering of VECTOR_SHUFFLE on SPU to handle splats.
llvm-svn: 106419
2010-06-21 14:42:19 +00:00
Benjamin Kramer 1e909fc0b6 Initialize member so GDBRemoteRegisterContext::ReadRegisterBytes doesn't rely on
an unitialized variable.

valgrind_errors -= 1;

llvm-svn: 106418
2010-06-21 14:39:40 +00:00
Benjamin Kramer ae39fc196b Return false from FileSpec::GetPath early instead of making the return value
dependent on the last byte of the buffer, which could be unitialized.

llvm-svn: 106417
2010-06-21 14:36:20 +00:00
Benjamin Kramer e1ce369628 Don't snprintf directly into a std::string, it's undefined behavior per C++03.
This also fixes a bug where we were trying to copy m_string into itself
via a format string. The pointer was invalidated by m_string.resize and
lldb (sometimes) crashed inside vsnprintf.

llvm-svn: 106416
2010-06-21 14:34:03 +00:00
Dan Gohman f91aff5f13 Do one lookup instead of two.
llvm-svn: 106415
2010-06-21 14:21:47 +00:00
Dan Gohman 7c58cf75fa Generalize this to look in the regular ValueMap in addition to
the LocalValueMap, to make it more flexible when fast-isel isn't
proceding straight top-down.

llvm-svn: 106414
2010-06-21 14:17:46 +00:00
Rafael Espindola 1cae86f704 Fix an unintentional commit. I think I typed "git svn dcommit" in the wrong branch.
I was trying to do some refactoring on the copyRegToReg, but this is realyl a work in progress and not generally useful yet.

llvm-svn: 106413
2010-06-21 13:31:32 +00:00
Argyrios Kyrtzidis a35c8e4092 Combine ClassTemplateDecl's PreviousDeclaration with CommonPtr, as in FunctionTemplateDecl.
llvm-svn: 106412
2010-06-21 10:57:41 +00:00
Kalle Raiskila 6f58190f6f Fix lowering of VECTOR_SHUFFLE on SPU. Old algorithm
used to choke llc with the attached test.
 

llvm-svn: 106411
2010-06-21 10:17:36 +00:00
Rafael Espindola 9d94ebf1b6 add_input_file and add_input_library now take const arguments, remove the
const_cast.

llvm-svn: 106410
2010-06-21 02:23:12 +00:00
Rafael Espindola 720f49ed86 Save more temps with -save-temps.
llvm-svn: 106409
2010-06-21 02:17:36 +00:00
Rafael Espindola c596baa56d wip
llvm-svn: 106408
2010-06-21 02:17:34 +00:00
Nate Begeman ed48c857dc Implement remaining codegen for NEON, all operations should now work.
llvm-svn: 106407
2010-06-20 23:05:28 +00:00
Nate Begeman 4713628816 Add support for returning multiple vectors via sret, which is how the ARM target expects the intrinsics to work.
llvm-svn: 106406
2010-06-20 21:09:52 +00:00
Nick Lewycky dcc7b6dcb6 Fix warning in no-asserts build.
llvm-svn: 106405
2010-06-20 20:27:42 +00:00
Argyrios Kyrtzidis 41d4562da2 Support PCH emitting/reading of using declarations.
llvm-svn: 106404
2010-06-20 14:40:59 +00:00
Benjamin Kramer 22a544bc82 Add braces to avoid an ambiguous else, fixing a GCC warning.
llvm-svn: 106403
2010-06-20 10:20:36 +00:00
Jordy Rose 895c899142 Adds analyzer support for idempotent and tautological binary operations such as "a*0" and "a+0". This is not very powerful, but does make the analyzer look a little smarter than it actually is.
llvm-svn: 106402
2010-06-20 04:56:29 +00:00
Jordy Rose 2dd9b02cc8 Casting to void* or any other pointer-to-sizeless type (e.g. function pointers) causes a divide-by-zero error. Simple fix: check if the pointee type size is 0 and bail out early if it is.
llvm-svn: 106401
2010-06-20 04:30:57 +00:00
Evan Cheng 884a8fe5fa Fix a crash caused by dereference of MBB.end(). rdar://8110842
llvm-svn: 106399
2010-06-20 00:54:38 +00:00
Dan Gohman c515ab1eb2 Restore a call to rememberInstruction which was accidentally dropped
in refactoring.

llvm-svn: 106398
2010-06-19 22:50:35 +00:00
Dan Gohman 32655906e4 Add a TODO comment.
llvm-svn: 106397
2010-06-19 21:30:18 +00:00