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
Dan Gohman [Thu, 27 Aug 2009 17:55:13 +0000 (17:55 +0000)]
Teach getUnderlyingObject and skipPointerCasts about GlobalAliases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80265
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 27 Aug 2009 17:54:15 +0000 (17:54 +0000)]
Be somewhat more consistent about const qualifiers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80264
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 27 Aug 2009 17:52:56 +0000 (17:52 +0000)]
Global Aliases are not identifiable objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80263
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 27 Aug 2009 17:51:25 +0000 (17:51 +0000)]
Handle TargetData with const.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80262
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 27 Aug 2009 17:29:49 +0000 (17:29 +0000)]
Strip trailing whitespace from blank lines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80259
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 27 Aug 2009 17:07:35 +0000 (17:07 +0000)]
re-apply r80197, now that iterator.h is not mentioned any more
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80254
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 27 Aug 2009 16:25:49 +0000 (16:25 +0000)]
Hopefully the final missing part :(
scalar_to_vector is fully legal now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80251
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 27 Aug 2009 16:10:17 +0000 (16:10 +0000)]
Forgot about actual change :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80250
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 27 Aug 2009 16:04:47 +0000 (16:04 +0000)]
scalar_to_vector is fully legal now (implemented as subreg accesses)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80249
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 27 Aug 2009 15:32:38 +0000 (15:32 +0000)]
Remove an entry from ValueMap before removing elements.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80247
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 27 Aug 2009 14:51:42 +0000 (14:51 +0000)]
Ok, sometimes it's profitable to turn scalar_to_vector stuff into subreg access.
Add a testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80246
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 27 Aug 2009 14:38:44 +0000 (14:38 +0000)]
Transform float scalar_to_vector into subreg accesses.
No idea whether this is profitable or not.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80245
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 27 Aug 2009 14:14:21 +0000 (14:14 +0000)]
STRD and LDRD require ARMv5TE, not just ARMv5T.
See http://llvm.org/PR4687 for more info and links.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80244
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 27 Aug 2009 12:02:34 +0000 (12:02 +0000)]
Inverse logic to increase portability.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80240
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Thu, 27 Aug 2009 11:54:38 +0000 (11:54 +0000)]
To make mcc16 run correctly on mac.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80239
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 27 Aug 2009 08:17:51 +0000 (08:17 +0000)]
llvm-mc/Mach-O: Add MCCodeEmitter support, for encoding instructions.
- No relocations yet, of course.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80235
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 27 Aug 2009 08:12:55 +0000 (08:12 +0000)]
llvm-mc/X86: Implement single instruction encoding interface for MC.
- Note, this is a gigantic hack, with the sole purpose of unblocking further
work on the assembler (its also possible to test the mathcer more completely
now).
- Despite being a hack, its actually good enough to work over all of 403.gcc
(although some encodings are probably incorrect). This is a testament to the
beauty of X86's MachineInstr, no doubt! ;)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80234
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 27 Aug 2009 07:58:57 +0000 (07:58 +0000)]
llvm-mc: Print encodings after the instruction, and only when we have an asm
printer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80233
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 27 Aug 2009 07:58:05 +0000 (07:58 +0000)]
X86: Mark EH_RETURN as code-gen-only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80232
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 27 Aug 2009 07:57:12 +0000 (07:57 +0000)]
Add {MCInst,MCOperand}::{print,dump}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80231
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 27 Aug 2009 07:56:39 +0000 (07:56 +0000)]
llvm-mc: Only show instruction encodings with --show-encoding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80230
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 27 Aug 2009 06:59:20 +0000 (06:59 +0000)]
the buildbots revealed one more breakage. fix. (why didn't I see this?)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80227
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 27 Aug 2009 06:41:46 +0000 (06:41 +0000)]
Clean up the minor mess I caused with removing iterator.h. I shall take care of 80-col violations and the FIXME later. (Thanks goodness that I live in another continent, so the monkeypox did not strike me :-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80224
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Aug 2009 06:29:33 +0000 (06:29 +0000)]
Implement a new optimization in the inliner: if inlining multiple
calls into a function and if the calls bring in arrays, try to merge
them together to reduce stack size. For example, in the testcase
we'd previously end up with 4 allocas, now we end up with 2 allocas.
As described in the comments, this is not really the ideal solution
to this problem, but it is surprisingly effective. For example, on
176.gcc, we end up eliminating 67 arrays at "gccas" time and another
24 at "llvm-ld" time.
One piece of concern that I didn't look into: at -O0 -g with
forced inlining this will almost certainly result in worse debug
info. I think this is acceptable though given that this is a case
of "debugging optimized code", and we don't want debug info to
prevent the optimizer from doing things anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80215
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Aug 2009 06:20:45 +0000 (06:20 +0000)]
the inliner shouldn't crash on this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80214
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 27 Aug 2009 06:11:15 +0000 (06:11 +0000)]
For now, only run MC tests if X86 is configured.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80213
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 27 Aug 2009 05:49:50 +0000 (05:49 +0000)]
This is passing for PPC on Mac OS X.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80210
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 27 Aug 2009 05:35:28 +0000 (05:35 +0000)]
Revert accidental commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80208
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Aug 2009 04:43:05 +0000 (04:43 +0000)]
unbreak the build, yay for symlinks + makefiles. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80205
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Aug 2009 04:32:07 +0000 (04:32 +0000)]
reduce header #include'age
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80204
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Aug 2009 04:20:52 +0000 (04:20 +0000)]
enhance InlineFunction to be able to optionally return
a the list of static allocas that it inlined.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80203
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Aug 2009 04:02:30 +0000 (04:02 +0000)]
smallvectorize the list of returns built by CloneAndPruneFunctionInto.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80202
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Aug 2009 03:56:43 +0000 (03:56 +0000)]
remove CloneTrace, which appears to be dead since 2004.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80201
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Aug 2009 03:51:50 +0000 (03:51 +0000)]
reduce inlining factor some stuff out to a static helper function,
and other code cleanups. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80199
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 27 Aug 2009 03:32:50 +0000 (03:32 +0000)]
Revert accidental commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80198
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 27 Aug 2009 03:29:26 +0000 (03:29 +0000)]
--- Reverse-merging r80147 into '.':
A include/llvm/ADT/iterator.cmake
U autoconf/configure.ac
--- Reverse-merging r80161 into '.':
U cmake/config-ix.cmake
--- Reverse-merging r80171 into '.':
U Makefile
--- Reverse-merging r80173 into '.':
U configure
U include/llvm/Config/config.h.in
--- Reverse-merging r80180 into '.':
A include/llvm/ADT/iterator.h.in
Despite common miscomceptions, iterator.h is alive and well. It broke the build
bots for several hours. And yet no one bothered to look at them.
Gabor and Doug, please review your changes and make sure that they actually
build before resubmitting them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80197
91177308-0d34-0410-b5e6-
96231b3b80d8