Nick Lewycky [Sat, 31 May 2008 17:10:28 +0000 (17:10 +0000)]
Adding i1 is always Xor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51816
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Sat, 31 May 2008 13:43:21 +0000 (13:43 +0000)]
Callback was not executed on OS X when it was a function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51814
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 31 May 2008 09:23:55 +0000 (09:23 +0000)]
Fix the CBE's handling of instructions whose result is an i1. Previously,
we did not truncate the value down to i1 with (x&1). This caused a problem
when the computation of x was nontrivial, for example, "add i1 1, 1" would
return 2 instead of 0.
This makes the testcase compile into:
...
llvm_cbe_t = (((llvm_cbe_r == 0u) + (llvm_cbe_r == 0u))&1);
llvm_cbe_u = (((unsigned int )(bool )llvm_cbe_t));
...
instead of:
...
llvm_cbe_t = ((llvm_cbe_r == 0u) + (llvm_cbe_r == 0u));
llvm_cbe_u = (((unsigned int )(bool )llvm_cbe_t));
...
This fixes a miscompilation of mediabench/adpcm/rawdaudio/rawdaudio and
403.gcc with the CBE, regressions from LLVM 2.2. Tanya, please pull
this into the release branch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51813
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 31 May 2008 02:47:54 +0000 (02:47 +0000)]
Factor several methods, including getInversePredicate and
getSwappedPredicate, from ICmpInst and FCmpInst into common
methods in CmpInst. This allows CmpInsts to be manipulated
generically.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51810
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 31 May 2008 02:11:25 +0000 (02:11 +0000)]
Teach the DAGISelEmitter to not compute the variable_ops operand
index for the input pattern in terms of the output pattern. Instead
keep track of how many fixed operands the input pattern actually
has, and have the input matching code pass the output-emitting
function that index value. This simplifies the code, disentangles
variables_ops from the support for predication operations, and
makes variable_ops more robust.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51808
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 31 May 2008 01:44:25 +0000 (01:44 +0000)]
Remove an unused variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51807
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 31 May 2008 00:58:22 +0000 (00:58 +0000)]
IR, bitcode reader, bitcode writer, and asmparser changes to
insertvalue and extractvalue to use constant indices instead of
Value* indices. And begin updating LangRef.html.
There's definately more to come here, but I'm checking this
basic support in now to make it available to people who are
interested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51806
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 30 May 2008 22:47:19 +0000 (22:47 +0000)]
Revert 51775.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51795
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 30 May 2008 22:40:06 +0000 (22:40 +0000)]
Add an isAggregateType predicate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51794
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 30 May 2008 22:39:32 +0000 (22:39 +0000)]
Fix indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51793
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 30 May 2008 22:39:18 +0000 (22:39 +0000)]
Fix indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51792
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 30 May 2008 22:37:47 +0000 (22:37 +0000)]
Add an operator< for SmallVector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51791
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 30 May 2008 22:37:27 +0000 (22:37 +0000)]
The coalescer doesn't need LiveVariables now that we have register use iterators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51790
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Fri, 30 May 2008 21:24:22 +0000 (21:24 +0000)]
rewrite operand loops to use iterators
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51789
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Fri, 30 May 2008 21:14:10 +0000 (21:14 +0000)]
Make all help strings start in upper case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51788
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 30 May 2008 20:14:04 +0000 (20:14 +0000)]
Forgot to commit this file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51786
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Fri, 30 May 2008 19:56:27 +0000 (19:56 +0000)]
Fix the -opt switch and add a test case for it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51784
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Fri, 30 May 2008 18:53:09 +0000 (18:53 +0000)]
Fix indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51782
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Fri, 30 May 2008 18:48:52 +0000 (18:48 +0000)]
Add a --dry-run option to llvmc2. Patch by Holger Schurig.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51781
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 30 May 2008 18:38:26 +0000 (18:38 +0000)]
Preserve the register coallescer, and update live intervals more correctly by triggering a renumbering after phi elimination.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51780
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 30 May 2008 17:31:01 +0000 (17:31 +0000)]
Since LCSSA switched over to DenseMap, we have to be more careful to avoid iterator invalidation. Fixes PR2385.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51777
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 30 May 2008 17:16:20 +0000 (17:16 +0000)]
Patches for building llvm on Solaris x86. Contributed by Nathan Keynes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51775
91177308-0d34-0410-b5e6-
96231b3b80d8
Matthijs Kooijman [Fri, 30 May 2008 13:26:11 +0000 (13:26 +0000)]
Give a proper error message when a command line option is defined more than
once (ie, at two different places in the source, not two times on the
commandline).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51771
91177308-0d34-0410-b5e6-
96231b3b80d8
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