oota-llvm.git
16 years agoUse eraseFromParent() instead of doing that manually in two places.
Matthijs Kooijman [Fri, 30 May 2008 12:35:46 +0000 (12:35 +0000)]
Use eraseFromParent() instead of doing that manually in two places.

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

16 years agoLet Instruction::getOpcodeName() return something useful for the new
Matthijs Kooijman [Fri, 30 May 2008 10:31:54 +0000 (10:31 +0000)]
Let Instruction::getOpcodeName() return something useful for the new
insertvalue / extractvalue instructions.

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

16 years agoAdd the "AsCheapAsAMove" flag to some 64-bit xor instructions.
Bill Wendling [Fri, 30 May 2008 06:47:04 +0000 (06:47 +0000)]
Add the "AsCheapAsAMove" flag to some 64-bit xor instructions.

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

16 years agoAdd a --save-temps option.
Mikhail Glushenkov [Fri, 30 May 2008 06:29:17 +0000 (06:29 +0000)]
Add a --save-temps option.

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

16 years agoAdd a check for side effect-free options (specified only in the OptionList).
Mikhail Glushenkov [Fri, 30 May 2008 06:28:37 +0000 (06:28 +0000)]
Add a check for side effect-free options (specified only in the OptionList).

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

16 years agoDocumentation update.
Mikhail Glushenkov [Fri, 30 May 2008 06:28:00 +0000 (06:28 +0000)]
Documentation update.

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

16 years agoRefactoring: remove code duplication introduced in the previous patch.
Mikhail Glushenkov [Fri, 30 May 2008 06:27:29 +0000 (06:27 +0000)]
Refactoring: remove code duplication introduced in the previous patch.

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

16 years agoRefactoring: split CollectProperties into two separate function objects.
Mikhail Glushenkov [Fri, 30 May 2008 06:27:02 +0000 (06:27 +0000)]
Refactoring: split CollectProperties into two separate function objects.

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

16 years agoShow argv[0] in error messages (like gcc).
Mikhail Glushenkov [Fri, 30 May 2008 06:26:35 +0000 (06:26 +0000)]
Show argv[0] in error messages (like gcc).

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

16 years agoNew feature: OptionList.
Mikhail Glushenkov [Fri, 30 May 2008 06:26:08 +0000 (06:26 +0000)]
New feature: OptionList.

It can be handy to have all information about options gathered in a single place
to provide an overview of all supported options. This patch allows the following:

def Options : OptionList<[
(switch_option "E", (help "Help string")),
(alias_option "quiet", "q")
...
]>;

Tool-specific option properties (like 'append_cmd') have (obviously) no meaning in
this context, so the only properties that are allowed are 'help' and 'required'.

See usage example in examples/Clang.td.

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

16 years agoDocumentation update.
Mikhail Glushenkov [Fri, 30 May 2008 06:25:24 +0000 (06:25 +0000)]
Documentation update.

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

16 years agoA small optimization: use static char* array instead of StrVector.
Mikhail Glushenkov [Fri, 30 May 2008 06:24:49 +0000 (06:24 +0000)]
A small optimization: use static char* array instead of StrVector.

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

16 years agoMake it possible to test if the '-o' option is provided.
Mikhail Glushenkov [Fri, 30 May 2008 06:24:07 +0000 (06:24 +0000)]
Make it possible to test if the '-o' option is provided.

The following is now allowed:

    (case (not_empty "o"), do_something, ...)

This didn't work previously because "-o" is built-in.

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

16 years agoFix: 'sink' handling was broken.
Mikhail Glushenkov [Fri, 30 May 2008 06:23:29 +0000 (06:23 +0000)]
Fix: 'sink' handling was broken.

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

16 years agoAdd support for option aliases.
Mikhail Glushenkov [Fri, 30 May 2008 06:22:52 +0000 (06:22 +0000)]
Add support for option aliases.

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

16 years agoAllow nesting of case expressions.
Mikhail Glushenkov [Fri, 30 May 2008 06:22:15 +0000 (06:22 +0000)]
Allow nesting of case expressions.

The following is now legal:

    (case (in_language "c"),
          (case (switch_on "E"), "gcc -x c -E $INFILE", (default), "gcc -x c $INFILE"),
          (default),
          "gcc $INFILE $OUTFILE")

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

