Commit Graph

31814 Commits

Author SHA1 Message Date
Anton Korobeynikov 325d93dde4 Heal this test
llvm-svn: 36161
2007-04-16 21:07:00 +00:00
Chris Lattner 320ce04cb2 fix this test
llvm-svn: 36160
2007-04-16 21:05:37 +00:00
Devang Patel 9294281ac1 Proivde getAnalysis<FPAnalysis>(Func) support.
llvm-svn: 36159
2007-04-16 20:56:24 +00:00
Devang Patel 56a5c620fe Do not assert during analysis implementation initialization.
llvm-svn: 36158
2007-04-16 20:44:16 +00:00
Devang Patel 2ff4492a2c Print and delete on the fly pass managers.
llvm-svn: 36157
2007-04-16 20:39:59 +00:00
Reid Spencer 660fa7b6b7 Regenerate.
llvm-svn: 36156
2007-04-16 20:35:38 +00:00
Reid Spencer 4339f7d78f Check length of string before we walk off the end of it.
Thanks, Chris.

llvm-svn: 36155
2007-04-16 20:31:06 +00:00
Devang Patel 69e9f6d7c4 Update module pass manager to support module passes that require
function passes.

llvm-svn: 36154
2007-04-16 20:27:05 +00:00
Devang Patel e64d30573f Give each pass manager chance to manage lower level analysis pass, which is
pass required by one of pass managed by the manager.

llvm-svn: 36153
2007-04-16 20:12:57 +00:00
Evan Cheng a17265bfbd Fixes tests and remove xfail.
llvm-svn: 36152
2007-04-16 20:04:11 +00:00
Evan Cheng 6ccf9a8362 One more callee-saved register used.
llvm-svn: 36151
2007-04-16 18:59:25 +00:00
Evan Cheng 0c8add06f1 Fix test.
llvm-svn: 36150
2007-04-16 18:55:46 +00:00
Devang Patel 254c9eb7c8 Add getPotentialPassManagerType(). No functionality change, yet.
llvm-svn: 36149
2007-04-16 18:51:25 +00:00
Duncan Sands 475eb0f4ed Testcase for C front-end crash.
llvm-svn: 36148
2007-04-16 18:51:13 +00:00
Duncan Sands d16d149262 Testcase for debug info emission for structure fields at variable offsets.
llvm-svn: 36147
2007-04-16 18:49:21 +00:00
Anton Korobeynikov fb80151c42 Removed tabs everywhere except autogenerated & external files. Add make
target for tabs checking.

llvm-svn: 36146
2007-04-16 18:10:23 +00:00
Reid Spencer edce114669 For PR1336:
Un-XFAIL because this passes now.

llvm-svn: 36145
2007-04-16 17:51:25 +00:00
Reid Spencer f8a586d22a Regenerate.
llvm-svn: 36144
2007-04-16 17:47:06 +00:00
Reid Spencer 0fc73b6aee Use a more optimal way to get the name of a function. Thanks, Chris.
llvm-svn: 36143
2007-04-16 17:45:50 +00:00
Reid Spencer 6e87ec4351 For PR1319:
Remove && from the end of the lines to prevent tests from throwing run
lines into the background. Also, clean up places where the same command
is run multiple times by using a temporary file.

llvm-svn: 36142
2007-04-16 17:36:08 +00:00
Lauro Ramos Venancio 675732ad38 Fix hello.ll test.
llvm-svn: 36141
2007-04-16 17:08:00 +00:00
Lauro Ramos Venancio b1d58a5281 Fix align test.
llvm-svn: 36140
2007-04-16 16:57:47 +00:00
Reid Spencer 78d71f168c Don't return 0 if the len == 5, let the assert handle that case.
Thanks, Chris.

llvm-svn: 36139
2007-04-16 16:56:54 +00:00
Duncan Sands 17a2ef6803 Look for site.exp in the build directory, not the source directory.
llvm-svn: 36138
2007-04-16 16:45:12 +00:00
Duncan Sands c68668f27c Use %s, not explicit name.
llvm-svn: 36136
2007-04-16 16:06:17 +00:00
Duncan Sands 389439c7c5 Change ne into !=.
llvm-svn: 36135
2007-04-16 15:37:00 +00:00
Reid Spencer 4dcf8bff4b For PR1319:
Fix syntax of tests to ensure grep pattern is properly quoted.

llvm-svn: 36134
2007-04-16 15:31:49 +00:00
Reid Spencer 86f337eeda For PR1319:
Fix test syntax per new rules.

llvm-svn: 36133
2007-04-16 15:15:52 +00:00
Reid Spencer e7df634b3d Fix the syntax for these tests. Noticed by Duncan Sands.
llvm-svn: 36132
2007-04-16 15:00:39 +00:00
Reid Spencer c6ee811cc2 Syntax upgrade and fix for PR1336.
llvm-svn: 36131
2007-04-16 14:46:17 +00:00
Reid Spencer 15326fa114 For PR1336:
Rename test functions to not conflict with an instruction mnemonic.

