oota-llvm.git
14 years agoMake 'unset_option' work on list options.
Mikhail Glushenkov [Thu, 22 Oct 2009 04:15:07 +0000 (04:15 +0000)]
Make 'unset_option' work on list options.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84827 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agofix warning.
Chris Lattner [Thu, 22 Oct 2009 03:42:27 +0000 (03:42 +0000)]
fix warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84826 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix getHandlerNames() interface. Now it populate clinet supplied small vector with...
Devang Patel [Thu, 22 Oct 2009 01:01:24 +0000 (01:01 +0000)]
Fix getHandlerNames() interface. Now it populate clinet supplied small vector with handler names.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84820 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agollvm-ld doesn't throw.
Chris Lattner [Thu, 22 Oct 2009 00:52:28 +0000 (00:52 +0000)]
llvm-ld doesn't throw.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84819 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agothis doesn't use EH either.
Chris Lattner [Thu, 22 Oct 2009 00:50:24 +0000 (00:50 +0000)]
this doesn't use EH either.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84818 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agonothing opt uses can throw, remove the try block and -fexceptions when
Chris Lattner [Thu, 22 Oct 2009 00:46:41 +0000 (00:46 +0000)]
nothing opt uses can throw, remove the try block and -fexceptions when
building opt.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84816 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd some command line options for twiddling the default data layout
Chris Lattner [Thu, 22 Oct 2009 00:44:10 +0000 (00:44 +0000)]
Add some command line options for twiddling the default data layout
used by opt when a module doesn't specify one.  Patch from Kenneth Uildriks!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84814 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDon't generate sbfx / ubfx with negative lsb field. Patch by David Conrad.
Evan Cheng [Thu, 22 Oct 2009 00:40:00 +0000 (00:40 +0000)]
Don't generate sbfx / ubfx with negative lsb field. Patch by David Conrad.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84813 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUse StringRef to construct MDString.
Devang Patel [Thu, 22 Oct 2009 00:22:05 +0000 (00:22 +0000)]
Use StringRef to construct MDString.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84811 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agofix PR5262.
Chris Lattner [Thu, 22 Oct 2009 00:17:26 +0000 (00:17 +0000)]
fix PR5262.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84810 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUse special DAG-to-DAG preprocessing to allow mem-mem instructions to be selected.
Anton Korobeynikov [Thu, 22 Oct 2009 00:16:00 +0000 (00:16 +0000)]
Use special DAG-to-DAG preprocessing to allow mem-mem instructions to be selected.
Yay for ASCII graphics!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84808 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix null pointer dereference.
Anton Korobeynikov [Thu, 22 Oct 2009 00:15:17 +0000 (00:15 +0000)]
Fix null pointer dereference.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84806 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove meaningless const.
Devang Patel [Thu, 22 Oct 2009 00:10:15 +0000 (00:10 +0000)]
Remove meaningless const.
Pass StringRef by value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84804 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert the main portion of r31856. It was causing BranchFolding
Dan Gohman [Thu, 22 Oct 2009 00:03:58 +0000 (00:03 +0000)]
Revert the main portion of r31856. It was causing BranchFolding
to break up CFG diamonds by banishing one of the blocks to the end of
the function, which is bad for code density and branch size.