16 years agoSmall error message improvement.
Mikhail Glushenkov [Fri, 30 May 2008 06:21:48 +0000 (06:21 +0000)]
Small error message improvement.

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

16 years agoRemove RequireDefault parameter from EmitCaseConstructHandler.
Mikhail Glushenkov [Fri, 30 May 2008 06:21:21 +0000 (06:21 +0000)]
Remove RequireDefault parameter from EmitCaseConstructHandler.

There are now no situations when 'default' is required.

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

16 years agoFix some headers.
Mikhail Glushenkov [Fri, 30 May 2008 06:20:54 +0000 (06:20 +0000)]
Fix some headers.

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

16 years agoNew tests for the 'case' expression: not_empty, in_language.
Mikhail Glushenkov [Fri, 30 May 2008 06:19:52 +0000 (06:19 +0000)]
New tests for the 'case' expression: not_empty, in_language.

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

16 years ago-E should print to stdout.
Mikhail Glushenkov [Fri, 30 May 2008 06:18:50 +0000 (06:18 +0000)]
-E should print to stdout.

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

16 years agoMake it possible to have multiple input languages for a single tool.
Mikhail Glushenkov [Fri, 30 May 2008 06:18:16 +0000 (06:18 +0000)]
Make it possible to have multiple input languages for a single tool.

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

