Chris Lattner [Sun, 30 Aug 2009 21:02:02 +0000 (21:02 +0000)]
another huge testcase, this time from 'gs' in llvm-test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80513
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 21:01:14 +0000 (21:01 +0000)]
remove another poorly-reduced testcase which came from ldecod in llvm-test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80512
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 21:00:11 +0000 (21:00 +0000)]
this testcase is 500 lines long and is distilled from bzip2, just
remove it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80511
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 20:48:15 +0000 (20:48 +0000)]
convert to filecheck
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80510
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 20:38:21 +0000 (20:38 +0000)]
Fix PR4748: don't fold gep(bitcast(x)) into bitcast(gep) when x
is itself a bitcast. Since we have gep(bitcast(bitcast(y))) in this
case, just wait for the two bitcasts to get zapped. This prevents
instcombine from confusing some aliasing stuff, and allows it to
directly eliminate the load in the testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80508
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 20:36:46 +0000 (20:36 +0000)]
misc cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80507
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 20:06:40 +0000 (20:06 +0000)]
add getPointerAddressSpace() to GEP instruction, use the method
in a few scalar xforms to simplify things.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80506
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 20:01:10 +0000 (20:01 +0000)]
eliminate InsertCastBefore, use the builder instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80505
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 19:47:22 +0000 (19:47 +0000)]
eliminate InsertBitCastBefore, just use the builder instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80504
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 19:45:21 +0000 (19:45 +0000)]
add a "getPointerAddressSpace" helper method to LoadInst and StoreInst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80503
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sun, 30 Aug 2009 19:06:39 +0000 (19:06 +0000)]
Add missed pattern
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80502
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 18:50:58 +0000 (18:50 +0000)]
convert a bunch more calls to InsertNewInstBefore to use
the new Instcombine builder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80501
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 17:53:59 +0000 (17:53 +0000)]
fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80500
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 17:44:10 +0000 (17:44 +0000)]
hopefully unbreak the build by making this-> explicit for dependent
base class lookup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80499
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sun, 30 Aug 2009 17:14:54 +0000 (17:14 +0000)]
EXTRACT_VECTOR_ELEMENT can have result type different from element type.
Remove the assertion and generalize the code for ARM NEON stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80498
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Sun, 30 Aug 2009 08:24:09 +0000 (08:24 +0000)]
Add regular expression matching support, based on OpenBSD regexec()/regcomp()
implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80493
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 07:44:24 +0000 (07:44 +0000)]
give instcombine a custom IRBuilder that adds new instructions to the
workslist and is set to insert new instructions before the current one.
Convert a bunch of stuff that used to call InsertNewInstBefore over to
use it, greatly simplifying code and making it more natural.
There is still a lot more to go, but this is a good start.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80492
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 30 Aug 2009 07:01:09 +0000 (07:01 +0000)]
Update test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80490
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 06:27:41 +0000 (06:27 +0000)]
add a new InstCombineWorklist::AddValue method that works even
if the operand is not an instruction.
Simplify most uses of AddOperandsToWorkList to use AddValue and
inline it into the one remaining callsite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80488
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 06:22:51 +0000 (06:22 +0000)]
move AddUsersToWorkList to the worklist processing class, make the
argument stronger typed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80487
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 06:20:05 +0000 (06:20 +0000)]
rename AddUsesToWorkList -> AddOperandsToWorkList. The
former looks too much like AddUsersToWorkList and keeps
confusing me.
Remove AddSoonDeadInstToWorklist and change its two callers
to do the same thing in a simpler way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80486
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 30 Aug 2009 06:17:49 +0000 (06:17 +0000)]
llvm-mc/X86: Encode constant MCValue's correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80485
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 30 Aug 2009 06:17:16 +0000 (06:17 +0000)]
llvm-mc: MCStreamer cleanups. - Remove EmitLocalSymbol, this is unsupported for now.
- Switch Emit{CommonSymbol,Zerofill} to take alignment in bytes (for consistency).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80484
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 06:13:40 +0000 (06:13 +0000)]
inline the trivial AddToWorkList/RemoveFromWorkList methods
into their callers. simplify ReplaceInstUsesWith. Make
EraseInstFromFunction only add operands to the worklist if
there aren't too many of them (this was a scalability win
for crazy programs that was only infrequently enforced).
Switch more code to using EraseInstFromFunction instead of
duplicating it inline. Change some fcmp/icmp optimizations
to modify fcmp/icmp in place instead of creating a new one
and deleting the old one just to change the predicate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80483
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 05:56:44 +0000 (05:56 +0000)]
fix a bug I introduced in r80478 found by the build bot.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80482
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 05:55:36 +0000 (05:55 +0000)]
refactor instcombine's worklist processing stuff out to its own class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80481
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 05:55:04 +0000 (05:55 +0000)]
make DenseMap::clear() early exit if there is nothing to do.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80480
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 05:42:59 +0000 (05:42 +0000)]
some minor cleanups to IRBuilder, factor the insertion
hook out of the main IRBuilder class to allow clients to
override it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80479
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 05:30:55 +0000 (05:30 +0000)]
more cleanups: remove some redundant code, and simplify some
other places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80478
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 05:08:50 +0000 (05:08 +0000)]
eliminate the temporary SrcGEPOperands smallvector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80477
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 05:00:50 +0000 (05:00 +0000)]
simplify/detangle some control flow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80476
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 04:49:01 +0000 (04:49 +0000)]
simplify and cleanup some code, remove some code that just
does constant folding of gep's: this is already handled in
a more general way.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80475
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Aug 2009 04:25:40 +0000 (04:25 +0000)]
default count-aa to -print-all. The whole reason to use count-aa is
to see what queries are being made by a transformation, we might as well
default to printing them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80474
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sun, 30 Aug 2009 00:28:57 +0000 (00:28 +0000)]
Nuke moribund "std::string" version of EOL(..., Encoding).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80466
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 29 Aug 2009 23:54:26 +0000 (23:54 +0000)]
Add AutoGenerated.inc to svn:ignore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80455
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 29 Aug 2009 23:39:38 +0000 (23:39 +0000)]
Remove an unnecessary Context argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80454
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 29 Aug 2009 23:37:49 +0000 (23:37 +0000)]
Minor logic simplification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80453
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 29 Aug 2009 23:36:57 +0000 (23:36 +0000)]
Add some comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80452
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 29 Aug 2009 23:35:16 +0000 (23:35 +0000)]
Cleanup whitespace and indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80451
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 29 Aug 2009 23:34:14 +0000 (23:34 +0000)]
Remove some unused fields.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80450
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 29 Aug 2009 22:19:15 +0000 (22:19 +0000)]
CMOV_GR8 clobbers EFLAGS when its expansion involves an xor to set
a register to 0. This fixes PR4814.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80445
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 29 Aug 2009 13:38:21 +0000 (13:38 +0000)]
Inline empty destructor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80431
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 29 Aug 2009 12:31:38 +0000 (12:31 +0000)]
Fix warning about non-virtual destructor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80429
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 29 Aug 2009 12:20:54 +0000 (12:20 +0000)]
- Add target lowering methods to get the preferred format for the FDE and LSDA
encodings.
- Make some of the values emitted by the FDEs dependent upon the pointer
size. This is in line with how GCC does things. And it has the benefit of
working for Darwin in 64-bit mode now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80428
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 29 Aug 2009 12:17:53 +0000 (12:17 +0000)]
Add a form of EOL which emits the text version of a DWARF format encoding. This
doesn't handle all values of the formatting. Those can be added as needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80427
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Sat, 29 Aug 2009 05:53:25 +0000 (05:53 +0000)]
PR4795: Remove EEVT::isFP, isInt and isVec types used by TableGen's type
inferencing. As far as I can tell, these are equivalent to the existing
MVT::fAny, iAny and vAny types, and having both of them makes it harder
to reason about and modify the type inferencing code.
The specific problem in PR4795 occurs when updating a vAny type to be fAny
or iAny, or vice versa. Both iAny and fAny include vector types -- they
intersect with the set of types represented by vAny. When merging them,
choose fAny/iAny to represent the intersection. This is not perfect, since
fAny/iAny also include scalar types, but it is good enough for TableGen's
type inferencing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80423
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Sat, 29 Aug 2009 01:12:46 +0000 (01:12 +0000)]
Make the augmentation size and next set of bytes agree on size,
and make the reference pointer size as it should be.
Fixes an abort on a testcase derived from libunwind's personality
test in 64-bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80414
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Sat, 29 Aug 2009 00:44:16 +0000 (00:44 +0000)]
Fix OProfile support after r80406 changed the DebugInfo interface from
GlobalVariables to MDNodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80411
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Sat, 29 Aug 2009 00:11:13 +0000 (00:11 +0000)]
Another stab at fixing up register kill flags after post-RA scheduling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80410
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sat, 29 Aug 2009 00:08:18 +0000 (00:08 +0000)]
Do not assert on too wide splats we don't support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80409
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Fri, 28 Aug 2009 23:41:26 +0000 (23:41 +0000)]
Add missed extract_element pattern
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80408
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 28 Aug 2009 23:24:31 +0000 (23:24 +0000)]
Reapply 79977.
Use MDNodes to encode debug info in llvm IR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80406
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 28 Aug 2009 23:18:09 +0000 (23:18 +0000)]
Let Darwin linker auto-synthesize stubs and lazy-pointers. This deletes a bunch of nasty code in ARM asm printer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80404
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Fri, 28 Aug 2009 22:33:43 +0000 (22:33 +0000)]
Nuke trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80401
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 28 Aug 2009 16:14:46 +0000 (16:14 +0000)]
Fix creation of .bca libraries with EXPORTED_SYMBOLS_LIST, this was putting the
llvm-ld shell wrapper script in the archive, not the relinked object!
Also, rename the temp file to avoid conflicts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80373
91177308-0d34-0410-b5e6-
96231b3b80d8
Andreas Neustifter [Fri, 28 Aug 2009 16:13:45 +0000 (16:13 +0000)]
Read Makefile.config before using LLVMGCC.
See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-
20090824/085828.html
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80372
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Fri, 28 Aug 2009 16:12:48 +0000 (16:12 +0000)]
install-sh chmods to 0755 by default, and this causes 'git diff' to show
that all the Makefiles changed mode.
Fix this by tellint install-sh to chmod
only to 0644, these are not executable files after all!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80371
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Fri, 28 Aug 2009 16:06:41 +0000 (16:06 +0000)]
Short-term workaround for frame-related weirdness on win64.
Some other minor win64 fixes as well.
Patch by Michael Beck!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80370
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Fri, 28 Aug 2009 14:05:07 +0000 (14:05 +0000)]
rm needs -f
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80363
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Fri, 28 Aug 2009 13:35:44 +0000 (13:35 +0000)]
Remove the llvmprof.out from the test output, otherwise running
make check in a non-clean directory causes it to fail (for example when running
make check twice), since execution counts will differ.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80362
91177308-0d34-0410-b5e6-
96231b3b80d8
Andreas Neustifter [Fri, 28 Aug 2009 11:28:24 +0000 (11:28 +0000)]
Preparation for Optimal Edge Profiling:
This implements the maximum spanning tree algorithm on CFGs according to
weights given by the ProfileEstimator. This is then used to implement Optimal
Edge Profiling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80358
91177308-0d34-0410-b5e6-
96231b3b80d8
Andreas Neustifter [Fri, 28 Aug 2009 10:38:26 +0000 (10:38 +0000)]
Remove profiling output file because two consecutive runs of make check give
error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80357
91177308-0d34-0410-b5e6-
96231b3b80d8
Andreas Neustifter [Fri, 28 Aug 2009 10:07:41 +0000 (10:07 +0000)]
Removed unnecessary file creation during test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80356
91177308-0d34-0410-b5e6-
96231b3b80d8
Andreas Neustifter [Fri, 28 Aug 2009 10:00:28 +0000 (10:00 +0000)]
Pulled all tests into one test. Removed some redundant tests. Rename.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80355
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 28 Aug 2009 08:08:22 +0000 (08:08 +0000)]
Fix -Asserts warning, round two.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80354
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 28 Aug 2009 07:08:47 +0000 (07:08 +0000)]
llvm-mc: .lsym is more unsupported than unimplemented, pending a use case appearing.
Also, all one of the file level flags are implemented.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80352
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 28 Aug 2009 07:08:35 +0000 (07:08 +0000)]
llvm-mc: Support .comm emission.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80351
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 28 Aug 2009 06:59:37 +0000 (06:59 +0000)]
Print a nl before pic labels so they start at a new line. This makes assembly more readable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80350
91177308-0d34-0410-b5e6-
96231b3b80d8
Andreas Neustifter [Fri, 28 Aug 2009 06:48:25 +0000 (06:48 +0000)]
Since all std::cout is gone, also remove iostream include.
(See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-
20090824/085620.html)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80349
91177308-0d34-0410-b5e6-
96231b3b80d8
Andreas Neustifter [Fri, 28 Aug 2009 06:41:00 +0000 (06:41 +0000)]
Readded test from r79615, this tests the complete profiling tool chain. Furhter
tests can test only parts of this system.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80348
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 28 Aug 2009 05:49:21 +0000 (05:49 +0000)]
llvm-mc: Support .zerofill emission.
- I'm still trying to figure out the cleanest way to implement this and match the assembler, currently there are some substantial differences.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80347
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 28 Aug 2009 05:49:04 +0000 (05:49 +0000)]
llvm-mc: Tweak section alignment and size computation to match 'as' closer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80345
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 28 Aug 2009 05:48:54 +0000 (05:48 +0000)]
llvm-mc: Factor getSectionData out of SwitchSection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80344
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 28 Aug 2009 05:48:46 +0000 (05:48 +0000)]
llvm-mc: Emit .lcomm as .zerofill.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80343
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 28 Aug 2009 05:48:29 +0000 (05:48 +0000)]
llvm-mc: Unique zero fill sections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80342
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 28 Aug 2009 05:48:22 +0000 (05:48 +0000)]
llvm-mc: Add const to EmitZeroFill section argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80341
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 28 Aug 2009 05:48:10 +0000 (05:48 +0000)]
llvm-mc: Fix thinko in emitting values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80340
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 28 Aug 2009 05:48:04 +0000 (05:48 +0000)]
Add MathExtras.h OffsetToAlignment, like RoundUpToAlignment but returns the
offset to the next aligned integer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80339
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 28 Aug 2009 05:47:56 +0000 (05:47 +0000)]
Fix -Asserts warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80338
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Aug 2009 04:48:54 +0000 (04:48 +0000)]
finish a half formed thought :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80334
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 28 Aug 2009 03:06:28 +0000 (03:06 +0000)]
Another NO_RUNTIME_LIBRARIES tweak...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80331
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 28 Aug 2009 02:20:39 +0000 (02:20 +0000)]
Tweak NO_RUNTIME_LIBS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80330
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Aug 2009 00:45:47 +0000 (00:45 +0000)]
Mark Andersen's as experimental.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80328
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Aug 2009 00:43:14 +0000 (00:43 +0000)]
Fix PR3913, patch by Jakub Staszak!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80327
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 28 Aug 2009 00:31:43 +0000 (00:31 +0000)]
v4, v5 does not support sxtb / sxth.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80322
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Fri, 28 Aug 2009 00:21:13 +0000 (00:21 +0000)]
Disable optional bindings for Apple-style builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80319
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Fri, 28 Aug 2009 00:10:15 +0000 (00:10 +0000)]
Revert 76080. This broke some powerpc cross compiles.
It also makes the llvmCore build dependent on whatever version of llvm-gcc
happens to be installed on the build machine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80316
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 27 Aug 2009 23:58:10 +0000 (23:58 +0000)]
Revert r80305, I forgot a dependent change.
--- Reverse-merging r80305 into '.':
U tools/llvm-mc/AsmParser.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80309
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 27 Aug 2009 23:51:51 +0000 (23:51 +0000)]
Closure is a very generic name. Use AppleBlock instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80307
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 27 Aug 2009 23:45:06 +0000 (23:45 +0000)]
llvm-mc: Unique sections in .zerofill.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80305
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 27 Aug 2009 23:44:33 +0000 (23:44 +0000)]
eliminate all 80-col violations that I have introduced in my recent checkins (and some others more)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80304
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 27 Aug 2009 23:43:28 +0000 (23:43 +0000)]
Don't build runtime libraries in an Apple style build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80303
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Thu, 27 Aug 2009 19:57:56 +0000 (19:57 +0000)]
Revert 80278 for now, it caused a lot of MIPS tests to fail
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80280
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Thu, 27 Aug 2009 19:40:40 +0000 (19:40 +0000)]
Revamp our friend Mips :)
Add MO flags to simplify the printing of relocations.
Remove the support for printing large code model relocs (which
aren't supported anyway).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80278
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 27 Aug 2009 18:16:24 +0000 (18:16 +0000)]
Don't mark CMOV_GR8 as two-address, or commutable, since it's a pseudo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80271
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 27 Aug 2009 18:14:26 +0000 (18:14 +0000)]
Adjust the MachineBasicBlock verifier rules to be more
tolerant of blocks that end with "unreachable".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80270
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 27 Aug 2009 18:08:16 +0000 (18:08 +0000)]
Add FIXME for when we support more specific XMM registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80269
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 27 Aug 2009 18:07:15 +0000 (18:07 +0000)]
Nuke trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80268
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 27 Aug 2009 18:02:03 +0000 (18:02 +0000)]
Use stripPointerCasts instead of doing the same manually.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80267
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 27 Aug 2009 17:59:08 +0000 (17:59 +0000)]
Minor code simplification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80266
91177308-0d34-0410-b5e6-
96231b3b80d8