Commit Graph

31512 Commits

Author SHA1 Message Date
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
Chris Lattner e71f1447f7 CSE simple binary expressions when they are inserted. This makes LSR produce
less huge code that needs to be cleaned up by sdisel.

llvm-svn: 35959
2007-04-13 05:04:18 +00:00
Tanya Lattner c821a9ac44 Adding target triplet to be passed to database.
llvm-svn: 35958
2007-04-13 04:36:48 +00:00