Chris Lattner
d888514f0c
C++ is not a functional programming language.
...
llvm-svn: 20274
2005-02-22 23:13:58 +00:00
Andrew Lenharth
d870103306
dynamic stack allocas
...
llvm-svn: 20273
2005-02-22 21:59:48 +00:00
Chris Lattner
4ba91f5168
Fix a bug in the 'store fpimm, ptr' -> 'store intimm, ptr' handling code.
...
Changing 'op' here caused us to not enter the store into a map, causing
reemission of the code!! In practice, a simple loop like this:
no_exit: ; preds = %no_exit, %entry
%indvar = phi uint [ %indvar.next, %no_exit ], [ 0, %entry ] ; <uint> [#uses=3]
%tmp.4 = getelementptr "complex long double"* %P, uint %indvar, uint 0 ; <double*> [#uses=1]
store double 0.000000e+00, double* %tmp.4
%indvar.next = add uint %indvar, 1 ; <uint> [#uses=2]
%exitcond = seteq uint %indvar.next, %N ; <bool> [#uses=1]
br bool %exitcond, label %return, label %no_exit
was being code gen'd to:
.LBBtest_1: # no_exit
movl %edx, %esi
shll $4, %esi
movl $0, 4(%eax,%esi)
movl $0, (%eax,%esi)
incl %edx
movl $0, (%eax,%esi)
movl $0, 4(%eax,%esi)
cmpl %ecx, %edx
jne .LBBtest_1 # no_exit
Note that we are doing 4 32-bit stores instead of 2. Now we generate:
.LBBtest_1: # no_exit
movl %edx, %esi
incl %esi
shll $4, %edx
movl $0, (%eax,%edx)
movl $0, 4(%eax,%edx)
cmpl %ecx, %esi
movl %esi, %edx
jne .LBBtest_1 # no_exit
This is much happier, though it would be even better if the increment of ESI
was scheduled after the compare :-/
llvm-svn: 20265
2005-02-22 07:23:39 +00:00
Andrew Lenharth
8ead0f13d3
no longer build as a shared library
...
llvm-svn: 20264
2005-02-22 04:58:26 +00:00
Chris Lattner
fe933669d2
add another plausible reason
...
llvm-svn: 20262
2005-02-21 16:35:31 +00:00
Chris Lattner
28fc771cfb
new testcase for PR523
...
llvm-svn: 20261
2005-02-21 04:03:32 +00:00
Chris Lattner
a854586551
Bug fixed.
...
llvm-svn: 20260
2005-02-20 23:31:49 +00:00
Chris Lattner
49df4aa8ea
New testcase for PR522.
...
llvm-svn: 20259
2005-02-20 23:29:23 +00:00
Chris Lattner
68c342b28f
Fix problems running the HowToUseJIT on powerpc, and probably problems with
...
ANY program that does not have all functions internalized.
llvm-svn: 20258
2005-02-20 18:43:35 +00:00
Jeff Cohen
91e04e17a7
Fix silly mistake.
...
llvm-svn: 20256
2005-02-20 02:48:51 +00:00
Jeff Cohen
96558e2f93
Implement standard I/O redirection in ExecuteAndWait().
...
llvm-svn: 20255
2005-02-20 02:43:04 +00:00
Chris Lattner
15759af51d
Add support for ".so" files compiled with LLVM which contain LLVM bytecode.
...
llvm-svn: 20253
2005-02-19 18:30:29 +00:00
Chris Lattner
042a54de90
Eliminate silly warnings from the linker of the form:
...
WARNING: Type conflict between types named 'union.._604.'.
Src=' %union.._604.'.
Dest=' %union.._604.'
llvm-svn: 20252
2005-02-19 17:52:37 +00:00
Chris Lattner
1446120628
typeo
...
llvm-svn: 20251
2005-02-19 17:17:32 +00:00
Chris Lattner
d81553f96e
New entry.
...
llvm-svn: 20250
2005-02-19 17:14:24 +00:00
Chris Lattner
285f2cd2e6
Bug fixed.
...
llvm-svn: 20249
2005-02-19 17:13:20 +00:00
Chris Lattner
a1c186fb07
Testcase for PR520
...
llvm-svn: 20248
2005-02-19 17:07:48 +00:00
Chris Lattner
d8100efca6
Adjust this test to pass after recent CFE changes. We now generate:
...
%XX = global int cast (int* getelementptr ([2 x int]* getelementptr (%struct.S* null, int 0, uint 0), int 0, int 1) to int)
which is the literal translation of the testcase :)
llvm-svn: 20247
2005-02-19 07:31:54 +00:00
Chris Lattner
47745198f8
Bug fixed.
...
llvm-svn: 20246
2005-02-19 07:29:25 +00:00
Chris Lattner
4d4527ad99
Make this testcase harder, to test the read case as well.
...
llvm-svn: 20245
2005-02-19 06:56:46 +00:00
Chris Lattner
eb8c079611
new testcase.
...
llvm-svn: 20244
2005-02-19 06:54:44 +00:00
Jeff Cohen
b83e650f1f
Change __MINGW to __MINGW32__. Patch submitted by Henrik Bach.
...
llvm-svn: 20243
2005-02-19 03:01:13 +00:00
Chris Lattner
646e53598f
Fix a bug.
...
llvm-svn: 20242
2005-02-19 02:22:14 +00:00
Reid Spencer
03fbce04b9
Quote the value of the PATH variable so that Cygwin and Windows can have
...
spaces in path names and not confuse the shell.
llvm-svn: 20241
2005-02-18 20:24:09 +00:00
Reid Spencer
df0507b980
Allow dejagnu tests to run on Windows/Cygwin. Quote the value of the PATH
...
variable so that spaces don't screw it up.
llvm-svn: 20240
2005-02-18 20:17:44 +00:00
Reid Spencer
bf2bc971e1
Adjust the help output so that it will fit cleanly within 80 columns.
...
llvm-svn: 20239
2005-02-18 20:00:05 +00:00
Misha Brukman
7116f509f8
* llvmc does not have a -V switch
...
* --config-file is really --config-dir, according to `llvmc --help'
llvm-svn: 20238
2005-02-18 18:00:53 +00:00
Jeff Cohen
fa31c775b6
Make PreventCoreFiles() do the right thing on Windows.
...
llvm-svn: 20237
2005-02-18 07:05:18 +00:00
Misha Brukman
31efbcc81c
Remove colloquialisms from the documentation.
...
llvm-svn: 20233
2005-02-17 22:22:24 +00:00
Misha Brukman
ea2c511191
Fix compilation errors with VS 2005, patch contributed by Aaron Gray.
...
llvm-svn: 20232
2005-02-17 21:40:27 +00:00
Misha Brukman
381d248dc6
Fix compilation errors with VS 2005, patch by Aaron Gray.
...
llvm-svn: 20231
2005-02-17 21:39:27 +00:00
Chris Lattner
89105cec43
Don't rely on doubles comparing identical to each other, which doesn't work
...
for 0.0 and -0.0.
llvm-svn: 20230
2005-02-17 20:17:32 +00:00
Chris Lattner
10f39c27ee
Map doubles from integers, not the double itself.
...
llvm-svn: 20229
2005-02-17 20:16:58 +00:00
Chris Lattner
0de03b45ab
Don't sink argument loads into loops or other bad places. This disables folding of argument loads with instructions that are not in the entry block.
...
llvm-svn: 20228
2005-02-17 19:40:32 +00:00
Chris Lattner
29126b65c4
Do not mark obviously unreachable blocks live when processing PHI nodes,
...
and handle incomplete control dependences correctly. This fixes:
Regression/Transforms/ADCE/dead-phi-edge.ll
-> a missed optimization
Regression/Transforms/ADCE/dead-phi-edge.ll
-> a compiler crash distilled from QT4
llvm-svn: 20227
2005-02-17 19:28:49 +00:00
Chris Lattner
85fcef268a
New files, testing for a crash in ADCE compiling QT and a missed optimization.
...
llvm-svn: 20226
2005-02-17 19:27:44 +00:00
Chris Lattner
2198bb53ee
Scary typo that fixes Regression/Transforms/IndVarsSimplify/2005-02-17-TruncateExprCrash.ll
...
and PR515.
llvm-svn: 20224
2005-02-17 16:54:16 +00:00
Chris Lattner
c966cc25a3
new testcase for PR515
...
llvm-svn: 20223
2005-02-17 16:53:41 +00:00
Reid Spencer
8dc0034dc0
Remove the "pax" program from the list of those needed to support LLVM.
...
The install target in Makefile.rules no longer uses pax but just uses find
and "install" instead.
llvm-svn: 20216
2005-02-16 16:21:00 +00:00
Reid Spencer
60fb666741
Fix installation of configuration files.
...
llvm-svn: 20215
2005-02-16 16:17:11 +00:00
Reid Spencer
c2831e3ff7
* Don't flatten the directory hierarchy when installing headers
...
* Make it possible to have the Install program run in verbose mode when
the TOOL_VERBOSE=1 option is set
* Ensure non-executable installed files do not install with execute perms.
llvm-svn: 20214
2005-02-16 16:13:02 +00:00
Reid Spencer
2cfc6b1799
Don't use pax for installing header files. Use the install program instead.
...
llvm-svn: 20213
2005-02-16 15:54:03 +00:00
Jeff Cohen
28bc9d3fe9
Somehow tablegen.exe got moved... fix up tablegen invocations to match.
...
llvm-svn: 20212
2005-02-16 05:06:52 +00:00
Jeff Cohen
db8aa0169c
Get bugpoint compiling with VC++ again, not that it works anyway.
...
llvm-svn: 20211
2005-02-16 05:05:31 +00:00
Jeff Cohen
72f7799517
Arg list already has program name in it.
...
llvm-svn: 20208
2005-02-16 04:43:45 +00:00
Tanya Lattner
a35f2f428e
Fixed node deletion bug.
...
llvm-svn: 20207
2005-02-16 04:00:59 +00:00
Chris Lattner
6a86178364
Instead of doing a manual comparison loop, just use memcmp, thanks to JohnC
...
for the suggestion! :)
llvm-svn: 20203
2005-02-15 22:12:10 +00:00
Chris Lattner
4139a6ea3d
Make this more efficient now that we know both files are the same length.
...
llvm-svn: 20202
2005-02-15 22:01:43 +00:00
Misha Brukman
5c9328b088
Fix spelling
...
llvm-svn: 20201
2005-02-15 21:59:53 +00:00
Reid Spencer
3c3c05bfbd
Adjust DiffFilesWithTolerance to help poor cygwin's mmap facility by
...
handling zero length files a little more intelligently. If both files are
zero length then we return 0 (true) indicating a match. If only one of the
files is zero length then we return 1 (false) indicating that the files
differ. If the files don't agree in length then they can't match so we
skip the first loop that looks for a quick match.
llvm-svn: 20200
2005-02-15 21:47:02 +00:00