This does pessimize MultiSource/Benchmarks/Ptrdist/yacr2, the
benchmark cited as the reason for the change, however I've examined
the code and it looks more like a case of gaming a particular
branch than of being generally applicable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84803 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDerive metadata hierarchy from Value instead of User.
Devang Patel [Wed, 21 Oct 2009 23:57:35 +0000 (23:57 +0000)]
Derive metadata hierarchy from Value instead of User.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84801 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agorevert r84754, it isn't the right approach. Edwin, please propose
Chris Lattner [Wed, 21 Oct 2009 23:41:58 +0000 (23:41 +0000)]
revert r84754, it isn't the right approach.  Edwin, please propose
patches for fixes like this instead of committing them directly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84799 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMissing piece of the ARM frame index post-scavenging conditionalization
Jim Grosbach [Wed, 21 Oct 2009 23:40:56 +0000 (23:40 +0000)]
Missing piece of the ARM frame index post-scavenging conditionalization

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84798 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix thinko noticed by Chris.
Benjamin Kramer [Wed, 21 Oct 2009 23:29:32 +0000 (23:29 +0000)]
Fix thinko noticed by Chris.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84797 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdjust testcases for msasm -> alignstack.
Dale Johannesen [Wed, 21 Oct 2009 23:29:12 +0000 (23:29 +0000)]
Adjust testcases for msasm -> alignstack.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84796 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRename msasm to alignstack per review.
Dale Johannesen [Wed, 21 Oct 2009 23:28:00 +0000 (23:28 +0000)]
Rename msasm to alignstack per review.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84795 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove pointless return; at end of function.
Benjamin Kramer [Wed, 21 Oct 2009 23:27:54 +0000 (23:27 +0000)]
Remove pointless return; at end of function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84794 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoThe spill restore needs to be resolved to the SP/FP just like the spill
Jim Grosbach [Wed, 21 Oct 2009 22:59:56 +0000 (22:59 +0000)]
The spill restore needs to be resolved to the SP/FP just like the spill

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84792 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoConditionalize ARM/T2 frame index post-scavenging while working out fixes
Jim Grosbach [Wed, 21 Oct 2009 22:59:24 +0000 (22:59 +0000)]
Conditionalize ARM/T2 frame index post-scavenging while working out fixes
for a few bugs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84791 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSimplify code. No intended functionality change.
Benjamin Kramer [Wed, 21 Oct 2009 22:55:51 +0000 (22:55 +0000)]
Simplify code. No intended functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84790 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUse StringRef.
Devang Patel [Wed, 21 Oct 2009 21:57:13 +0000 (21:57 +0000)]
Use StringRef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84786 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMost of the NEON shuffle instructions do not support 64-bit element types.
Bob Wilson [Wed, 21 Oct 2009 21:36:27 +0000 (21:36 +0000)]
Most of the NEON shuffle instructions do not support 64-bit element types.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84785 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDo not use SmallVector to store MDNode elements.
Devang Patel [Wed, 21 Oct 2009 21:25:09 +0000 (21:25 +0000)]
Do not use SmallVector to store MDNode elements.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84784 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert r84764, it breaks mingw build
Anton Korobeynikov [Wed, 21 Oct 2009 21:15:18 +0000 (21:15 +0000)]
Revert r84764, it breaks mingw build

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84783 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoXFAIL this test for PPC.
Bill Wendling [Wed, 21 Oct 2009 21:09:48 +0000 (21:09 +0000)]
XFAIL this test for PPC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84782 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoImprove handling of immediates by splitting 32-bit immediates into two 16-bit
Jim Grosbach [Wed, 21 Oct 2009 20:44:34 +0000 (20:44 +0000)]
Improve handling of immediates by splitting 32-bit immediates into two 16-bit
immediate operands when they will fit into the using instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84778 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd DAG printing for RMW stuff debugging
Anton Korobeynikov [Wed, 21 Oct 2009 19:18:28 +0000 (19:18 +0000)]
Add DAG printing for RMW stuff debugging

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84776 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRMW preprocessing stuff was incorrect. Grab the stuff from x86 backend and disable...
Anton Korobeynikov [Wed, 21 Oct 2009 19:17:55 +0000 (19:17 +0000)]
RMW preprocessing stuff was incorrect. Grab the stuff from x86 backend and disable some tests until it will be clever enough to handle them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84775 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoImplement branch folding
Anton Korobeynikov [Wed, 21 Oct 2009 19:17:18 +0000 (19:17 +0000)]
Implement branch folding

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84774 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCosmetic changes, no functionality changes
Anton Korobeynikov [Wed, 21 Oct 2009 19:16:49 +0000 (19:16 +0000)]
Cosmetic changes, no functionality changes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84773 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMake changes to rev 84292 as requested by Chris Lattner.
Victor Hernandez [Wed, 21 Oct 2009 19:11:40 +0000 (19:11 +0000)]
Make changes to rev 84292 as requested by Chris Lattner.