16 years agoRename StringVector to StrVector (to be consistent with LLVMCConfigurationEmitter...
Mikhail Glushenkov [Fri, 30 May 2008 06:17:29 +0000 (06:17 +0000)]
Rename StringVector to StrVector (to be consistent with LLVMCConfigurationEmitter.cpp).

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

16 years agoMinor error message fixes.
Mikhail Glushenkov [Fri, 30 May 2008 06:16:59 +0000 (06:16 +0000)]
Minor error message fixes.

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

16 years agoDocumentation and examples improvements
Mikhail Glushenkov [Fri, 30 May 2008 06:16:32 +0000 (06:16 +0000)]
Documentation and examples improvements

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

16 years agoBetter error reporting for the 'case' construct.
Mikhail Glushenkov [Fri, 30 May 2008 06:15:47 +0000 (06:15 +0000)]
Better error reporting for the 'case' construct.

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

16 years agoDo not generate empty 'if's for the output_suffix property.
Mikhail Glushenkov [Fri, 30 May 2008 06:15:20 +0000 (06:15 +0000)]
Do not generate empty 'if's for the output_suffix property.

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

16 years agoUpdate documentation, add examples.
Mikhail Glushenkov [Fri, 30 May 2008 06:14:42 +0000 (06:14 +0000)]
Update documentation, add examples.

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

16 years agoRename LLVMC-Tutorial.rst to LLVMC-Reference.rst
Mikhail Glushenkov [Fri, 30 May 2008 06:14:01 +0000 (06:14 +0000)]
Rename LLVMC-Tutorial.rst to LLVMC-Reference.rst

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

16 years agoMake it possible to use hooks like this: '$CALL(MyHook)/path/to/file'.
Mikhail Glushenkov [Fri, 30 May 2008 06:13:29 +0000 (06:13 +0000)]
Make it possible to use hooks like this: '$CALL(MyHook)/path/to/file'.

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

16 years agoMake it possible to change the output file suffix based on command-line options.
Mikhail Glushenkov [Fri, 30 May 2008 06:13:02 +0000 (06:13 +0000)]
Make it possible to change the output file suffix based on command-line options.

For instance, the following command:

    llvmc2 -E hello.c

now generates a file with the correct suffix (hello.i).

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

16 years agoAdd support for user-provided hooks and environment variable reads to the cmd_line...
Mikhail Glushenkov [Fri, 30 May 2008 06:12:24 +0000 (06:12 +0000)]
Add support for user-provided hooks and environment variable reads to the cmd_line tool property.

Used like this: (cmd_line "$CALL(MyHook) --option -o $ENV(VARIABLE) $CALL(AnotherHook)")
Also works with case expressions.

Hook declarations are auto-generated, the definitions should be provided by the user
(just drop a .cpp file in the tools/llvmc2 directory).

Hooks should live in the "hooks" namespace and have type std::string hooks::Hook(void).

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

16 years agoEnable the response file ('llvmc @file') support.
Mikhail Glushenkov [Fri, 30 May 2008 06:11:45 +0000 (06:11 +0000)]
Enable the response file ('llvmc @file') support.

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

16 years agoUpdate the code to the fact that StringSet now lives in llvm/ADT.
Mikhail Glushenkov [Fri, 30 May 2008 06:11:18 +0000 (06:11 +0000)]
Update the code to the fact that StringSet now lives in llvm/ADT.

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

16 years agoSome small tweaks to make the generated code prettier.
Mikhail Glushenkov [Fri, 30 May 2008 06:10:47 +0000 (06:10 +0000)]
Some small tweaks to make the generated code prettier.

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

16 years agoMake it possible to use the generalised 'case' construct in the cmd_line property.
Mikhail Glushenkov [Fri, 30 May 2008 06:10:19 +0000 (06:10 +0000)]
Make it possible to use the generalised 'case' construct in the cmd_line property.

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

16 years agoAdd a generalised 'case' construct.
Mikhail Glushenkov [Fri, 30 May 2008 06:08:50 +0000 (06:08 +0000)]
Add a generalised 'case' construct.

Besides assigning edge weights, it will also be used by the cmd_line tool property.

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

16 years agoUnbreak this test.
Nick Lewycky [Fri, 30 May 2008 05:02:37 +0000 (05:02 +0000)]
Unbreak this test.

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

16 years agoremove the StripSymbolsPass. This should not be done by default in libLTO.dylib...
Nick Kledzik [Fri, 30 May 2008 00:59:13 +0000 (00:59 +0000)]
remove the StripSymbolsPass.  This should not be done by default in libLTO.dylib.  The linker will remove the symbol names if needed after LTO is done

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

16 years agoRemove an unused variable.
Dan Gohman [Fri, 30 May 2008 00:56:36 +0000 (00:56 +0000)]
Remove an unused variable.

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

16 years agoFix an error in the comment for APInt::getMinSignedBits.
Dan Gohman [Fri, 30 May 2008 00:46:49 +0000 (00:46 +0000)]
Fix an error in the comment for APInt::getMinSignedBits.

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

16 years agoFix a typo in a comment.
Dan Gohman [Fri, 30 May 2008 00:08:18 +0000 (00:08 +0000)]
Fix a typo in a comment.

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

16 years agoFix a copy+paste error in a comment.
Dan Gohman [Fri, 30 May 2008 00:02:02 +0000 (00:02 +0000)]
Fix a copy+paste error in a comment.

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

16 years agoFix doxygen comment syntax.
Dan Gohman [Fri, 30 May 2008 00:01:36 +0000 (00:01 +0000)]
Fix doxygen comment syntax.

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

16 years agoMake the renumbering correct in the face of deleted instructions that have been remov...
Owen Anderson [Thu, 29 May 2008 23:01:22 +0000 (23:01 +0000)]
Make the renumbering correct in the face of deleted instructions that have been removed from the LiveIntervals maps.

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

16 years agoadd doxygen comments
Gabor Greif [Thu, 29 May 2008 22:58:33 +0000 (22:58 +0000)]
add doxygen comments

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

16 years agoUnbreak build.
Bill Wendling [Thu, 29 May 2008 22:02:08 +0000 (22:02 +0000)]
Unbreak build.

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

16 years agoRemove guard, so *each* inclusion will result in a warning
Anton Korobeynikov [Thu, 29 May 2008 21:57:11 +0000 (21:57 +0000)]
Remove guard, so *each* inclusion will result in a warning

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

16 years agoAdd patterns for CALL32m and CALL64m. They aren't matched in most
Dan Gohman [Thu, 29 May 2008 21:50:34 +0000 (21:50 +0000)]
Add patterns for CALL32m and CALL64m. They aren't matched in most
cases due to an isel deficiency already noted in
lib/Target/X86/README.txt, but they can be matched in this fold-call.ll
testcase, for example.

This is interesting mainly because it exposes a tricky tblgen bug;
tblgen was incorrectly computing the starting index for variable_ops
in the case of a complex pattern.

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

16 years agoRemove more iostream header includes. Needed to implement a "FlushStream"
Bill Wendling [Thu, 29 May 2008 21:46:33 +0000 (21:46 +0000)]
Remove more iostream header includes. Needed to implement a "FlushStream"
function to flush a specified std::ostream.

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

16 years agoRemove <iostream>.
Bill Wendling [Thu, 29 May 2008 21:29:39 +0000 (21:29 +0000)]
Remove <iostream>.

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

16 years agoAdd newline at end of file.
Owen Anderson [Thu, 29 May 2008 21:05:16 +0000 (21:05 +0000)]
Add newline at end of file.

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

16 years agoFix a tblgen problem handling variable_ops in tblgen instruction
Dan Gohman [Thu, 29 May 2008 19:57:41 +0000 (19:57 +0000)]
Fix a tblgen problem handling variable_ops in tblgen instruction
definitions. This adds a new construct, "discard", for indicating
that a named node in the input matching pattern is to be discarded,
instead of corresponding to a node in the output pattern. This
allows tblgen to know where the arguments for the varaible_ops are
supposed to begin.

This fixes "rdar://5791600", whatever that is ;-).

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

