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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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