Most changes are cleanup, but there is 1 correctness fix:
I fixed InstCombine so that the icmp is removed only if the malloc call is removed (which requires explicit removal because the Worklist won't DCE any calls since they can have side-effects).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84772 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix NEON VST2LN instruction encoding.
Bob Wilson [Wed, 21 Oct 2009 17:54:01 +0000 (17:54 +0000)]
Fix NEON VST2LN instruction encoding.
Patch by Johnny Chen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84767 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert 84732. It was the wrong fix.
Bob Wilson [Wed, 21 Oct 2009 17:52:34 +0000 (17:52 +0000)]
Revert 84732.  It was the wrong fix.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84766 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoIncorporate various suggestions Chris gave during metadata review.
Devang Patel [Wed, 21 Oct 2009 17:33:41 +0000 (17:33 +0000)]
Incorporate various suggestions Chris gave during metadata review.

- i < getNumElements()  instead of getNumElements() > i
- Make setParent() private
- Fix use of resizeOperands
- Reset HasMetadata bit after removing all metadata attached to an instruction
- Efficient use of iterators

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84765 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoBuild shared lib instead of an archive.
Sanjiv Gupta [Wed, 21 Oct 2009 17:27:23 +0000 (17:27 +0000)]
Build shared lib instead of an archive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84764 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCleanup of frame index scavenging. Better code flow and more accurately
Jim Grosbach [Wed, 21 Oct 2009 15:26:21 +0000 (15:26 +0000)]
Cleanup of frame index scavenging. Better code flow and more accurately
handles T2 and ARM use cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84761 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTwo corrections for docs/CMake.html.
Oscar Fuentes [Wed, 21 Oct 2009 13:22:20 +0000 (13:22 +0000)]
Two corrections for docs/CMake.html.

Patch by Victor Zverovich!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84759 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix PR5262: when folding select into PHI, make sure all operands are available
Torok Edwin [Wed, 21 Oct 2009 10:49:00 +0000 (10:49 +0000)]
Fix PR5262: when folding select into PHI, make sure all operands are available
in the PHI's Basic Block. This uses a conservative approach, because we don't
have dominator info in instcombine.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84754 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd a pass to overlay pic16 data sections for function frame and automatic
Sanjiv Gupta [Wed, 21 Oct 2009 10:42:44 +0000 (10:42 +0000)]
Add a pass to overlay pic16 data sections for function frame and automatic
variables. This pass can be invoked by llvm-ld or opt to traverse over the call graph
to detect what function frames and their automatic variables can be overlaid.
Currently this builds an archive , but needs to be changed to a loadable module.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84753 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdded more options to mcc16 driver.
Sanjiv Gupta [Wed, 21 Oct 2009 10:38:59 +0000 (10:38 +0000)]
Added more options to mcc16 driver.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84752 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMatch more patterns to movt.
Evan Cheng [Wed, 21 Oct 2009 08:15:52 +0000 (08:15 +0000)]
Match more patterns to movt.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84751 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoNeed a comma after imp-use.
Evan Cheng [Wed, 21 Oct 2009 07:56:02 +0000 (07:56 +0000)]
Need a comma after imp-use.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84749 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDe-bork CMake build
Douglas Gregor [Wed, 21 Oct 2009 06:01:54 +0000 (06:01 +0000)]
De-bork CMake build

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84744 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSet comment string, patch by Johnny Chen!
Chris Lattner [Wed, 21 Oct 2009 05:07:57 +0000 (05:07 +0000)]
Set comment string, patch by Johnny Chen!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84743 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agomake GVN work better when TD is not around:
Chris Lattner [Wed, 21 Oct 2009 04:11:19 +0000 (04:11 +0000)]
make GVN work better when TD is not around:

"In the existing code, if the load and the value to replace it with are
of different types *and* target data is available, it tries to use the
target data to coerce the replacement value to the type of the load.
Otherwise, it skips all effort to handle the type mismatch and just
feeds the wrongly-typed replacement value to replaceAllUsesWith, which
triggers an assertion.

The patch replaces it with an outer if checking for type mismatch, and
an inner if-else that checks whether target data is available and, if
not, returns false rather than trying to replace the load."

Patch by Kenneth Uildriks!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84739 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agotidy
Chris Lattner [Wed, 21 Oct 2009 04:10:24 +0000 (04:10 +0000)]
tidy

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84738 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix some more NEON instruction encoding problems.
Bob Wilson [Wed, 21 Oct 2009 02:27:20 +0000 (02:27 +0000)]
Fix some more NEON instruction encoding problems.
Thanks to Johnny Chen for discovering the problem.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84732 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDo not remove dead metadata for now.
Devang Patel [Wed, 21 Oct 2009 02:21:34 +0000 (02:21 +0000)]
Do not remove dead metadata for now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84731 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoLeave some NEON instruction encoding bits unspecified instead of setting
Bob Wilson [Wed, 21 Oct 2009 02:15:46 +0000 (02:15 +0000)]
Leave some NEON instruction encoding bits unspecified instead of setting
a default value of zero.  This is important for decoding the instructions.
Patch by Johnny Chen, with some changes from me, too.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84730 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoClarify documentation on multi_val options.
Mikhail Glushenkov [Wed, 21 Oct 2009 02:13:52 +0000 (02:13 +0000)]
Clarify documentation on multi_val options.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84729 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoImplement any_[not_]empty and list versions of switch_on and [not_]empty.
Mikhail Glushenkov [Wed, 21 Oct 2009 02:13:13 +0000 (02:13 +0000)]
Implement any_[not_]empty and list versions of switch_on and [not_]empty.

Useful for OptionPreprocessor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84728 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert r84658 and r84691. They were causing llvm-gcc bootstrap to fail.
Dan Gohman [Wed, 21 Oct 2009 01:44:44 +0000 (01:44 +0000)]
Revert r84658 and r84691. They were causing llvm-gcc bootstrap to fail.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84727 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoIPSCCP is missing stuff.
Chris Lattner [Wed, 21 Oct 2009 01:10:37 +0000 (01:10 +0000)]
IPSCCP is missing stuff.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84725 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoThis is passing on Darwin PPC.
Bill Wendling [Wed, 21 Oct 2009 00:51:40 +0000 (00:51 +0000)]
This is passing on Darwin PPC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84723 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDelete the MacOSJITEventListener per echristo's request. It was disabled by
Jeffrey Yasskin [Wed, 21 Oct 2009 00:43:48 +0000 (00:43 +0000)]
Delete the MacOSJITEventListener per echristo's request. It was disabled by
default and didn't work anyway.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84720 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd note
Anton Korobeynikov [Wed, 21 Oct 2009 00:14:15 +0000 (00:14 +0000)]
Add note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84713 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoBe crazy and assert in case of unsupported modifier passed.
Anton Korobeynikov [Wed, 21 Oct 2009 00:13:58 +0000 (00:13 +0000)]
Be crazy and assert in case of unsupported modifier passed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84712 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoHandle external symbols
Anton Korobeynikov [Wed, 21 Oct 2009 00:13:42 +0000 (00:13 +0000)]
Handle external symbols

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84711 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDistinguish between pcrel imm operands and 'normal' ones. Fix fixes gross weirdness...
Anton Korobeynikov [Wed, 21 Oct 2009 00:13:25 +0000 (00:13 +0000)]
Distinguish between pcrel imm operands and 'normal' ones. Fix fixes gross weirdness of asmprinting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84710 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd basic block operands & jump kinds
Anton Korobeynikov [Wed, 21 Oct 2009 00:13:05 +0000 (00:13 +0000)]
Add basic block operands & jump kinds

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84709 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoIgnore all implicit reg operands
Anton Korobeynikov [Wed, 21 Oct 2009 00:12:44 +0000 (00:12 +0000)]
Ignore all implicit reg operands

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84708 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd a workaround for different memops prefixes
Anton Korobeynikov [Wed, 21 Oct 2009 00:12:27 +0000 (00:12 +0000)]
Add a workaround for different memops prefixes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84707 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCheckpoint MCInst printer. We (almostly) able to print global / JT / constpool entries
Anton Korobeynikov [Wed, 21 Oct 2009 00:12:08 +0000 (00:12 +0000)]
Checkpoint MCInst printer. We (almostly) able to print global / JT / constpool entries

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84706 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd reg-imm tests
Anton Korobeynikov [Wed, 21 Oct 2009 00:11:44 +0000 (00:11 +0000)]
Add reg-imm tests

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84705 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd simple operand printing stuff
Anton Korobeynikov [Wed, 21 Oct 2009 00:11:27 +0000 (00:11 +0000)]
Add simple operand printing stuff

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84704 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd experimental MSP430 MCInstLowering stuff
Anton Korobeynikov [Wed, 21 Oct 2009 00:11:08 +0000 (00:11 +0000)]
Add experimental MSP430 MCInstLowering stuff

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84703 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoWire up MSP430 printMCInst() method
Anton Korobeynikov [Wed, 21 Oct 2009 00:10:47 +0000 (00:10 +0000)]
Wire up MSP430 printMCInst() method

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84702 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd MSP430 InstPrinter stub
Anton Korobeynikov [Wed, 21 Oct 2009 00:10:30 +0000 (00:10 +0000)]
Add MSP430 InstPrinter stub

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84701 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUse proper target data
Anton Korobeynikov [Wed, 21 Oct 2009 00:10:00 +0000 (00:10 +0000)]
Use proper target data

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84700 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRespect src register allocation requirements when breaking anti-dependencies. Remove...
David Goodwin [Tue, 20 Oct 2009 22:50:43 +0000 (22:50 +0000)]
Respect src register allocation requirements when breaking anti-dependencies. Remove some dead code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84691 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCosmetic changes.
Devang Patel [Tue, 20 Oct 2009 22:50:27 +0000 (22:50 +0000)]
Cosmetic changes.

s/validName/isValidName/g
s/with an Instruction/to an Instruction/g
s/RegisterMDKind/registerMDKind/g

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84689 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix -Asserts warning.
Daniel Dunbar [Tue, 20 Oct 2009 22:10:05 +0000 (22:10 +0000)]
Fix -Asserts warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84687 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix invalid for vector types fneg(bitconvert(x)) => bitconvert(x ^ sign)
Anton Korobeynikov [Tue, 20 Oct 2009 21:37:45 +0000 (21:37 +0000)]
Fix invalid for vector types fneg(bitconvert(x)) => bitconvert(x ^ sign)
transform.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84683 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoOops. Backing out 84681 - needs to wait for the indexing patch.
Lang Hames [Tue, 20 Oct 2009 21:28:22 +0000 (21:28 +0000)]
Oops. Backing out 84681 - needs to wait for the indexing patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84682 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdded some debugging output to pre-alloc splitting.
Lang Hames [Tue, 20 Oct 2009 21:25:13 +0000 (21:25 +0000)]
Added some debugging output to pre-alloc splitting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84681 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoadd a real testcase for PR4313
Chris Lattner [Tue, 20 Oct 2009 21:04:26 +0000 (21:04 +0000)]
add a real testcase for PR4313

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84676 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoadd a test similar to that needed for PR4313, but that doesn't
Chris Lattner [Tue, 20 Oct 2009 21:00:47 +0000 (21:00 +0000)]
add a test similar to that needed for PR4313, but that doesn't
fail without the patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84675 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agothe date on this testcase is wrong, it is unreduced, and it passes without the fix...
Chris Lattner [Tue, 20 Oct 2009 20:57:58 +0000 (20:57 +0000)]
the date on this testcase is wrong, it is unreduced, and it passes without the fix for PR4313.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84674 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix another place that calls Loop::contains a lot to construct a sorted
Dan Gohman [Tue, 20 Oct 2009 20:41:13 +0000 (20:41 +0000)]
Fix another place that calls Loop::contains a lot to construct a sorted
container of the blocks and do efficient lookups. This makes
isLoopSimplifyForm much faster on large loops, fixing a significant
compile-time issue in builds with assertions enabled.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84673 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agomerge and filecheckize
Chris Lattner [Tue, 20 Oct 2009 20:39:43 +0000 (20:39 +0000)]
merge and filecheckize

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84672 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agomerge two tests and convert to filecheck.
Chris Lattner [Tue, 20 Oct 2009 20:33:46 +0000 (20:33 +0000)]
merge two tests and convert to filecheck.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84671 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDisable by default while debugging
Jim Grosbach [Tue, 20 Oct 2009 20:31:31 +0000 (20:31 +0000)]
Disable by default while debugging

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84669 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoalternate fix for PR5258 which avoids worklist problems, with reduced testcase.
Chris Lattner [Tue, 20 Oct 2009 20:27:49 +0000 (20:27 +0000)]
alternate fix for PR5258 which avoids worklist problems, with reduced testcase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84667 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoadd cmd line opt to disable frame index reuse for ARM and T2. debug aid.
Jim Grosbach [Tue, 20 Oct 2009 20:19:50 +0000 (20:19 +0000)]
add cmd line opt to disable frame index reuse for ARM and T2. debug aid.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84664 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRestore LoopUnswitch's block-oriented threshold. LoopUnswitch now checks both
Dan Gohman [Tue, 20 Oct 2009 20:06:09 +0000 (20:06 +0000)]
Restore LoopUnswitch's block-oriented threshold. LoopUnswitch now checks both
the estimated code size and the number of blocks when deciding whether to
do a non-trivial unswitch. This protects it from some very undesirable
worst-case behavior on large numbers of loop-unswitchable conditions, such
as in the testcase in PR5259.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84661 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCheckpoint more aggressive anti-dependency breaking for post-ra scheduler.
David Goodwin [Tue, 20 Oct 2009 19:54:44 +0000 (19:54 +0000)]
Checkpoint more aggressive anti-dependency breaking for post-ra scheduler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84658 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoBetter handle instructions that re-def a scratch register
Jim Grosbach [Tue, 20 Oct 2009 19:52:35 +0000 (19:52 +0000)]
Better handle instructions that re-def a scratch register

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84657 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFollowing r84485, add Defs = [EFLAGS] to the 32-bit lock instructions too.
Dan Gohman [Tue, 20 Oct 2009 18:14:49 +0000 (18:14 +0000)]
Following r84485, add Defs = [EFLAGS] to the 32-bit lock instructions too.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84652 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMove the Function*->allocated blocks map from the JITMemoryManager to the
Jeffrey Yasskin [Tue, 20 Oct 2009 18:13:21 +0000 (18:13 +0000)]
Move the Function*->allocated blocks map from the JITMemoryManager to the
JITEmitter.

I'm gradually making Functions auto-remove themselves from the JIT when they're
destroyed. In this case, the Function needs to be removed from the JITEmitter,
but the map recording which Functions need to be removed lived behind the
JITMemoryManager interface, which made things difficult.

This patch replaces the deallocateMemForFunction(Function*) method with a pair
of methods deallocateFunctionBody(void *) and deallocateExceptionTable(void *)
corresponding to the two startFoo/endFoo pairs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84651 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRegister re-use for scavenged frame indices must check for re-deginition
Jim Grosbach [Tue, 20 Oct 2009 16:33:57 +0000 (16:33 +0000)]
Register re-use for scavenged frame indices must check for re-deginition
of the register in the instruction which kills the scavenged value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84641 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMake TranslateX86CC return COND_INVALID instead of aborting when it
Dan Gohman [Tue, 20 Oct 2009 16:22:37 +0000 (16:22 +0000)]
Make TranslateX86CC return COND_INVALID instead of aborting when it
encounters an OEQ or UNE comparison, and update its callers to check
for this return status and recover. This fixes a problem resulting from
the LowerOperation hooks being called from LegalizeVectorOps, because
LegalizeVectorOps only lowers vectors, so OEQ and UNE comparisons may
still be at large. This fixes PR5092.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84640 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix PR5258, jump-threading creating invalid PHIs.
Torok Edwin [Tue, 20 Oct 2009 15:42:00 +0000 (15:42 +0000)]
Fix PR5258, jump-threading creating invalid PHIs.
When an incoming value for a PHI is updated, we must also updated all other
incoming values for the same BB to match, otherwise we create invalid PHIs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84638 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix PR4313: IPSCCP was not setting the lattice value for the invoke instruction
Torok Edwin [Tue, 20 Oct 2009 15:15:09 +0000 (15:15 +0000)]
Fix PR4313: IPSCCP was not setting the lattice value for the invoke instruction
when the invoke had multiple return values: it set the lattice value only on the
extractvalue.
This caused the invoke's lattice value to remain the default (undefined), and
later propagated to extractvalue's operand, which incorrectly introduces
undefined behavior.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84637 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRandom #include pruning.
Benjamin Kramer [Tue, 20 Oct 2009 11:44:38 +0000 (11:44 +0000)]
Random #include pruning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84632 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoThis file is replaeced by PIC16Section.h.
Sanjiv Gupta [Tue, 20 Oct 2009 09:16:32 +0000 (09:16 +0000)]
This file is replaeced by PIC16Section.h.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84628 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoNNT: Implement "config mode", use -config path/to/llvm-config
Daniel Dunbar [Tue, 20 Oct 2009 07:30:54 +0000 (07:30 +0000)]
NNT: Implement "config mode", use -config path/to/llvm-config

 - This runs the nightly test and does all the submission logic, but using the
   LLVM build specified by the llvm-config.

 - Useful for, among other things, testing NNT itself.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84620 91177308-0d34-0410-b5e6-96231b3b80d8