OSDN Git Service
Chris Lattner [Wed, 1 Jul 2009 06:23:14 +0000 (06:23 +0000)]
disable some ctors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74591
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Jul 2009 06:21:53 +0000 (06:21 +0000)]
add some comments to MCSymbol header, make the ctor private so that only MCContext can create these.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74590
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Jul 2009 06:08:37 +0000 (06:08 +0000)]
improve comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74589
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Jul 2009 04:13:31 +0000 (04:13 +0000)]
improve the APIs for creating struct and function types with no arguments/elements
to not have to create a temporary vector (in the API at least). Patch by Jay Foad!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74584
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Jul 2009 03:27:19 +0000 (03:27 +0000)]
Fix some fast-isel problems selecting global variable addressing in
pic mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74582
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Jul 2009 01:59:31 +0000 (01:59 +0000)]
Handle IMPLICIT_DEF with isUndef operand marker, part 2. This patch moves the code to annotate machineoperands to LiveIntervalAnalysis. It also add markers for implicit_def that define physical registers. The rest, is just a lot of details.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74580
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 1 Jul 2009 01:48:54 +0000 (01:48 +0000)]
Remove unused AsmPrinter OptLevel argument, and propogate.
- This more or less amounts to a revert of r65379. I'm curious to know what
happened that caused this variable to become unused.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74579
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Wed, 1 Jul 2009 00:01:13 +0000 (00:01 +0000)]
Add PIC load and store patterns for Thumb-2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74577
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 30 Jun 2009 23:39:59 +0000 (23:39 +0000)]
Add a global context, for easing backwards compatibility.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74574
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 30 Jun 2009 23:38:38 +0000 (23:38 +0000)]
llvm-mc: Introduce method to match a parsed x86 instruction into an MCInst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74573
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 30 Jun 2009 23:37:44 +0000 (23:37 +0000)]
Fill in some methods for the MCValue field of an MCOperand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74572
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 30 Jun 2009 23:02:44 +0000 (23:02 +0000)]
llvm-mc: Accept relocatable expressions when parsing displacements and
immediates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74568
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Tue, 30 Jun 2009 22:50:01 +0000 (22:50 +0000)]
Thumb-2 load and store double description. But nothing yet creates them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74566
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 30 Jun 2009 22:49:27 +0000 (22:49 +0000)]
llvm-mc: Symbols in a relocatable expression of the (a - b + cst) form are
allowed to be undefined when the expression is seen, we cannot enforce the
same-section requirement until the entire assembly file has been seen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74565
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 30 Jun 2009 22:38:32 +0000 (22:38 +0000)]
Add an "alignment" field to the MachineFunction object. It makes more sense to
have the alignment be calculated up front, and have the back-ends obey whatever
alignment is decided upon.
This allows for future work that would allow for precise no-op placement and the
like.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74564
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Tue, 30 Jun 2009 22:11:34 +0000 (22:11 +0000)]
Add thumb-2 store word, halfword, and byte.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74555
91177308-0d34-0410-b5e6-
96231b3b80d8
Andreas Bolka [Tue, 30 Jun 2009 21:33:56 +0000 (21:33 +0000)]
Drop redundant print impl.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74553
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 30 Jun 2009 20:13:32 +0000 (20:13 +0000)]
Minor code cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74551
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 30 Jun 2009 20:10:56 +0000 (20:10 +0000)]
Reapply 74494, this time removing the conflicting definition of operator<<
in APIntTest.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74550
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Tue, 30 Jun 2009 19:50:22 +0000 (19:50 +0000)]
Improve Thumb-2 jump table support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74549
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Tue, 30 Jun 2009 19:24:59 +0000 (19:24 +0000)]
Add 256-bit memory operand support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74548
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Tue, 30 Jun 2009 18:04:13 +0000 (18:04 +0000)]
Add conditional and unconditional thumb-2 branch. Add thumb-2 jump table.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74543
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 30 Jun 2009 17:50:28 +0000 (17:50 +0000)]
Add wrappers for type construction to LLVMContext.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74542
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jun 2009 17:10:19 +0000 (17:10 +0000)]
add a FAQ.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74538
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 30 Jun 2009 17:06:46 +0000 (17:06 +0000)]
Fix up header comments to make Chris happy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74537
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 30 Jun 2009 16:40:03 +0000 (16:40 +0000)]
Fix PR4485.
Avoid unnecessary duplication of operand 0 of X86::FpSET_ST0_80. This duplication would
cause one register to remain on the stack at the function return.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74534
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 30 Jun 2009 16:26:57 +0000 (16:26 +0000)]
Revert my intentional breakage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74531
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 30 Jun 2009 16:11:58 +0000 (16:11 +0000)]
Intentionally break a unittest to test my buildbot gtest command.
- Apologies in advance for the noise.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74530
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 30 Jun 2009 16:02:47 +0000 (16:02 +0000)]
Suppress may-be-used-uninitialized warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74529
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 30 Jun 2009 14:37:26 +0000 (14:37 +0000)]
Fix CMake build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74527
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Tue, 30 Jun 2009 14:12:28 +0000 (14:12 +0000)]
Fixed assert that checks return value of TlsSetValue.
See http://msdn.microsoft.com/en-us/library/ms686818(VS.85).aspx
Patch by Olaf Krzikalla!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74526
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 30 Jun 2009 12:18:16 +0000 (12:18 +0000)]
Fix PR4484.
This was caused by me confounding FP0 and ST(0).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74523
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 30 Jun 2009 09:19:42 +0000 (09:19 +0000)]
Temporarily restore the scavenger implicit_def checking code. MachineOperand isUndef mark is not being put on implicit_def of physical registers (created for parameter passing, etc.).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74519
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 30 Jun 2009 08:49:04 +0000 (08:49 +0000)]
Add a bit IsUndef to MachineOperand. This indicates the def / use register operand is defined by an implicit_def. That means it can def / use any register and passes (e.g. register scavenger) can feel free to ignore them.
The register allocator, when it allocates a register to a virtual register defined by an implicit_def, can allocate any physical register without worrying about overlapping live ranges. It should mark all of operands of the said virtual register so later passes will do the right thing.
This is not the best solution. But it should be a lot less fragile to having the scavenger try to track what is defined by implicit_def.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74518
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 30 Jun 2009 07:05:27 +0000 (07:05 +0000)]
Temporarily revert r74494. It was causing failures in the unit tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74515
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jun 2009 06:27:54 +0000 (06:27 +0000)]
got confused again
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74514
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jun 2009 06:20:03 +0000 (06:20 +0000)]
fix some issues Jeff Yasskin noticed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74512
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jun 2009 06:13:23 +0000 (06:13 +0000)]
add a note about re-evaluating end() every time through a loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74511
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 30 Jun 2009 05:33:46 +0000 (05:33 +0000)]
Fix the build on Cygwin. Patch by Aaron Gray.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74510
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jun 2009 05:22:31 +0000 (05:22 +0000)]
remove a bogus note.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74509
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jun 2009 04:20:46 +0000 (04:20 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74508
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 30 Jun 2009 04:07:12 +0000 (04:07 +0000)]
#include <iostream> is forbidden. Remove it in favor of raw_ostream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74507
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 30 Jun 2009 02:15:48 +0000 (02:15 +0000)]
A few more load instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74500
91177308-0d34-0410-b5e6-
96231b3b80d8
Andreas Bolka [Tue, 30 Jun 2009 02:12:10 +0000 (02:12 +0000)]
Array accesses are independent if the underlying arrays differ.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74499
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 30 Jun 2009 02:10:03 +0000 (02:10 +0000)]
llvm-mc: Accept relocatable expressions for .org, assignments, .byte, etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74498
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 30 Jun 2009 02:08:27 +0000 (02:08 +0000)]
llvm-mc: Rewrite binary subtraction for relocatable expressions, we can't always
legally negate an MCValue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74497
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 30 Jun 2009 01:49:52 +0000 (01:49 +0000)]
llvm-mc: Evaluation for relocatable expressions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74496
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 30 Jun 2009 01:29:09 +0000 (01:29 +0000)]
Delete a spurious blank line at the top of the file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74495
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 30 Jun 2009 01:28:08 +0000 (01:28 +0000)]
Define an operator<< for APInt to be used with std::ostream.
This will allow it to be used in unittests that use gtest's
EXPECT_EQ.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74494
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 30 Jun 2009 01:25:30 +0000 (01:25 +0000)]
Minor formatting, whitespace, and 80-column fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74492
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 30 Jun 2009 01:24:43 +0000 (01:24 +0000)]
Minor code simplification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74491
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Tue, 30 Jun 2009 01:02:20 +0000 (01:02 +0000)]
Enhance tests to include shifted-register operand testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74490
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 30 Jun 2009 00:49:23 +0000 (00:49 +0000)]
Normalize SourceMgr messages.
- Don't print "Parsing" in front of every message.
- Take additional "type" argument which is prepended to the message (with ": ")
if given.
- Update clients to print errors (warnings) as:
<filename>:<line number>: error(warning): ...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74489
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 30 Jun 2009 00:48:55 +0000 (00:48 +0000)]
Add LLVMContext, which will eventually be used as a container for privatizing a lot of (currently) global state, including the
constant and type uniquing tables. For now, just make it a wrapper around the existing APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74488
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 30 Jun 2009 00:33:19 +0000 (00:33 +0000)]
llvm-mc: Parse symbol attribute directives.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74487
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 30 Jun 2009 00:16:43 +0000 (00:16 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74485
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 30 Jun 2009 00:16:22 +0000 (00:16 +0000)]
Clang is now production quality (at least for C).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74484
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 30 Jun 2009 00:16:00 +0000 (00:16 +0000)]
Add a way to access argv[0] in hooks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74483
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 30 Jun 2009 00:15:24 +0000 (00:15 +0000)]
Move the driver entry point out of Main.inc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74482
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 29 Jun 2009 23:46:59 +0000 (23:46 +0000)]
llvm-mc: Parse .{,b,p2}align{,w,l} directives.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74478
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 29 Jun 2009 23:46:50 +0000 (23:46 +0000)]
Struct types are described using field types only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74477
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 29 Jun 2009 23:43:14 +0000 (23:43 +0000)]
llvm-mc: Diagnose misuse (mix) of defined symbols and labels.
- For example, we diagnose errors on:
--
a:
a = 10
--
- For now we reject code like:
--
.long a
a = 10
--
which "as" accepts (on Darwin).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74476
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 29 Jun 2009 23:28:55 +0000 (23:28 +0000)]
Add SMLoc::isValid method.
- To support using SMLoc as a sentinel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74474
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 29 Jun 2009 22:59:36 +0000 (22:59 +0000)]
Fix install of libCompilerDriver dynamic library to not copy on every build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74473
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Mon, 29 Jun 2009 22:55:52 +0000 (22:55 +0000)]
Remove commented code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74471
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Mon, 29 Jun 2009 22:50:51 +0000 (22:50 +0000)]
Add a 256-bit register class and YMM registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74469
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Mon, 29 Jun 2009 22:49:42 +0000 (22:49 +0000)]
Add Thumb-2 support for TEQ amd TST.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74468
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Mon, 29 Jun 2009 22:25:22 +0000 (22:25 +0000)]
Thumb-2 tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74464
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 29 Jun 2009 22:00:57 +0000 (22:00 +0000)]
llvm-mc: Recognize C++ style comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74463
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 29 Jun 2009 21:58:22 +0000 (21:58 +0000)]
llvm-mc: Recognize C++ style comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74462
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 29 Jun 2009 21:31:18 +0000 (21:31 +0000)]
Use getSCEV instead of getUnknown to create a SCEV for a
Constant. This lets ConstantInts be handled as SCEVConstant instead
of SCEVUnknown, as getUnknown no longer has special-case code for
ConstantInt and friends. This usually doesn't affect the final
output, since the constants end up getting folded later, but it
does make intermediate expressions more obvious in many cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74459
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 29 Jun 2009 21:14:21 +0000 (21:14 +0000)]
Fix uninitialized variable warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74457
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 29 Jun 2009 21:12:26 +0000 (21:12 +0000)]
Don't build LLVMC when configured with --disable-pic (it needs requires shared
module support to build).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74456
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Mon, 29 Jun 2009 21:05:10 +0000 (21:05 +0000)]
Set wasRun to false here on Dan's suggestion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74455
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 29 Jun 2009 20:45:18 +0000 (20:45 +0000)]
s/MainCU/ModuleCU/g
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74452
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 29 Jun 2009 20:41:28 +0000 (20:41 +0000)]
Set some svn:ignore props
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74451
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 29 Jun 2009 20:40:36 +0000 (20:40 +0000)]
MC: Improve expression parsing and implement evaluation of absolute expressions
(missed files).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74450
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 29 Jun 2009 20:38:13 +0000 (20:38 +0000)]
Multiple DW_TAG_compile_unit is not used, afaict, on any target.
Update dwarf writer to only emit one DW_TAG_compile_unit per .o file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74449
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 29 Jun 2009 20:37:27 +0000 (20:37 +0000)]
MC: Improve expression parsing and implement evaluation of absolute expressions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74448
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 29 Jun 2009 20:34:13 +0000 (20:34 +0000)]
Don't cache PHI exit values from exhaustive evaluations, because
an individual exhaustive evaluation reflects only the exit value
implied by an individual exit, which may differ from the actual
exit value of the loop if there are other exits. This fixes PR4477.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74447
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 29 Jun 2009 20:29:59 +0000 (20:29 +0000)]
FIX PR 4459.
Not sure I understand how the temp register gets used,
but this fixes a bug and introduces no regressions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74446
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Mon, 29 Jun 2009 20:07:17 +0000 (20:07 +0000)]
Add some tests of advanced TableGen list functionality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74445
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Mon, 29 Jun 2009 20:05:29 +0000 (20:05 +0000)]
Implement !cast<string>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74444
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Mon, 29 Jun 2009 19:59:52 +0000 (19:59 +0000)]
Improve TableGen error reporting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74443
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Mon, 29 Jun 2009 19:59:10 +0000 (19:59 +0000)]
Initialize CurSection in constructor.
Not doing so causes some unittests to fail, because CurSection is uninitialized.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74442
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 29 Jun 2009 19:57:24 +0000 (19:57 +0000)]
Fix order of arguments to EXPECT_EQ
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74441
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 29 Jun 2009 19:51:00 +0000 (19:51 +0000)]
Rename MCValue::getCst to getConstant and add MCValue::isConstant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74440
91177308-0d34-0410-b5e6-
96231b3b80d8
Andreas Bolka [Mon, 29 Jun 2009 18:51:11 +0000 (18:51 +0000)]
Relax LDA memory instruction checks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74439
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Mon, 29 Jun 2009 18:49:09 +0000 (18:49 +0000)]
Call doInitialization(), releaseMemory(), and doFinalization() for on-the-fly passes as well.
Also don't call finalizers for LoopPass if initialization was not called.
Add a unittest that tests that these methods are called, in the proper
order, and the correct number of times.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74438
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 29 Jun 2009 18:25:52 +0000 (18:25 +0000)]
Simplify this code, and avoid using APInt(). This fixes
(otherwise harmless) uninitialized value warnings that
Duncan found with gcc-4.4.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74437
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 29 Jun 2009 18:04:45 +0000 (18:04 +0000)]
Add a target-specific DAG combine on X86 to fold the common pattern of
fence-atomic-fence down to just the atomic op. This is possible thanks to
X86's relatively strong memory model, which guarantees that locked instructions
(which are used to implement atomics) are implicit fences.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74435
91177308-0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Mon, 29 Jun 2009 17:12:06 +0000 (17:12 +0000)]
Fix three MSVC 2008 warnings that completely clutter the build output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74430
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Mon, 29 Jun 2009 16:54:06 +0000 (16:54 +0000)]
Add processor descriptions for Istanbul and Shanghai.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74429
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Mon, 29 Jun 2009 16:51:01 +0000 (16:51 +0000)]
Fix a subtarget feature bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74428
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Mon, 29 Jun 2009 16:47:10 +0000 (16:47 +0000)]
Add more vector ValueTypes for AVX and other extended vector instruction
sets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74427
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 29 Jun 2009 16:25:22 +0000 (16:25 +0000)]
Fix CMake checks for pthread_getspecific and pthread_rwlock_init, from Xerxes Ranby
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74426
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Mon, 29 Jun 2009 15:33:01 +0000 (15:33 +0000)]
Rename ARMcmpNZ to ARMcmpZ and use it to represent comparisons that set only the Z flag (i.e. eq and ne). Make ARMcmpZ commutative.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74423
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 29 Jun 2009 13:36:13 +0000 (13:36 +0000)]
Add triple for OpenBSD.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74422
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 29 Jun 2009 13:11:32 +0000 (13:11 +0000)]
Include the new file ThumbRegisterInfo.cpp to CMakeLists.txt
to make sure ThumbRegisterInfo.cpp are compiled and linked in.
Patch by Xerxes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74421
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 29 Jun 2009 07:51:04 +0000 (07:51 +0000)]
Implement Thumb2 ldr.
After much back and forth, I decided to deviate from ARM design and split LDR into 4 instructions (r + imm12, r + imm8, r + r << imm12, constantpool). The advantage of this is 1) it follows the latest ARM technical manual, and 2) makes it easier to reduce the width of the instruction later. The down side is this creates more inconsistency between the two sub-targets. We should split ARM LDR instruction in a similar fashion later. I've added a README entry for this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74420
91177308-0d34-0410-b5e6-
96231b3b80d8