llvm-svn: 36130
2007-04-16 14:23:07 +00:00
Reid Spencer b100325547 For PR1336:
Ignore case for instruction mnemonic comparison.

llvm-svn: 36129
2007-04-16 14:20:28 +00:00
Reid Spencer 5203d296c6 Wrap long line.
llvm-svn: 36128
2007-04-16 14:17:04 +00:00
Reid Spencer 0c1a31c92f For PR1336:
Ignore case for register name compare.

llvm-svn: 36127
2007-04-16 14:14:31 +00:00
Reid Spencer fb458caf44 For PR1336:
Un-XFAIL as Alpha feature now specified in lower case.

llvm-svn: 36126
2007-04-16 14:07:53 +00:00
Reid Spencer 19c0217d99 For PR1336:
Subtarget option names must be given in lower case in order to be
recognized. Fixes test/CodeGen/Alpha/ctlz.ll

llvm-svn: 36125
2007-04-16 14:06:19 +00:00
Duncan Sands 085b45e1f1 Fix typos.
llvm-svn: 36124
2007-04-16 13:02:27 +00:00
Reid Spencer c5f397a26f Fix test/CodeGen/Generic/vector-constantexpr.ll
llvm-svn: 36123
2007-04-16 07:08:44 +00:00
Reid Spencer e6a50a1e27 Regenerate.
llvm-svn: 36122
2007-04-16 06:56:07 +00:00
Reid Spencer 94bae69764 For PR1328:
Use the new parameter on Function::getIntrinsicID to identify cases where
a function is being called with an "llvm." name but it isn't actually an
intrinsic. In such cases generate an error.

llvm-svn: 36121
2007-04-16 06:55:42 +00:00
Reid Spencer 9c2eec377e For PR1328:
Don't assert everytime an intrinsic name isn't recognized. Instead, make
the assert optional when callin getIntrinsicID(). This allows the assembler
to handle invalid intrinsic names gracefully.

llvm-svn: 36120
2007-04-16 06:54:34 +00:00
Reid Spencer f400745e7f Test case for PR1328.
llvm-svn: 36119
2007-04-16 06:52:21 +00:00
Chris Lattner 79d25c3440 make this test more portable.
llvm-svn: 36118
2007-04-16 06:14:28 +00:00
Chris Lattner ae2d5291b5 fix incorrectly upgraded test
llvm-svn: 36117
2007-04-16 06:10:47 +00:00
Chris Lattner aacfb36bd5 remove a bogus test
llvm-svn: 36116
2007-04-16 06:06:42 +00:00
Chris Lattner 5df90f03b9 update test
llvm-svn: 36115
2007-04-16 06:04:03 +00:00
Chris Lattner b21b885cdf fix incorrectly upgraded test, add PR#
llvm-svn: 36114
2007-04-16 05:58:47 +00:00
Reid Spencer 00d0023fb4 This needs to stay in the old bytecode format.
llvm-svn: 36113
2007-04-16 03:35:24 +00:00
Reid Spencer a136852ade This tests aren't particularly interesting. They are redundant with the
extract_* tests. They are also perniciously difficult to maintain because
they depend on the bytecode format.

llvm-svn: 36112
2007-04-16 03:34:01 +00:00
Reid Spencer cfe9ad10d1 Update for 2.0 bytecode format.
llvm-svn: 36111
2007-04-16 03:28:07 +00:00
Reid Spencer 1db9157b4e Fix an intrinsic name.
llvm-svn: 36110
2007-04-16 03:20:22 +00:00
Reid Spencer c7c991f4f8 For PR1336:
Rename the intrinsic so this can be upgraded properly. It still fails with
an llc warning

llvm-svn: 36109
2007-04-16 03:18:25 +00:00
Reid Spencer 4b4055a1ab For PR1336:
Upgrade the intrinsic to its new form.

llvm-svn: 36108
2007-04-16 03:10:56 +00:00
Reid Spencer c940d0761c For PR1336:
Un-XFAIL this test now that llvm-ugprade knows how to create functions with
empty names.

llvm-svn: 36107
2007-04-16 03:06:39 +00:00
Reid Spencer 52e4e91284 Regenerate.
llvm-svn: 36106
2007-04-16 03:05:01 +00:00
Reid Spencer 78dffdc5d1 For PR1336:
Functions without names deserve to be created too. This fixes:
test/CodeGen/Generic/vector-constantexpr.ll

llvm-svn: 36105
2007-04-16 03:04:13 +00:00
Reid Spencer caaf8a1597 For PR1336:
Un-XFAIL this since it now passes with fix to llvm-upgrade.

llvm-svn: 36104
2007-04-16 02:57:47 +00:00
Reid Spencer 3da4004c34 For PR1336:
When upgrading global vars, look for conflicts with functions as well. This
fixes test/Transforms/GlobalDCE/2002-08-17-FunctionDGE.ll

llvm-svn: 36103
2007-04-16 02:56:33 +00:00
Reid Spencer a3cfb8a683 Revert last patch. It was already fixed.
llvm-svn: 36102
2007-04-16 02:24:41 +00:00
Reid Spencer 2875d2eadc For PR1336:
Correct this test case. It was passing a uint where a ubyte was expected.

