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