16 years agoconst-ify getOpcode.
Dan Gohman [Thu, 29 May 2008 19:53:46 +0000 (19:53 +0000)]
const-ify getOpcode.

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

16 years agoPrune and tidy #includes.
Dan Gohman [Thu, 29 May 2008 19:52:31 +0000 (19:52 +0000)]
Prune and tidy #includes.

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

16 years agoExpand small memmovs using inline code. Set the X86 threshold for expanding
Dan Gohman [Thu, 29 May 2008 19:42:22 +0000 (19:42 +0000)]
Expand small memmovs using inline code. Set the X86 threshold for expanding
memmove to a more plausible value, now that it's actually being used.

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

16 years agoFor PR1338: Rename test dirs
Anton Korobeynikov [Thu, 29 May 2008 19:17:15 +0000 (19:17 +0000)]
For PR1338: Rename test dirs

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

16 years agoRevert part of my last patch that I didn't intend to commit yet.
Owen Anderson [Thu, 29 May 2008 18:35:21 +0000 (18:35 +0000)]
Revert part of my last patch that I didn't intend to commit yet.

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

16 years agoAdd file with warning for backward comptibility. Should be removed after 2.4
Anton Korobeynikov [Thu, 29 May 2008 18:18:15 +0000 (18:18 +0000)]
Add file with warning for backward comptibility. Should be removed after 2.4

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

16 years agoUpdate guards
Anton Korobeynikov [Thu, 29 May 2008 18:17:53 +0000 (18:17 +0000)]
Update guards

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

16 years agoRenumbering needs to account for instruction slot offsets when performing lookups...
Owen Anderson [Thu, 29 May 2008 18:15:49 +0000 (18:15 +0000)]
Renumbering needs to account for instruction slot offsets when performing lookups in the index maps.

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

16 years agoRegenerate
Anton Korobeynikov [Thu, 29 May 2008 17:41:34 +0000 (17:41 +0000)]
Regenerate

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

16 years agoFor PR1338: rename include/llvm/ADT/ilist and friends to end with ".h"
Anton Korobeynikov [Thu, 29 May 2008 17:41:17 +0000 (17:41 +0000)]
For PR1338: rename include/llvm/ADT/ilist and friends to end with ".h"

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

16 years agoForce postdom to be linked into opt and bugpoint, even though it is no longer used...
Owen Anderson [Thu, 29 May 2008 17:00:13 +0000 (17:00 +0000)]
Force postdom to be linked into opt and bugpoint, even though it is no longer used by any passes.

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

16 years agoMove these tests into the proper directory.
Owen Anderson [Thu, 29 May 2008 16:30:29 +0000 (16:30 +0000)]
Move these tests into the proper directory.

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

16 years agoAdd a newline at the end of this file.
Duncan Sands [Thu, 29 May 2008 14:38:23 +0000 (14:38 +0000)]
Add a newline at the end of this file.

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

16 years agoRe-enable the newly simplified ADCE. This fixes a regression on
Owen Anderson [Thu, 29 May 2008 08:48:21 +0000 (08:48 +0000)]
Re-enable the newly simplified ADCE.  This fixes a regression on
Dhrystone introduced by its removal.

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