llvm-svn: 36101
2007-04-16 02:09:24 +00:00
Reid Spencer f0cb944fd3 For PR1336:
Un-XFAIL this now that its working.

llvm-svn: 36100
2007-04-16 01:49:16 +00:00
Reid Spencer 8be22e4e04 For PR1336:
Fix a div-by-zero bug noticed by APInt. This fixes:
test/Transforms/IndVarsSimplify/exit_value_tests.llx

llvm-svn: 36099
2007-04-16 01:48:37 +00:00
Reid Spencer 59d3ca99b6 For PR1336:
This test was failing because of signlessness and a difference in the
way the AsmWriter prints arguments.

llvm-svn: 36098
2007-04-16 01:31:11 +00:00
Reid Spencer e3dbe62579 For PR1336:
De-XFAIL tests now passing.

llvm-svn: 36097
2007-04-16 00:41:11 +00:00
Reid Spencer 4f7e511a8e Regenerate.
llvm-svn: 36096
2007-04-16 00:40:57 +00:00
Reid Spencer 19a0ff01f9 For PR1336:
Rewrite the upgrade of GEP indices to be a little less obtuse. This fixes
test/Assembler/2002-08-19-BytecodeReader.llx
test/Assembler/2003-08-21-ConstantExprCast-Fold.llx
test/Assembler/2004-01-11-getelementptrfolding.llx

llvm-svn: 36095
2007-04-16 00:39:39 +00:00
Owen Anderson f064c92298 Tabs -> Spaces
llvm-svn: 36094
2007-04-15 23:14:18 +00:00
Reid Spencer 6584cf60f2 For PR1336:
XFAIL tests covered by the PR. These will be un-XFAILed as they are fixed.

llvm-svn: 36093
2007-04-15 23:00:46 +00:00
Reid Spencer b964f00d6a For PR1319: Upgrade to new test harness.
llvm-svn: 36092
2007-04-15 22:37:04 +00:00
Reid Spencer 1c75ef2ce2 For PR1319: Upgrade to new test harness.
llvm-svn: 36091
2007-04-15 22:20:47 +00:00
Chris Lattner 343c88cdb9 Fix PR1335 and Transforms/Inline/2007-04-15-InlineEH.ll
llvm-svn: 36090
2007-04-15 21:38:06 +00:00
Chris Lattner d3fd9ecb2d testcase for PR1335
llvm-svn: 36089
2007-04-15 21:37:53 +00:00
Chris Lattner a9ce1c0130 this test isn't testing what it thought it was
llvm-svn: 36088
2007-04-15 21:33:36 +00:00
Reid Spencer 297657d6e6 For PR1319: Upgrade to new test harness.
llvm-svn: 36087
2007-04-15 21:17:45 +00:00
Reid Spencer ff8169f5cb For PR1319: Upgrade to new test harness.
llvm-svn: 36086
2007-04-15 20:48:50 +00:00
Reid Spencer 25cdea0579 Two changes:
1. Don't bother truncating reading of the file. It doesn't save that much
   time and we should support putting RUN lines anywhere in the file. For
   example, someone might want to put the grep match before each function
   in the test file which would sprinkle the RUN: lines throughout the file.
2. Fix a bug with llvmgcc version match .. global var wasn't declared as such

llvm-svn: 36085
2007-04-15 20:43:36 +00:00
Reid Spencer cf94fb9d7b For PR1319: Upgrade to new test harness.
llvm-svn: 36084
2007-04-15 20:41:31 +00:00
Reid Spencer d033c77ea3 Some tests have really long RUN line sets. Read the first 4096 bytes instead
of 1024.

llvm-svn: 36083
2007-04-15 20:31:42 +00:00
Reid Spencer 2baeaae8f4 For PR1319: Upgrade to new test harness.
llvm-svn: 36082
2007-04-15 20:08:37 +00:00
Chris Lattner cad61e81c1 Fix a nasty bug introduced when apint'ified. This fixes
Transforms/IndVarsSimplify/exit_value_tests.llx

llvm-svn: 36081
2007-04-15 19:52:49 +00:00
Reid Spencer 0318670cf3 For PR1319: Upgrade to new test harness.
llvm-svn: 36080
2007-04-15 19:35:51 +00:00
Reid Spencer a5626e787f Make this test work.
llvm-svn: 36079
2007-04-15 19:28:23 +00:00
Reid Spencer 8f4cf19075 We don't need the path to be set for llvmgcc/llvmgxx any more.
llvm-svn: 36078
2007-04-15 19:27:27 +00:00
Reid Spencer 41dc9beb80 For PR1319: Upgrade to use new test harness
llvm-svn: 36077
2007-04-15 19:21:54 +00:00
Reid Spencer b5dc70c270 For PR1319: Upgrade to use new test harness
llvm-svn: 36076
2007-04-15 19:11:47 +00:00
Reid Spencer d1f8369090 For PR1319: Upgrade to use new test harness
llvm-svn: 36075
2007-04-15 18:40:57 +00:00
Reid Spencer 3d18d852d2 Allow lines that have \ and end in \ to be recognized as ending in \
llvm-svn: 36074
2007-04-15 18:38:42 +00:00
Reid Spencer 6c38d94201 For PR1319: Upgrade to new test harness
llvm-svn: 36073
2007-04-15 18:11:57 +00:00
Nick Lewycky 5dff5ed7f7 Fix this test to test what it was intended to test.
llvm-svn: 36072
2007-04-15 13:14:33 +00:00
Reid Spencer 4faa954403 Two improvements:
1. Only read the first 1024 bytes of the file. The RUN: lines should all be
   within that amount of space.  This keeps I/O costs down when reading
   very large files.
2. Print PR numbers with a PR prefix so it is clear what they are.

llvm-svn: 36071
2007-04-15 10:27:54 +00:00
Reid Spencer c943f8ff34 For PR1319: Upgrade to new test harness
llvm-svn: 36070
2007-04-15 10:26:05 +00:00
Reid Spencer 892c86fbad For PR1319: Upgrade to new test harness
llvm-svn: 36069
2007-04-15 10:11:13 +00:00
Reid Spencer 7f346b4362 For PR1319:
Update to new Tcl exec based test harness.

llvm-svn: 36068
2007-04-15 10:09:30 +00:00
Reid Spencer c6b30b107b For PR1319:
Upgrade to new Tcl exec based test framework. This exposes three regressions
in llvm-upgrade:
test/Assembler/2002-08-19-BytecodeReader.llx
test/Assembler/2003-08-21-ConstantExprCast-Fold.llx
test/Assembler/2004-01-11-getelementptrfolding.llx

llvm-svn: 36067
2007-04-15 10:07:55 +00:00
Reid Spencer 5a77babd81 For PR1319:
Upgrade to use new Tcl exec based test harness.

llvm-svn: 36066
2007-04-15 09:31:07 +00:00
Reid Spencer a551c041f9 For PR1319:
Upgrade to use new Tcl exec based test harness. This exposes 3 bugs that
were previously not being reported:
test/Transforms/GlobalDCE/2002-08-17-FunctionDGE.ll
test/Transforms/GlobalOpt/memset.ll
test/Transforms/IndVarsSimplify/exit_value_tests.llx

llvm-svn: 36065
2007-04-15 09:21:47 +00:00
Owen Anderson 5a576160bc Update tests for the disappearance of -idom.
llvm-svn: 36064
2007-04-15 08:54:57 +00:00
Owen Anderson f35a1dbc7a Remove ImmediateDominator analysis. The same information can be obtained from DomTree. A lot of code for
constructing ImmediateDominator is now folded into DomTree construction.

This is part of the ongoing work for PR217.

llvm-svn: 36063
2007-04-15 08:47:27 +00:00
Reid Spencer 951d8dc29f For PR1319:
Upgrade to use new Tcl exec based test harness.

llvm-svn: 36062
2007-04-15 08:30:33 +00:00
Reid Spencer 8eba4c3d12 For PR1319:
Convert to use the new Tcl expr based test harness.

llvm-svn: 36061
2007-04-15 08:01:33 +00:00
Reid Spencer e296548ba6 Describe quoting rules.
llvm-svn: 36060
2007-04-15 08:01:04 +00:00
Reid Spencer ede8c3b92c For PR1319:
Make use of the END. facility on all files > 1K so that we aren't wasting CPU
cycles searching for RUN: lines that we'll never find.

llvm-svn: 36059
2007-04-15 07:38:21 +00:00
Reid Spencer 1114b48736 Fix this test in a slightly more obvious way.
llvm-svn: 36058
2007-04-15 07:37:04 +00:00
Reid Spencer 72d6b398e7 No, don't cancel all remaining tests, just the one that failed!
llvm-svn: 36057
2007-04-15 07:34:58 +00:00
Reid Spencer 9de817a471 Abandone the entire test case on the first error.
llvm-svn: 36056
2007-04-15 07:21:26 +00:00
Reid Spencer 8d9056c56c For PR1319:
Upgrade to use new Tcl exec based test harness

llvm-svn: 36055
2007-04-15 06:53:51 +00:00
Reid Spencer 7b78d371a6 Use %prcontext, $prcontext is not resolving for some reason.
llvm-svn: 36054
2007-04-15 06:52:45 +00:00
Reid Spencer 63fc5df7ba PR1319:
Upgrade tests to new Tcl exec based test harness requirements.

llvm-svn: 36053
2007-04-15 06:51:14 +00:00
Reid Spencer b9dbd5b5b5 Make it possible to run this from within subdirectories of llvm/test
llvm-svn: 36052
2007-04-15 06:47:49 +00:00
Reid Spencer d1d6798ee4 Reimplement in terms of the support for this feature in the makefiles with
the "check-one" target. This was necessitated by the change in the test
harness to fully use Tcl's "exec" function and avoid shell scripts
altogether. Consequently, to be accurate, TestRunner.sh needs to invoke the
same environment as dejagnu would, but for just a single test. That's what
the make target "check-one" does so we just invoke it here.