16 years agoReplace the old ADCE implementation with a new one that more simply solves
Owen Anderson [Thu, 29 May 2008 08:45:13 +0000 (08:45 +0000)]
Replace the old ADCE implementation with a new one that more simply solves
the one case that ADCE catches that normal DCE doesn't: non-induction variable
loop computations.

This implementation handles this problem without using postdominators.

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

16 years agoImplement vector shift up / down and insert zero with ps{rl}lq / ps{rl}ldq.
Evan Cheng [Thu, 29 May 2008 08:22:04 +0000 (08:22 +0000)]
Implement vector shift up / down and insert zero with ps{rl}lq / ps{rl}ldq.

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

16 years agoRemove debugging code.
Owen Anderson [Thu, 29 May 2008 08:15:48 +0000 (08:15 +0000)]
Remove debugging code.

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

16 years agoAdd nounwind.
Evan Cheng [Thu, 29 May 2008 07:09:24 +0000 (07:09 +0000)]
Add nounwind.

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

16 years agoXOR?RI instructions aren't as cheap as moves.
Bill Wendling [Thu, 29 May 2008 03:46:36 +0000 (03:46 +0000)]
XOR?RI instructions aren't as cheap as moves.

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

16 years agoconvert more operand loops to iterator formulation
Gabor Greif [Thu, 29 May 2008 01:59:18 +0000 (01:59 +0000)]
convert more operand loops to iterator formulation

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

16 years agoImplement "AsCheapAsAMove" for some obviously cheap instructions: xor and the
Bill Wendling [Thu, 29 May 2008 01:02:09 +0000 (01:02 +0000)]
Implement "AsCheapAsAMove" for some obviously cheap instructions: xor and the
like.

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

16 years agoconvert another operand loop to iterator formulation
Gabor Greif [Thu, 29 May 2008 00:51:08 +0000 (00:51 +0000)]
convert another operand loop to iterator formulation

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

16 years agoAdd a flag to indicate that an instruction is as cheap (or cheaper) than a move
Bill Wendling [Wed, 28 May 2008 22:54:52 +0000 (22:54 +0000)]
Add a flag to indicate that an instruction is as cheap (or cheaper) than a move
instruction to execute. This can be used for transformations (like two-address
conversion) to remat an instruction instead of generating a "move"
instruction. The idea is to decrease the live ranges and register pressure and
all that jazz.

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

16 years agoCheck the "isSafeToMove" predicate, which has a series of tests to make sure
Bill Wendling [Wed, 28 May 2008 22:52:47 +0000 (22:52 +0000)]
Check the "isSafeToMove" predicate, which has a series of tests to make sure
that it's safe to remat an instruction.

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

16 years agoRemap VNInfo data as well when doing renumbering.
Owen Anderson [Wed, 28 May 2008 22:40:08 +0000 (22:40 +0000)]
Remap VNInfo data as well when doing renumbering.

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

16 years agoFactor the numbering computation into a separate method, and add the slightest attemp...
Owen Anderson [Wed, 28 May 2008 20:54:50 +0000 (20:54 +0000)]
Factor the numbering computation into a separate method, and add the slightest attempt at some renumbering logic, which is currently unused.

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

16 years agoFix PR2289: vr defined by multiple implicit_def as result of coalescing.
Evan Cheng [Wed, 28 May 2008 17:40:10 +0000 (17:40 +0000)]
Fix PR2289: vr defined by multiple implicit_def as result of coalescing.

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

16 years agoTeach local register allocator to deal with landing pad MBB's.
Evan Cheng [Wed, 28 May 2008 17:22:32 +0000 (17:22 +0000)]
Teach local register allocator to deal with landing pad MBB's.

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

16 years agoUpdate some comments noticed in a recent checkin
Nate Begeman [Wed, 28 May 2008 16:31:36 +0000 (16:31 +0000)]
Update some comments noticed in a recent checkin

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

16 years agoUpdate text to point people at the right version of the tutorial for
Chris Lattner [Wed, 28 May 2008 06:16:08 +0000 (06:16 +0000)]
Update text to point people at the right version of the tutorial for
their release.

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

16 years agoImplement PR2370: memmove(x,x,size) -> noop.
Chris Lattner [Wed, 28 May 2008 05:30:41 +0000 (05:30 +0000)]
Implement PR2370: memmove(x,x,size) -> noop.

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