llvm-svn: 36051
2007-04-15 06:25:12 +00:00
Reid Spencer 6d4a417df9 Echo command lines only if the user wants them.
llvm-svn: 36050
2007-04-15 06:22:48 +00:00
Reid Spencer a9482c8916 Add a new testing target: check-one. It is used like this:
make check-one TESTONE=test/path/to/test.ll

This runs a single check in exactly the same way that dejagnu runs it.

llvm-svn: 36049
2007-04-15 06:18:50 +00:00
Zhou Sheng 8e58ad31ae This test case is incorrect. Remove it.
llvm-svn: 36048
2007-04-15 05:59:49 +00:00
Chris Lattner f8a7bf317e fix SimplifyLibCalls/IsDigit.ll
llvm-svn: 36047
2007-04-15 05:38:40 +00:00
Reid Spencer ae81c8880a For PR1319:
Convert to new test system. This exposes IsDigit.ll as failing.

llvm-svn: 36046
2007-04-15 05:16:38 +00:00
Reid Spencer 5374aeae70 For PR1319:
Conver to new test system.

llvm-svn: 36045
2007-04-15 05:03:58 +00:00
Reid Spencer 9a2319b85e Allow replacement of %% with %
llvm-svn: 36044
2007-04-15 04:57:03 +00:00
Reid Spencer d025c07cce Keep lines a reasonable length.
llvm-svn: 36043
2007-04-15 04:54:53 +00:00
Jeff Cohen 610e1240ed Patch supplied by gabor.
llvm-svn: 36042
2007-04-15 03:09:23 +00:00
Dale Johannesen 23da023a58 adjust per review comments
llvm-svn: 36041
2007-04-15 02:40:12 +00:00
Chris Lattner 4a6e0cbd41 Extend store merging to support the 'if/then' version in addition to if/then/else.
This sinks the two stores in this example into a single store in cond_next.  In this
case, it allows elimination of the load as well:

        store double 0.000000e+00, double* @s.3060
        %tmp3 = fcmp ogt double %tmp1, 5.000000e-01             ; <i1> [#uses=1]
        br i1 %tmp3, label %cond_true, label %cond_next
cond_true:              ; preds = %entry
        store double 1.000000e+00, double* @s.3060
        br label %cond_next
cond_next:              ; preds = %entry, %cond_true
        %tmp6 = load double* @s.3060            ; <double> [#uses=1]

This implements Transforms/InstCombine/store-merge.ll:test2

llvm-svn: 36040
2007-04-15 01:02:18 +00:00
Chris Lattner efcb4f6ed4 new testcase
llvm-svn: 36039
2007-04-15 01:00:37 +00:00
Dale Johannesen 20746d84c2 testcases for -fno-builtin
llvm-svn: 36038
2007-04-15 00:18:31 +00:00
Chris Lattner 14a251b937 refactor some code, no functionality change.
llvm-svn: 36037
2007-04-15 00:07:55 +00:00
Owen Anderson 0f6ccef96c XFAIL this for now.
llvm-svn: 36036
2007-04-14 23:57:41 +00:00
Owen Anderson e59b36defa Fix some unsafe code. Also, tabs -> spaces.
llvm-svn: 36035
2007-04-14 23:57:00 +00:00
Owen Anderson 78cecc817f Make ETForest depend on DomTree rather than IDom. This is the first step
in the long process that will be fixing PR 217.

llvm-svn: 36034
2007-04-14 23:49:24 +00:00
Chris Lattner 9f2865ac14 xfail for now
llvm-svn: 36033
2007-04-14 23:40:49 +00:00
Chris Lattner f8adf7af88 add a target to print out 80-column violations.
llvm-svn: 36032
2007-04-14 23:35:45 +00:00
Chris Lattner 28d921d04f fix long lines
llvm-svn: 36031
2007-04-14 23:32:02 +00:00
Reid Spencer 530eef660f Add some info about the pipelines and redirection.
llvm-svn: 36030
2007-04-14 23:27:06 +00:00
Reid Spencer f70b8e5d79 Oops. A little aggressive on the name changes there.
llvm-svn: 36029
2007-04-14 23:17:58 +00:00
Chris Lattner e275463e2f add a note
llvm-svn: 36028
2007-04-14 23:06:09 +00:00
Reid Spencer bc7533c140 For PR1913:
Convert to new test system. This exposes test/Transforms/ConstProp/calls.ll

llvm-svn: 36027
2007-04-14 23:04:54 +00:00
Chris Lattner c8ff09ffaa fix test for linux hosts.
llvm-svn: 36026
2007-04-14 23:04:30 +00:00
Chris Lattner 7bfdd0abe1 Implement Transforms/InstCombine/vec_extract_elt.ll, transforming:
define i32 @test(float %f) {
        %tmp7 = insertelement <4 x float> undef, float %f, i32 0
        %tmp17 = bitcast <4 x float> %tmp7 to <4 x i32>
        %tmp19 = extractelement <4 x i32> %tmp17, i32 0
        ret i32 %tmp19
}

into:

define i32 @test(float %f) {
        %tmp19 = bitcast float %f to i32                ; <i32> [#uses=1]
        ret i32 %tmp19
}

On PPC, this is the difference between:

_test:
        mfspr r2, 256
        oris r3, r2, 8192
        mtspr 256, r3
        stfs f1, -16(r1)
        addi r3, r1, -16
        addi r4, r1, -32
        lvx v2, 0, r3
        stvx v2, 0, r4
        lwz r3, -32(r1)
        mtspr 256, r2
        blr

and:

_test:
        stfs f1, -4(r1)
        nop
        nop
        nop
        lwz r3, -4(r1)
        blr

llvm-svn: 36025
2007-04-14 23:02:14 +00:00
Chris Lattner 45ab14d084 new testcase
llvm-svn: 36024
2007-04-14 23:00:51 +00:00
Reid Spencer cfe6e77e7b For PR1319:
Convert to new test system.

llvm-svn: 36023
2007-04-14 22:54:01 +00:00
Reid Spencer 3fc53d6c53 Changes to fix problems with "make check". Apparently you can redefine
functions and Tcl's just tickled with that. The fix is to give the "new"
test system a different interface function name.

llvm-svn: 36022
2007-04-14 22:51:29 +00:00
Reid Spencer c9e2e13d0a Fix syntax.
llvm-svn: 36021
2007-04-14 22:32:58 +00:00
Chris Lattner b37fb6a0da Implement InstCombine/vec_demanded_elts.ll:test2. This allows us to turn
unsigned test(float f) {
 return _mm_cvtsi128_si32( (__m128i) _mm_set_ss( f*f ));
}

into:

_test:
        movss 4(%esp), %xmm0
        mulss %xmm0, %xmm0
        movd %xmm0, %eax
        ret

instead of:

_test:
        movss 4(%esp), %xmm0
        mulss %xmm0, %xmm0
        xorps %xmm1, %xmm1
        movss %xmm0, %xmm1
        movd %xmm1, %eax
        ret

GCC gets:

_test:
        subl    $28, %esp
        movss   32(%esp), %xmm0
        mulss   %xmm0, %xmm0
        xorps   %xmm1, %xmm1
        movss   %xmm0, %xmm1
        movaps  %xmm1, %xmm0
        movd    %xmm0, 12(%esp)
        movl    12(%esp), %eax
        addl    $28, %esp
        ret

llvm-svn: 36020
2007-04-14 22:29:23 +00:00
Chris Lattner 8a08819105 manually upgrade test. Add a new test2. I have no way to see if this works
because of the tclification.  :(

llvm-svn: 36019
2007-04-14 22:27:33 +00:00
Reid Spencer 71d3ab5e62 Try some alternative syntax.
llvm-svn: 36018
2007-04-14 22:27:05 +00:00
Chris Lattner a6b5660209 avoid copying sets and vectors around.
llvm-svn: 36017
2007-04-14 22:10:17 +00:00
Jeff Cohen e7ce8f23f6 Fix PR1329.
llvm-svn: 36016
2007-04-14 21:50:21 +00:00
Reid Spencer 9dcf4c2337 For PR1319:
Rewrite much of the DejaGnu section to bring it in line with the new
facilities in llvm.exp.

llvm-svn: 36015
2007-04-14 21:46:15 +00:00
Reid Spencer af1a99f3a7 This test should have been updated with llvm 1.7!
llvm-svn: 36014
2007-04-14 20:21:37 +00:00
Reid Spencer 91948d4cad For PR1319:
Upgrade tests to work with new llvm.exp version of llvm_runtest.

llvm-svn: 36013
2007-04-14 20:13:02 +00:00
Reid Spencer be88bc4cb4 This test needs to use egrep.
llvm-svn: 36012
2007-04-14 20:02:51 +00:00
Chris Lattner 6bd7b7b30b disable switch lowering using shift/and. It still breaks ppc bootstrap for
some reason.  :(  Will investigate.

llvm-svn: 36011
2007-04-14 19:39:41 +00:00
Reid Spencer 63338746dd For PR1319:
More improvements:
1. Using ::errorInfo wasn't such a hot idea. Go back to just printing the
   offending line of code and the stderr output. This is sufficient and
   not entangled with Tcl goop.
2. Capture the problem report numbers and report them whether pass or fail.
   This helps quickly get some context when a test fails, if it has an
   associated PR number.

llvm-svn: 36010
2007-04-14 19:37:22 +00:00
Reid Spencer 399026b1a5 Convert test cases to new llvm.exp version of llvm_runtest and fix tests
that it found to be broken.

llvm-svn: 36009
2007-04-14 19:27:03 +00:00
Reid Spencer ef9065c742 For PR1319:
Convert to use new llvm.exp version of llvm_testrun

llvm-svn: 36008
2007-04-14 19:10:21 +00:00
Reid Spencer b7c5957e7c 1. Don't generate redundant copy of stderr
2. Only match \ at the *end* of a line.

llvm-svn: 36007
2007-04-14 18:51:19 +00:00
Reid Spencer 2441c0ae3e Fix a test test llvm.exp found.
llvm-svn: 36006
2007-04-14 18:33:31 +00:00
Reid Spencer 7e4bde71c5 bool -> i1 (found by llvm.exp)
llvm-svn: 36005
2007-04-14 18:30:06 +00:00
Reid Spencer 26f762270f Fix a syntax error that llvm.exp found.
llvm-svn: 36004
2007-04-14 18:28:16 +00:00
Reid Spencer 0c0fe0afa7 Fix an "already-upgraded" test that llvm.exp found.
llvm-svn: 36003
2007-04-14 18:26:02 +00:00
Chris Lattner 6f58839b20 avoid iterator invalidation.
llvm-svn: 36002
2007-04-14 18:06:52 +00:00
Reid Spencer 64f7a5ea86 Simplify this test and correct redirection for Tcl exec.
llvm-svn: 36001
2007-04-14 17:49:06 +00:00
Reid Spencer 5c59cf718d Don't try to interpret a fictitious file.
llvm-svn: 36000
2007-04-14 17:41:12 +00:00
Reid Spencer 6e0ffa8c43 Print full errorInfo when a failure occurs.
llvm-svn: 35999
2007-04-14 17:36:20 +00:00
Jeff Cohen 4bd0fd367a An even better fix.
llvm-svn: 35998
2007-04-14 17:18:29 +00:00
Reid Spencer a9aad5685b No need to quote things, shell isn't interpreting any more.
llvm-svn: 35997
2007-04-14 17:12:21 +00:00
Jeff Cohen 7233aa9369 Fix recent regression that broke several llvm-tests.
llvm-svn: 35996
2007-04-14 16:55:19 +00:00
Reid Spencer c516c723b1 For PR1319:
Changes necessary to run this with the "llvm.exp" version of llvm_runtest.

llvm-svn: 35995
2007-04-14 16:48:55 +00:00
Reid Spencer 89956dc90f Add the line number where the script failed to the error output.
llvm-svn: 35994
2007-04-14 16:41:39 +00:00
Reid Spencer 437520719e For PR1319:
Changes necessary for conversion of this directory to run the tests
under the llvm.exp version of llvm_runtest

llvm-svn: 35993
2007-04-14 16:40:08 +00:00
Reid Spencer d30ad3f9b2 FIx this test, thanks to llvm.exp
llvm-svn: 35992
2007-04-14 16:19:26 +00:00
Reid Spencer e33f02f0bb Add a script to run a command but ignore its return code. This script
always returns 0. This is useful with the llvm.exp based dejagnu testing
when a test wants to check the error output of tool invocation that
returns non-zero. Since every command is checked with llvm.exp, there needs
to be a way to prevent that checking and this script is it.

llvm-svn: 35991
2007-04-14 16:14:08 +00:00
Anton Korobeynikov 8a1a84f96e Fix PR1325: Case range optimization was performed in the case it
shouldn't. Also fix some "latent" bug on 64-bit platforms

llvm-svn: 35990
2007-04-14 13:25:55 +00:00
Duncan Sands b4a7326c20 Correct typo.
llvm-svn: 35989
2007-04-14 12:30:27 +00:00
Reid Spencer e105f3f4c4 Fix a missing -f that the new llvm.exp found.
llvm-svn: 35988
2007-04-14 09:45:16 +00:00
Reid Spencer f7396d1c11 Fix a missing -f caught by the new llvm.exp script.
llvm-svn: 35987
2007-04-14 09:43:30 +00:00
Reid Spencer 155171c566 Initial version of a re-write of llvm-runtest that doesn't write the
tests to a script file but executes each line individually and catches
errors on each line too.

llvm-svn: 35986
2007-04-14 09:39:28 +00:00
Chris Lattner 7196f09edc disable shift/and lowering to work around PR1325 for now.
llvm-svn: 35985
2007-04-14 02:26:56 +00:00
Chris Lattner 49fa8d2bff Implement a few missing xforms: printf("foo\n") -> puts. printf("x") -> putchar
printf("") -> noop.  Still need to do the xforms for fprintf.

This implements Transforms/SimplifyLibCalls/Printf.ll

llvm-svn: 35984
2007-04-14 01:17:48 +00:00
Chris Lattner ebf3cfccdb new testcase
llvm-svn: 35983
2007-04-14 01:17:38 +00:00
Chris Lattner 02137eec8f in addition to merging, constantmerge should also delete trivially dead globals,
in order to clean up after simplifylibcalls.

llvm-svn: 35982
2007-04-14 01:11:54 +00:00
Chris Lattner efb33d28c6 Implement PR1201 and test/Transforms/InstCombine/malloc-free-delete.ll
llvm-svn: 35981
2007-04-14 00:20:02 +00:00
Chris Lattner a930c3d4e4 testcase for PR1201
llvm-svn: 35980
2007-04-14 00:19:36 +00:00
Chris Lattner 164b76565b use an accessor to simplify code.
llvm-svn: 35979
2007-04-14 00:17:39 +00:00
Chris Lattner 45f15572f7 add GetElementPtrInst::hasAllZeroIndices, a long-overdue helper method.
Writing it twice in the same day was too much for me.

llvm-svn: 35978
2007-04-14 00:12:57 +00:00
Reid Spencer 67378b22bb We want the number of bits needed, not the power of 2.
llvm-svn: 35977
2007-04-14 00:00:10 +00:00
Dale Johannesen 036cd14ecb tests for struct/union as input operands to asm.
llvm-svn: 35976
2007-04-13 22:54:11 +00:00
Jeff Cohen b4c610fb89 Silence VC++ warning.
llvm-svn: 35975
2007-04-13 22:52:03 +00:00
Reid Spencer 9f9fe70b11 Add the SCCP regression tests for APInt expressions. These test cases
turned up some regressions that have since been fixed. We don't want to
loose the regression tests.

Test cases by Guoling Han.

llvm-svn: 35974
2007-04-13 22:33:10 +00:00
Chris Lattner d0b3e7b0b4 xfail this for now
llvm-svn: 35973
2007-04-13 22:20:27 +00:00
Chris Lattner efd3051d60 Now that codegen prepare isn't defeating me, I can finally fix what I set
out to do! :)

This fixes a problem where LSR would insert a bunch of code into each MBB
that uses a particular subexpression (e.g. IV+base+C).  The problem is that
this code cannot be CSE'd back together if inserted into different blocks.

This patch changes LSR to attempt to insert a single copy of this code and
share it, allowing codegenprepare to duplicate the code if it can be sunk
into various addressing modes.  On CodeGen/ARM/lsr-code-insertion.ll,
for example, this gives us code like:

        add r8, r0, r5
        str r6, [r8, #+4]
..
        ble LBB1_4      @cond_next
LBB1_3: @cond_true
        str r10, [r8, #+4]
LBB1_4: @cond_next
...
LBB1_5: @cond_true55
        ldr r6, LCPI1_1
        str r6, [r8, #+4]

instead of:

        add r10, r0, r6
        str r8, [r10, #+4]
...
        ble LBB1_4      @cond_next
LBB1_3: @cond_true
        add r8, r0, r6
        str r10, [r8, #+4]
LBB1_4: @cond_next
...
LBB1_5: @cond_true55
        add r8, r0, r6
        ldr r10, LCPI1_1
        str r10, [r8, #+4]

Besides being smaller and more efficient, this makes it immediately
obvious that it is profitable to predicate LBB1_3 now :)

llvm-svn: 35972
2007-04-13 20:42:26 +00:00
Chris Lattner 03bf40e70e new lsr testcase
llvm-svn: 35971
2007-04-13 20:38:14 +00:00
Chris Lattner feee64e997 Completely rewrite addressing-mode related sinking of code. In particular,
this fixes problems where codegenprepare would sink expressions into load/stores
that are not valid, and fixes cases where it would miss important valid ones.

This fixes several serious codesize and perf issues, particularly on targets
with complex addressing modes like arm and x86.  For example, now we compile
CodeGen/X86/isel-sink.ll to:

_test:
        movl 8(%esp), %eax
        movl 4(%esp), %ecx
        cmpl $1233, %eax
        ja LBB1_2       #F
LBB1_1: #T
        movl $4, (%ecx,%eax,4)
        movl $141, %eax
        ret
LBB1_2: #F
        movl (%ecx,%eax,4), %eax
        ret

instead of:

_test:
        movl 8(%esp), %eax
        leal (,%eax,4), %ecx
        addl 4(%esp), %ecx
        cmpl $1233, %eax
        ja LBB1_2       #F
LBB1_1: #T
        movl $4, (%ecx)
        movl $141, %eax
        ret
LBB1_2: #F
        movl (%ecx), %eax
        ret

llvm-svn: 35970
2007-04-13 20:30:56 +00:00
Chris Lattner 26d9e9c452 New testcase
llvm-svn: 35969
2007-04-13 20:28:08 +00:00
Reid Spencer 9329e7b626 Implement a getBitsNeeded method to determine how many bits are needed to
represent a string in binary form by an APInt.

llvm-svn: 35968
2007-04-13 19:19:07 +00:00
Devang Patel 38705d5494 Remove use of SlowOperationInformer.
llvm-svn: 35967
2007-04-13 18:58:18 +00:00
Devang Patel b730fe57bf Undo previous check-in.
llvm-svn: 35966
2007-04-13 18:35:15 +00:00
Devang Patel f929b86140 Hello uses LLVMSupport.a (SlowerOperationInformer)
llvm-svn: 35965
2007-04-13 18:28:23 +00:00
Dan Gohman a789d31517 Rename Value::getValueType to getValueID, to avoid confusion with
other things named getValueType.

llvm-svn: 35964
2007-04-13 18:12:09 +00:00
Anton Korobeynikov e288040abf Fix PR1323 : we haven't updated phi nodes in good manner :)
llvm-svn: 35963
2007-04-13 06:53:51 +00:00
Chris Lattner 502c3f48d9 arm has r+r*s and r+i addr modes, but no r+i+r*s addr modes.
llvm-svn: 35962
2007-04-13 06:50:55 +00:00
Zhou Sheng 01c175ec52 Make the apint construction more effective.
llvm-svn: 35960
2007-04-13 05:57:32 +00:00