16 years agoAdd chain inputs for loads.
Chris Lattner [Wed, 28 May 2008 04:25:57 +0000 (04:25 +0000)]
Add chain inputs for loads.

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

16 years agoFix CodeGen/Generic/2005-10-21-longlonggtu.ll on ia64.
Chris Lattner [Wed, 28 May 2008 04:14:30 +0000 (04:14 +0000)]
Fix CodeGen/Generic/2005-10-21-longlonggtu.ll on ia64.

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

16 years agoloads should get chains. THis helps but does not solve CodeGen/Generic/2003-05-27...
Chris Lattner [Wed, 28 May 2008 04:06:52 +0000 (04:06 +0000)]
loads should get chains.  THis helps but does not solve CodeGen/Generic/2003-05-27-phifcmpd.ll
on ia64.

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

16 years agoFix 2006-04-28-Sign-extend-bool.ll for ia64.
Chris Lattner [Wed, 28 May 2008 04:00:06 +0000 (04:00 +0000)]
Fix 2006-04-28-Sign-extend-bool.ll  for ia64.

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

16 years agoreindent.
Chris Lattner [Wed, 28 May 2008 03:59:32 +0000 (03:59 +0000)]
reindent.

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

16 years agoFix the encoding for two more "rm" instructions that were using MRMSrcReg.
Dan Gohman [Wed, 28 May 2008 01:50:19 +0000 (01:50 +0000)]
Fix the encoding for two more "rm" instructions that were using MRMSrcReg.

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

16 years agoFixed X86 encoding error CVTPS2PD and CVTPD2PS when the source operand
Mon P Wang [Wed, 28 May 2008 00:42:27 +0000 (00:42 +0000)]
Fixed X86 encoding error CVTPS2PD and CVTPD2PS when the source operand
is a memory location

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

16 years agoDon't attempt to create VZEXT_LOAD out of an extload. This an issue where the
Nate Begeman [Wed, 28 May 2008 00:24:25 +0000 (00:24 +0000)]
Don't attempt to create VZEXT_LOAD out of an extload.  This an issue where the
code generator would do something like this:

f64 = load f32 <anyext>, f32mem
v2f64 = insertelt undef, %0, 0
v2f64 = insertelt %1, 0.0, 1

into

v2f64 = vzext_load f32mem

which on x86 is movsd, when you really wanted a cvtss2sd/movsd pair.

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

16 years agouse space insted of tabs
Nick Kledzik [Wed, 28 May 2008 00:06:14 +0000 (00:06 +0000)]
use space insted of tabs

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

16 years agofix infinite recursion if a global's initializer references the global
Nick Kledzik [Tue, 27 May 2008 22:07:08 +0000 (22:07 +0000)]
fix infinite recursion if a global's initializer references the global

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

16 years agoMake Use::init() private, it breaks invariants, clients should assign or use set().
Gabor Greif [Tue, 27 May 2008 21:29:38 +0000 (21:29 +0000)]
Make Use::init() private, it breaks invariants, clients should assign or use set().

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

16 years agoUse Function::getEntryBlock instead of Function::begin, for clarity.
Dan Gohman [Tue, 27 May 2008 20:55:29 +0000 (20:55 +0000)]
Use Function::getEntryBlock instead of Function::begin, for clarity.

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

16 years agoPrint debug output when any edge becomes executable, including
Dan Gohman [Tue, 27 May 2008 20:47:30 +0000 (20:47 +0000)]
Print debug output when any edge becomes executable, including
the first visited edge.

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

16 years agoAdd instcombine after global optimizations.
Devang Patel [Tue, 27 May 2008 20:42:44 +0000 (20:42 +0000)]
Add instcombine after global optimizations.

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

16 years agoFix a word-o and add an explicit keyword.
Dan Gohman [Tue, 27 May 2008 20:41:18 +0000 (20:41 +0000)]
Fix a word-o and add an explicit keyword.

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

16 years agoIncorporated feedback: Check that the implicitly defined operands aren't used
Bill Wendling [Tue, 27 May 2008 20:40:52 +0000 (20:40 +0000)]
Incorporated feedback: Check that the implicitly defined operands aren't used
before deleting the instruction.

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