Chris Lattner
06b6c4bbde
C++ is not a functional programming language.
...
llvm-svn: 20274
2005-02-22 23:13:58 +00:00
Andrew Lenharth
7ac0143fa6
dynamic stack allocas
...
llvm-svn: 20273
2005-02-22 21:59:48 +00:00
Chris Lattner
a474313902
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
5ab3986e49
no longer build as a shared library
...
llvm-svn: 20264
2005-02-22 04:58:26 +00:00
Chris Lattner
25170b0177
add another plausible reason
...
llvm-svn: 20262
2005-02-21 16:35:31 +00:00
Chris Lattner
b3dd24435f
new testcase for PR523
...
llvm-svn: 20261
2005-02-21 04:03:32 +00:00
Chris Lattner
3a8f68e4cb
Bug fixed.
...
llvm-svn: 20260
2005-02-20 23:31:49 +00:00
Chris Lattner
8a8f9032c3
New testcase for PR522.
...
llvm-svn: 20259
2005-02-20 23:29:23 +00:00
Chris Lattner
ec3f094489
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
18cf7ebcee
Fix silly mistake.
...
llvm-svn: 20256
2005-02-20 02:48:51 +00:00
Jeff Cohen
4220bf5726
Implement standard I/O redirection in ExecuteAndWait().
...
llvm-svn: 20255
2005-02-20 02:43:04 +00:00
Chris Lattner
e68dae0eb6
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
fe723a7c05
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
3d6194f8cc
typeo
...
llvm-svn: 20251
2005-02-19 17:17:32 +00:00
Chris Lattner
fdff9e7d0d
New entry.
...
llvm-svn: 20250
2005-02-19 17:14:24 +00:00
Chris Lattner
6a3ae64639
Bug fixed.
...
llvm-svn: 20249
2005-02-19 17:13:20 +00:00
Chris Lattner
e98b480b2e
Testcase for PR520
...
llvm-svn: 20248
2005-02-19 17:07:48 +00:00
Chris Lattner
a94f9ffd0e
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
48c23141a2
Bug fixed.
...
llvm-svn: 20246
2005-02-19 07:29:25 +00:00
Chris Lattner
4fec95cd4d
Make this testcase harder, to test the read case as well.
...
llvm-svn: 20245
2005-02-19 06:56:46 +00:00
Chris Lattner
e22674c706
new testcase.
...
llvm-svn: 20244
2005-02-19 06:54:44 +00:00
Jeff Cohen
07e22ba2c7
Change __MINGW to __MINGW32__. Patch submitted by Henrik Bach.
...
llvm-svn: 20243
2005-02-19 03:01:13 +00:00
Chris Lattner
16fb0037c4
Fix a bug.
...
llvm-svn: 20242
2005-02-19 02:22:14 +00:00
Reid Spencer
9756aea1cb
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
75542d4e78
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
63eb0aa52a
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
634b0a3b7e
* 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
81549a57b8
Make PreventCoreFiles() do the right thing on Windows.
...
llvm-svn: 20237
2005-02-18 07:05:18 +00:00
Misha Brukman
3703685b1a
Remove colloquialisms from the documentation.
...
llvm-svn: 20233
2005-02-17 22:22:24 +00:00
Misha Brukman
20430321c2
Fix compilation errors with VS 2005, patch contributed by Aaron Gray.
...
llvm-svn: 20232
2005-02-17 21:40:27 +00:00
Misha Brukman
73e929f89d
Fix compilation errors with VS 2005, patch by Aaron Gray.
...
llvm-svn: 20231
2005-02-17 21:39:27 +00:00
Chris Lattner
381dddc90c
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
67395c2002
Map doubles from integers, not the double itself.
...
llvm-svn: 20229
2005-02-17 20:16:58 +00:00
Chris Lattner
0c56a548ed
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
7b5d9e2217
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
854c086e0f
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
47555decfb
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
02fd7d1d56
new testcase for PR515
...
llvm-svn: 20223
2005-02-17 16:53:41 +00:00
Reid Spencer
53e86c13f6
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
e386b72d21
Fix installation of configuration files.
...
llvm-svn: 20215
2005-02-16 16:17:11 +00:00
Reid Spencer
fe0a01ee25
* 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
48a82f49bd
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
cce4b92601
Somehow tablegen.exe got moved... fix up tablegen invocations to match.
...
llvm-svn: 20212
2005-02-16 05:06:52 +00:00
Jeff Cohen
81d26d168d
Get bugpoint compiling with VC++ again, not that it works anyway.
...
llvm-svn: 20211
2005-02-16 05:05:31 +00:00
Jeff Cohen
97a41e238e
Arg list already has program name in it.
...
llvm-svn: 20208
2005-02-16 04:43:45 +00:00
Tanya Lattner
c28fd0db2e
Fixed node deletion bug.
...
llvm-svn: 20207
2005-02-16 04:00:59 +00:00
Chris Lattner
3e7a193bd7
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
9d0db6f602
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
f232a4582d
Fix spelling
...
llvm-svn: 20201
2005-02-15 21:59:53 +00:00
Reid Spencer
f4425b0208
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
Andrew Lenharth
5f7c53599e
add Alpha to llc
...
llvm-svn: 20198
2005-02-15 21:14:09 +00:00
Chris Lattner
915fd0de4b
Fix a problem where the PPC backend lost track of the fact that it had
...
to save and restore the LR register on entry and exit of a leaf function
that needed to access globals or the constant pool. This should hopefully
fix oscar from sending the PPC tester spinning out of control.
llvm-svn: 20197
2005-02-15 20:26:49 +00:00
Chris Lattner
3e708301d2
Add a sanity check.
...
llvm-svn: 20195
2005-02-15 18:48:48 +00:00
Chris Lattner
219002ed8f
Add a new method to make it easy to update graphs.
...
llvm-svn: 20194
2005-02-15 18:40:55 +00:00
Chris Lattner
385a47394a
Bug fixed
...
llvm-svn: 20193
2005-02-15 07:02:12 +00:00
Chris Lattner
3bef66fcf3
Fix volatile load/store of pointers. Consider this testcase:
...
void %test(int** %P) {
%A = volatile load int** %P
ret void
}
void %test2(int*** %Q) {
%P = load int*** %Q
volatile store int** %P, int*** %Q
ret void
}
instead of emitting:
void test(int **l1_P) {
int *l2_A;
l2_A = (int **((volatile int **)l1_P));
return;
}
void test2(int ***l2_Q) {
int **l1_P;
l1_P = *l2_Q;
*((volatile int ***)l2_Q) = l1_P;
return;
}
... which is loading/storing volatile pointers, not through volatile pointers,
emit this (which is right):
void test(int **l1_P) {
int *l3_A;
l3_A = *((int * volatile*)l1_P);
return;
}
void test2(int ***l2_Q) {
int **l1_P;
l1_P = *l2_Q;
*((int ** volatile*)l2_Q) = l1_P;
return;
}
llvm-svn: 20191
2005-02-15 05:52:14 +00:00
Chris Lattner
1f031b20fe
Bug fixed.
...
llvm-svn: 20190
2005-02-15 05:28:06 +00:00
Chris Lattner
1a9cbe67ed
New testcase for PR510.
...
llvm-svn: 20189
2005-02-15 05:18:05 +00:00
Chris Lattner
be895eda63
wow, interesting typo :)
...
llvm-svn: 20187
2005-02-14 22:58:38 +00:00
Chris Lattner
7027143f0a
execution tests shouldn't go here. This was killing the PPC nightly tester.
...
llvm-svn: 20186
2005-02-14 21:54:32 +00:00
Reid Spencer
e9fa5444c5
For PR496:
...
When llvm-gcc is not available, bypass rules for Modules and Bytecode
Libraries that require llvm-gcc and emit instead a warning that llvm-gcc
is not available. This permits "make LLVMGCC=" to build LLVM completely
without error and provides warnings about the modules and bc libs that
could not be constructed.
llvm-svn: 20185
2005-02-14 21:54:08 +00:00
Chris Lattner
6e528dce90
Fix a bug in my previous change to this, which broke the build on sparcs.
...
llvm-svn: 20184
2005-02-14 21:42:10 +00:00
Chris Lattner
145569b076
Print GEP offsets as signed values instead of unsigned values. On X86, this
...
prints:
getelementptr (int* %A, int -1)
as: "(A) - 4" instead of "(A) + 18446744073709551612", which makes the
assembler much happier.
This fixes test/Regression/CodeGen/X86/2005-02-14-IllegalAssembler.ll,
and Benchmarks/Prolangs-C/cdecl with LLC on X86.
llvm-svn: 20183
2005-02-14 21:40:26 +00:00
Chris Lattner
3d2881066b
A testcase that LLC produces illegal asm on for Prolangs-C/cdecl now.
...
llvm-svn: 20182
2005-02-14 21:31:41 +00:00
Chris Lattner
31f3382b3b
Fix the second bug attached to PR504.
...
llvm-svn: 20181
2005-02-14 20:11:45 +00:00
Chris Lattner
a3a55bf997
Work around GCC PR19958, which causes programs to sometimes crash after
...
printing help output or version info.
llvm-svn: 20180
2005-02-14 19:17:29 +00:00
Misha Brukman
2b1e10031f
Write out single characters as chars, not strings.
...
llvm-svn: 20179
2005-02-14 18:52:35 +00:00
Chris Lattner
1c75b25546
Bugs fixed
...
llvm-svn: 20178
2005-02-14 16:57:55 +00:00
Chris Lattner
7afbdcad15
Implement CodeGen/CBackend/2005-02-14-VolatileOperations.ll
...
Volatile loads and stores need to emit volatile pointer operations in C.
llvm-svn: 20177
2005-02-14 16:47:52 +00:00
Chris Lattner
4c13ab61b3
new testcase
...
llvm-svn: 20176
2005-02-14 16:45:38 +00:00
Reid Spencer
9c7fbaef9b
Update makefile to use PROJ_* makefile variables intead of BUILD_* as
...
required by changes to the Makefile.rules. Patch contributed by Vladimir
Merzliakov.
llvm-svn: 20175
2005-02-14 16:04:28 +00:00
Reid Spencer
8c47826c9f
Update comments to reflect new variable names. Patch contributed by
...
Vladimir Merzliakov.
llvm-svn: 20174
2005-02-14 16:02:19 +00:00
Misha Brukman
e71cbb82ba
Give props to Andrew for the Alpha backend
...
llvm-svn: 20173
2005-02-14 09:07:23 +00:00
Andrew Lenharth
cae2f21e3b
fix setcc on floats, fixes singlesource:pi, perhaps others
...
llvm-svn: 20172
2005-02-14 05:41:43 +00:00
Chris Lattner
71ff539ed6
new testcase for PR509
...
llvm-svn: 20171
2005-02-14 02:54:41 +00:00
Chris Lattner
259df2bf3c
Fix the llvm bootstrap
...
llvm-svn: 20170
2005-02-13 23:37:09 +00:00
Chris Lattner
5f429c3347
Move private helper function into the only .cpp file that uses it.
...
llvm-svn: 20169
2005-02-13 23:14:06 +00:00
Chris Lattner
dc01c3f058
Move helper function here.
...
llvm-svn: 20168
2005-02-13 23:13:47 +00:00
Chris Lattner
9db0eccc42
Conform to the documented interface by null terminating argument lists!
...
llvm-svn: 20167
2005-02-13 23:10:45 +00:00
Chris Lattner
61a31c9fe2
Make sure to null terminate argument lists!
...
llvm-svn: 20166
2005-02-13 23:02:34 +00:00
Chris Lattner
743dd2cd80
If errno is zero strerror_r does not modify the buffer, leaving it unterminated.
...
This causes garbage to be printed out after error messages.
llvm-svn: 20165
2005-02-13 22:46:37 +00:00
Chris Lattner
e14babd141
Add some updates
...
llvm-svn: 20164
2005-02-13 22:27:24 +00:00
Chris Lattner
5824762378
SuSE 3.3.3 is also borken.
...
llvm-svn: 20163
2005-02-13 22:20:49 +00:00
Chris Lattner
5881b91bd7
Do not replace ostream << Module*, only ostream << Module&.
...
llvm-svn: 20157
2005-02-13 19:15:01 +00:00
Chris Lattner
6983f5d2ed
Print the module, not the pointer.
...
llvm-svn: 20156
2005-02-13 19:12:31 +00:00
Reid Spencer
8d0f126b74
Make the check for global variables the same as the one for functions. In
...
both cases they are looking for non-external variables/functions that do
not have internal linkage. Using "!isExternal()" is a little more
understandable than "hasInitializer()"
llvm-svn: 20155
2005-02-13 18:12:20 +00:00
Chris Lattner
8d54dd37c9
Nuke blank line.
...
llvm-svn: 20154
2005-02-13 17:54:21 +00:00
Chris Lattner
08a5eb3cf0
Minor cleanup. No need to explicitly tell the compiler the template arguments.
...
llvm-svn: 20153
2005-02-13 17:50:16 +00:00
Chris Lattner
147c561432
Make sure to clear the LazyFunctionLoadMap after we ParseAllFunctionBodies.
...
Otherwise, clients who call ParseAllFunctionBodies will attempt to parse
the function bodies twice, which is (uh) very very bad (tm).
This fixes gccld on python.
llvm-svn: 20152
2005-02-13 17:48:18 +00:00
Chris Lattner
1b9f9c5f67
Do not put internal symbols into the symbol table. This shrinks the symbol
...
table for archives in common cases, and prevents trying to resolve a
external reference with an internal reference. This shrinks the libpython.a
symbol table from 126302 to 19770 bytes.
llvm-svn: 20151
2005-02-13 17:42:11 +00:00
Chris Lattner
38a3ba0234
Include local time on the web page for start/end times.
...
llvm-svn: 20150
2005-02-13 16:08:30 +00:00
Chris Lattner
71a44087d4
Print something useful for gccld -v with an archive.
...
llvm-svn: 20148
2005-02-13 15:26:14 +00:00
Reid Spencer
9f219c79aa
Fix PR506:
...
* Use error returned from Archive::OpenAndLoad
* Make sure only std::string is thrown so it gets caught and printed.
llvm-svn: 20147
2005-02-13 07:34:17 +00:00
Chris Lattner
7b0fbe7ccf
Correct the recursive PHI node handling routines in a way that CANNOT induce
...
infinite loops (using the new replaceSymbolicValuesWithConcrete method).
This patch reverts this patch:
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20050131/023830.html
... which was an attempted fix for this problem. Unfortunately, that patch
caused test/Regression/Transforms/IndVarsSimplify/exit_value_tests.llx to fail
and slightly castrated the entire analysis. This patch fixes it right.
This patch is dedicated to jeffc, for making me deal with this. :)
llvm-svn: 20146
2005-02-13 04:37:18 +00:00
Chris Lattner
b06944e813
Add a new replaceSymbolicValuesWithConcrete method to the SCEV class,
...
adjust const'ness a bit to be more correct.
llvm-svn: 20145
2005-02-13 04:34:51 +00:00
Andrew Lenharth
9a98def106
non-ieee arith crashes passes on alpha
...
llvm-svn: 20144
2005-02-13 03:41:10 +00:00
Andrew Lenharth
d39febfc66
try to do better match for i32 adds
...
llvm-svn: 20143
2005-02-12 21:11:17 +00:00
Andrew Lenharth
ab4db0522a
make FP conversion more conservative (matches gcc)
...
llvm-svn: 20142
2005-02-12 21:10:58 +00:00
Andrew Lenharth
df5cd0868f
oops, I was sure this had already gond though the nightly tester
...
llvm-svn: 20141
2005-02-12 20:42:09 +00:00
Chris Lattner
e254e2ffcc
Add note about broken GCC
...
llvm-svn: 20138
2005-02-12 20:11:13 +00:00
Andrew Lenharth
76c5d97750
added sign extend for boolean
...
llvm-svn: 20137
2005-02-12 19:35:12 +00:00
Chris Lattner
5d5aede33b
Document the newly generalized model for constant globals.
...
llvm-svn: 20136
2005-02-12 19:30:21 +00:00
Chris Lattner
16277c1775
Allow globals to be of different const'nesses when we link.
...
This finally resolves PR502, PR450,
and test/Regression/Linker/2005-02-12-ConstantGlobals{,-2}.ll correctly
llvm-svn: 20135
2005-02-12 19:20:28 +00:00
Chris Lattner
36f3eb82a1
New test, adjust other test.
...
llvm-svn: 20134
2005-02-12 19:19:36 +00:00
Chris Lattner
6af31478ef
Reinstate this test, it is correct after all.
...
llvm-svn: 20133
2005-02-12 19:14:11 +00:00
Chris Lattner
3b4f6c4a73
This test is invalid
...
llvm-svn: 20131
2005-02-12 19:02:30 +00:00
Chris Lattner
e616fea3bc
Fix for testcase Transforms/IndVarsSimplify/2005-02-11-InvokeCrash.ll
...
and PR504.
llvm-svn: 20129
2005-02-12 03:26:49 +00:00
Chris Lattner
4c916478e5
new testcase for PR504
...
llvm-svn: 20128
2005-02-12 03:26:30 +00:00
Chris Lattner
82e87e4d0c
Actually, this testcase is invalid, the bug is in the C++ FE.
...
llvm-svn: 20123
2005-02-11 23:18:40 +00:00
Chris Lattner
1afcaf601f
New testcase that manyoso found compiling QT 4.0.
...
llvm-svn: 20122
2005-02-11 23:08:34 +00:00
Chris Lattner
bebf14d28e
Slightly expand on the instructions.
...
llvm-svn: 20121
2005-02-11 21:17:26 +00:00
Chris Lattner
2a38aea0a7
Bug fixed
...
llvm-svn: 20118
2005-02-11 19:29:52 +00:00
Chris Lattner
e6138f4240
New testcase for PR501
...
llvm-svn: 20117
2005-02-11 19:26:06 +00:00
Chris Lattner
72b5054afb
The pool allocator is now the llvm-poolalloc module in public CVS
...
llvm-svn: 20116
2005-02-11 04:46:58 +00:00
Andrew Lenharth
b301af712e
fix a bunch of regressions due to call behavior
...
llvm-svn: 20110
2005-02-10 20:10:38 +00:00
Alkis Evlogimenos
c4a44c6b3d
Localize globals if they are only used in main(). This replaces the
...
global with an alloca, which eventually gets promoted into a
register. This enables a lot of other optimizations later on.
llvm-svn: 20109
2005-02-10 18:36:30 +00:00
Tanya Lattner
56807c6f4a
Added new circuit finding alogrithm.
...
Fixed bug in graph so that phi ite diff edges are added.
llvm-svn: 20108
2005-02-10 17:02:58 +00:00
Tanya Lattner
1137d7c6a1
Allow modsched and local scheduling to both be run.
...
llvm-svn: 20107
2005-02-10 17:02:06 +00:00
Andrew Lenharth
e0b789fdf5
so, if you beat on it, you too can talk emacs into having a sane indenting policy... Also, optimize many function calls with pc-relative calls (partial prologue skipping for that case coming soon), try to fix the random jumps to strange places problem by pesimizing div et. al. register usage and fixing up GP before using, some calling convention tweaks, and make frame pointer unallocatable (not strickly necessary, but let's go for correctness first)
...
llvm-svn: 20106
2005-02-10 06:25:22 +00:00
Andrew Lenharth
f70ef47ee1
fix fp branch
...
llvm-svn: 20105
2005-02-10 05:17:38 +00:00
Misha Brukman
8d343e77f8
Give props to Brian for V8 backend
...
llvm-svn: 20104
2005-02-10 02:07:57 +00:00
Misha Brukman
06a1d47f96
* Fix spelling of `volatile'
...
* Align comments with tablegen elements
llvm-svn: 20103
2005-02-10 01:52:22 +00:00
Chris Lattner
38de952115
This will be moved elsewhere.
...
llvm-svn: 20101
2005-02-09 22:52:46 +00:00
Misha Brukman
b139a7dbb9
* Use doc_code style for blocks of code
...
* Convert < to < in <pre> block
* Use doc_hilite instead of doc_red style
* Put some classes and options in <tt> blocks
llvm-svn: 20100
2005-02-09 22:49:05 +00:00
Misha Brukman
64f8d07090
Do not mention colors in style names, we might want to change styles themselves
...
llvm-svn: 20099
2005-02-09 22:47:47 +00:00
Misha Brukman
0c4b8b6db4
* Use an HTML list <ol> instead of custom superscripts in the platform notes
...
* Reorder software requirements list to show relative importance
* Use superscripts for footnotes in software list rather than "Note 1"
* Use new doc_notes class to separate footnotes from main doc text
llvm-svn: 20098
2005-02-09 22:38:47 +00:00
Misha Brukman
649b77858d
Add style to display notes on a different background than the main text
...
llvm-svn: 20097
2005-02-09 22:36:44 +00:00
Chris Lattner
ac648f5375
Turn footnotes into links, make the page validate.
...
llvm-svn: 20096
2005-02-09 21:15:51 +00:00
Chris Lattner
59a486ace6
If needed, this should be in the 'how to compile the cfe' doc.
...
llvm-svn: 20095
2005-02-09 21:07:21 +00:00
Chris Lattner
09cc355153
this should be incorporated into the build
...
llvm-svn: 20094
2005-02-09 21:05:01 +00:00
Misha Brukman
7772309b70
* Separate superscript footnotes with a comma, otherwise it's a 2-digit number
...
* Make a URL into an HTML link using anchor tag
* Put code in fixed-width font
* Since the MinGW footnote is significantly more than the rest of the footnotes
combined, it needs to have a border and background color to separate it from
the regular flow of text for readability purposes.
llvm-svn: 20093
2005-02-09 21:01:26 +00:00
Chris Lattner
093ffb0a5c
Add instructions for MINGW, contributed by Henrik Bach
...
llvm-svn: 20092
2005-02-09 20:43:48 +00:00
Chris Lattner
610ce2c678
Don't print a 'Total Execution Time' line for the 'Miscellaneous Ungrouped
...
Timers' section. Since these are random timers in the program it doesn't
make sense to sum them up.
llvm-svn: 20090
2005-02-09 18:41:32 +00:00
Chris Lattner
159485ff1b
Fix test/Regression/Assembler/2005-02-09-AsmWriterStoreBug.ll
...
llvm-svn: 20089
2005-02-09 17:45:03 +00:00
Chris Lattner
60fb167b6e
New testcase that the asmwriter botches.
...
llvm-svn: 20088
2005-02-09 17:42:24 +00:00
Chris Lattner
5ce5a094aa
Use new edge iterators to simplify some code.
...
llvm-svn: 20086
2005-02-09 03:20:43 +00:00
Chris Lattner
06e353c5a9
Add some iterators that should have come in long ago
...
llvm-svn: 20085
2005-02-09 03:14:29 +00:00
Chris Lattner
81bfc9eda8
Fix installation of configured headers when objdir != srcdir. Patch
...
contributed by Vladimir Merzliakov!
llvm-svn: 20084
2005-02-09 02:24:00 +00:00
Andrew Lenharth
8ec0a2b13a
BranchCC, nifty
...
llvm-svn: 20067
2005-02-08 00:40:03 +00:00
Andrew Lenharth
d4f440de0f
fix store issue and an FP conversion (segfault) issue
...
llvm-svn: 20066
2005-02-07 23:02:23 +00:00
Chris Lattner
863d9c9068
IndCallGraphMap is now a pointer to a new'd map.
...
llvm-svn: 20065
2005-02-07 16:09:15 +00:00
Chris Lattner
67aeddc423
Hopefully fix the build on Darwin with GCC 3.3
...
llvm-svn: 20064
2005-02-07 16:09:01 +00:00
Andrew Lenharth
9d3f7704fd
copytoreg fix
...
llvm-svn: 20063
2005-02-07 06:31:44 +00:00
Andrew Lenharth
57047720ce
copyfromreg fix
...
llvm-svn: 20062
2005-02-07 06:21:37 +00:00
Andrew Lenharth
351df0c2dc
fix load bug
...
llvm-svn: 20061
2005-02-07 05:55:55 +00:00
Andrew Lenharth
5d004edc3d
more FP load store fixes and Load store simplifications
...
llvm-svn: 20060
2005-02-07 05:33:15 +00:00
Andrew Lenharth
5fb9b53060
clean up load and stores alot
...
llvm-svn: 20059
2005-02-07 05:18:02 +00:00
Andrew Lenharth
a9e02156ce
teach all loads and stores about the stack
...
llvm-svn: 20058
2005-02-07 05:07:00 +00:00
Andrew Lenharth
0021f55863
prefer FP scratch registers and more check in LowerArguments
...
llvm-svn: 20057
2005-02-06 21:07:31 +00:00
Andrew Lenharth
eefd410522
fix oopso
...
llvm-svn: 20056
2005-02-06 16:22:15 +00:00
Andrew Lenharth
6c018f77d1
smarter loads and stores. can now handle base+offset.
...
llvm-svn: 20055
2005-02-06 15:40:40 +00:00
Andrew Lenharth
d9bf7b81eb
fix build
...
llvm-svn: 20053
2005-02-05 19:46:51 +00:00
Andrew Lenharth
7be9854594
clean up
...
llvm-svn: 20051
2005-02-05 17:41:39 +00:00
Andrew Lenharth
ea9224a69a
fix f32 setcc, and fp select
...
llvm-svn: 20050
2005-02-05 16:41:03 +00:00
Andrew Lenharth
060d58b88f
added ugly support for fp compares
...
llvm-svn: 20049
2005-02-05 13:19:12 +00:00
Misha Brukman
ffe9968b5a
Make the rest of file header comments consistent in format and style
...
llvm-svn: 20048
2005-02-05 02:24:26 +00:00
Chris Lattner
423c04c75c
Eliminate the explicit opcode field in ConstantExpr, using the SubclassData
...
field to hold it instead. This shrinks memory usage for 176.gcc from
57628728 to 57598144 bytes, a small reduction of about 30K.
llvm-svn: 20047
2005-02-05 02:00:12 +00:00
Chris Lattner
0a9a2e734b
Eliminate the explicit volatile fields in LoadInst and StoreInst. This shrinks
...
LoadInst from 60 -> 56 bytes and StoreInst from 76 -> 72 bytes.
Note however, that this doesn't actually save any memory on common systems
where 'malloc' returns 8-byte aligned memory, as the saved space is replaced
by useless alignment padding. :(
llvm-svn: 20046
2005-02-05 01:44:18 +00:00
Chris Lattner
df57a02be4
Instead of initializing the volatile field, use accessors to set it.
...
llvm-svn: 20045
2005-02-05 01:38:38 +00:00
Chris Lattner
a29c92ffdd
Initialize new field.
...
llvm-svn: 20044
2005-02-05 01:37:58 +00:00
Chris Lattner
9cd92de64b
SubclassID is really a small field. Split it into half and let subclasses
...
play with the unused part.
llvm-svn: 20043
2005-02-05 01:37:44 +00:00
Chris Lattner
f60c170ea5
Add support for .cc and .hpp files. Patch contributed by Vladimir Merzliakov!
...
llvm-svn: 20042
2005-02-04 21:28:50 +00:00
Misha Brukman
076b9f4507
Make file header comment consistent: extend the whole 80 cols to fill the line
...
llvm-svn: 20039
2005-02-04 20:25:52 +00:00
Chris Lattner
4585abd549
If we have an indirect call site that calls N functions, inline the N functions
...
into a temporary graph, remember it for later, then inline the tmp graph into
the call site.
In the case where there are other call sites to the same set of functions, this
permits us to just inline the temporary graph instead of all of the callees.
This turns N*M inlining situations into an N+M inlining situation.
llvm-svn: 20036
2005-02-04 19:59:49 +00:00
Chris Lattner
d1000686cd
Split mergeInGraph into two methods.
...
llvm-svn: 20035
2005-02-04 19:58:28 +00:00
Chris Lattner
377507b125
Add some new members
...
llvm-svn: 20034
2005-02-04 19:58:06 +00:00
Chris Lattner
28bfbb70dd
add new member
...
llvm-svn: 20033
2005-02-04 19:57:57 +00:00
Chris Lattner
ba954f3284
Fix the Regression/Transforms/DSAnalysis/recursion.ll regression.
...
llvm-svn: 20031
2005-02-04 18:58:04 +00:00
Chris Lattner
0559691163
Fix a case where were incorrectly compiled cast from short to int on 64-bit
...
targets.
llvm-svn: 20030
2005-02-04 18:39:19 +00:00
Andrew Lenharth
5152be292a
alignment
...
llvm-svn: 20028
2005-02-04 14:09:38 +00:00
Andrew Lenharth
202011fcc7
get alignment printing correctly and get rid of __main hack
...
llvm-svn: 20027
2005-02-04 14:01:21 +00:00
Andrew Lenharth
c8770aa507
fix constant pointer outputing on 64 bit machines
...
llvm-svn: 20026
2005-02-04 13:47:16 +00:00
Misha Brukman
20b8a65627
* Fix broken link to directions to get llvm, llvm-gcc, and llvm-test from CVS
...
* Remove duplicated CVS directions and refer reader to the CVS section
* Clean up directions to be brief
llvm-svn: 20023
2005-02-03 22:25:23 +00:00
Andrew Lenharth
799479138e
FP fixes
...
llvm-svn: 20019
2005-02-03 21:01:15 +00:00
Chris Lattner
3dd3df2b55
Refactor getFunctionArgumentsForCall out of mergeInGraph.
...
llvm-svn: 20018
2005-02-03 18:40:25 +00:00
Chris Lattner
446b15f3a3
Add a new method.
...
llvm-svn: 20017
2005-02-03 18:40:05 +00:00
Misha Brukman
cd673250ba
* Clearly mark LLVM_LIB_SEARCH_PATH as being optional
...
* llvmgcc and llvmg++ aliases are no longer needed (binaries have llvm- prefix)
llvm-svn: 20016
2005-02-03 18:28:08 +00:00
Chris Lattner
45a6a18393
This is no longer needed. Global variables with undef initializers can be
...
initialized to anything, including garbage.
llvm-svn: 20010
2005-02-02 20:50:50 +00:00
Misha Brukman
d4528ea031
* Instead of fixing the version numbers before every release, mark them as x.y
...
* Eliminate the redundant "This is the..." in released file listing
* Fix grammar
llvm-svn: 20005
2005-02-02 18:01:57 +00:00
Andrew Lenharth
75c6225f32
Store fix
...
llvm-svn: 20004
2005-02-02 17:32:39 +00:00
Andrew Lenharth
cf2e21e879
oops
...
llvm-svn: 20003
2005-02-02 17:01:31 +00:00
Andrew Lenharth
fe6e7a30c0
prevent register allocator from using the stack pointer :)
...
llvm-svn: 20002
2005-02-02 17:00:21 +00:00
Andrew Lenharth
c7042c2d8b
fix loading of floats
...
llvm-svn: 19997
2005-02-02 15:05:33 +00:00
Jeff Cohen
fc9f146966
Put libraries in a common directory
...
llvm-svn: 19995
2005-02-02 06:33:11 +00:00
Andrew Lenharth
0f42d92ca0
marked mem* as not supported
...
llvm-svn: 19992
2005-02-02 05:49:42 +00:00
Jeff Cohen
d44e5dae0f
Add additional source of Win32 GNU utilities.
...
llvm-svn: 19991
2005-02-02 05:46:20 +00:00
Alkis Evlogimenos
346bb20409
Fix crash on MallocInsts of unsized types.
...
llvm-svn: 19988
2005-02-02 04:43:37 +00:00
Andrew Lenharth
07c0b0d92b
fix Load bug
...
llvm-svn: 19987
2005-02-02 04:35:44 +00:00
Chris Lattner
5aa75e4ce5
Fix yet another memset issue.
...
llvm-svn: 19986
2005-02-02 03:44:41 +00:00
Andrew Lenharth
c7e55f430c
try to make a bug bugpointable, add yet more constant pool stuff, fixup constant loads for FP
...
llvm-svn: 19985
2005-02-02 03:36:35 +00:00
Andrew Lenharth
ae88b6a8a8
better constant handling, should fix many remaining cases
...
llvm-svn: 19984
2005-02-02 00:51:15 +00:00
Alkis Evlogimenos
7c04a3ddb6
Add variable for bugpoint.
...
llvm-svn: 19981
2005-02-02 00:40:15 +00:00
Chris Lattner
16a53243c6
Eliminate some duplicated debug code
...
llvm-svn: 19980
2005-02-01 21:55:40 +00:00
Chris Lattner
5ce51e83af
Eliminate self-recursion as a special case.
...
llvm-svn: 19979
2005-02-01 21:49:43 +00:00
Chris Lattner
50cebc6b9b
Eliminate use of DSCallSiteIterator in key loop. This is a half step to
...
a tasty speedup.
llvm-svn: 19978
2005-02-01 21:37:27 +00:00
Chris Lattner
eb5febea34
remove dead method
...
llvm-svn: 19977
2005-02-01 21:37:06 +00:00
Andrew Lenharth
9df6a764b9
fix FP arg passing bug, Add unsigned to/from int, fix SELECT, fix Constant pool
...
llvm-svn: 19976
2005-02-01 20:40:27 +00:00
Andrew Lenharth
20d8b2ff71
Print the Constant pool
...
llvm-svn: 19975
2005-02-01 20:38:53 +00:00
Andrew Lenharth
32124c0a70
Make cmov work right and loads for fp from constant pool
...
llvm-svn: 19974
2005-02-01 20:36:44 +00:00
Andrew Lenharth
c777d4f03d
Correct stack stuff for FP
...
llvm-svn: 19973
2005-02-01 20:35:57 +00:00
Andrew Lenharth
8fb0d5002b
try to match alpha pattern
...
llvm-svn: 19972
2005-02-01 20:35:11 +00:00
Andrew Lenharth
7703d1ab25
fix register names
...
llvm-svn: 19971
2005-02-01 20:34:29 +00:00
Chris Lattner
63a46cee87
Signficantly speed up printing by not emitting the same file twice with
...
different names. Large SCC's tend to be big, so this saves a lot of time.
llvm-svn: 19970
2005-02-01 19:10:48 +00:00
Chris Lattner
4487b2e5a6
Fix some bugs andrew noticed legalizing memset for alpha
...
llvm-svn: 19969
2005-02-01 18:38:28 +00:00
Chris Lattner
d6106a41fe
Do not revisit nodes in the SCC traversal. This speeds up the BU pass a bit.
...
llvm-svn: 19968
2005-02-01 17:35:52 +00:00
Jeff Cohen
c04c0dbd19
Put finishing touches on GettingStartedVS.html and link it to the index.
...
llvm-svn: 19967
2005-02-01 15:59:28 +00:00
Chris Lattner
085c981345
Fix test/Regression/Assembler/2005-01-31-CallingAggregateFunction.ll
...
llvm-svn: 19966
2005-02-01 01:47:42 +00:00
Chris Lattner
29b97d53c1
Apparently := confuses makellvm
...
llvm-svn: 19965
2005-02-01 01:47:12 +00:00
Chris Lattner
4298e1fea4
This bug crashes the assembler, distilled from a testcase produced by Andrew.
...
llvm-svn: 19964
2005-02-01 01:44:54 +00:00
Andrew Lenharth
cdc9e33ae5
pecimise loads, put indirect call addr in right register. still doesn't fix methcall
...
llvm-svn: 19963
2005-02-01 01:37:24 +00:00
Chris Lattner
f87e05be26
Update speedup and shrinkage info
...
llvm-svn: 19962
2005-02-01 01:33:52 +00:00
Chris Lattner
4947e67c4f
Updates for new use list changes.
...
llvm-svn: 19961
2005-02-01 01:24:21 +00:00
Chris Lattner
b6c21dbb1e
Update for API change.
...
llvm-svn: 19960
2005-02-01 01:24:01 +00:00
Chris Lattner
82b42c5d85
API change.
...
llvm-svn: 19959
2005-02-01 01:23:49 +00:00
Chris Lattner
d6a4492f81
Adjust to changes in APIs
...
llvm-svn: 19958
2005-02-01 01:23:31 +00:00
Chris Lattner
f98a7bffb3
Hacks to make this ugly ugly code work with the new use lists.
...
llvm-svn: 19957
2005-02-01 01:22:56 +00:00
Chris Lattner
ef55a1a775
Switch from using an ilist for uses to using a custom doubly linked list.
...
This list does not provide the ability to go backwards in the list (its
more of an unordered collection, stored in the shape of a list).
This change means that use iterators are now only forward iterators, not
bidirectional.
This improves the memory usage of use lists from '5 + 4*#use' per value to
'1 + 4*#use'. While it would be better to reduce the multiplied factor,
I'm not smart enough to do so. This list also has slightly more efficient
operators for manipulating list nodes (a few less loads/stores), due to not
needing to be able to iterate backwards through the list.
This change reduces the memory footprint required to hold 176.gcc from
66.025M -> 57.687M, a 14% reduction. It also speeds up the compiler,
7.73% in the case of bytecode loading alone (release build loading 176.gcc).
llvm-svn: 19956
2005-02-01 01:22:06 +00:00
Chris Lattner
1230cf25ba
Fix a problem where we could infinitely recurse on phi nodes.
...
llvm-svn: 19955
2005-02-01 00:18:30 +00:00
Misha Brukman
8dfa2e4465
Fix hyphenation in output comment
...
llvm-svn: 19954
2005-01-31 06:19:57 +00:00
Chris Lattner
72684fecf8
Implement InstCombine/cast.ll:test25, a case that occurs many times
...
in spec
llvm-svn: 19953
2005-01-31 05:51:45 +00:00
Chris Lattner
46452d4558
New testcase
...
llvm-svn: 19952
2005-01-31 05:51:18 +00:00
Jeff Cohen
1b0d750ade
Add LLVM with Visual Studio overview
...
llvm-svn: 19951
2005-01-31 05:42:10 +00:00
Chris Lattner
31f486c775
Implement the trivial cases in InstCombine/store.ll
...
llvm-svn: 19950
2005-01-31 05:36:43 +00:00
Chris Lattner
2357f255ca
New testcase
...
llvm-svn: 19949
2005-01-31 05:36:19 +00:00
Chris Lattner
c456eac1b9
Rename these to start with %c, as they are the only ones that are checked.
...
No change to the tests themselves.
llvm-svn: 19948
2005-01-31 05:17:31 +00:00
Chris Lattner
fe1b0b8b24
Implement Transforms/InstCombine/cast-load-gep.ll, which allows us to devirtualize
...
11 indirect calls in perlbmk.
llvm-svn: 19947
2005-01-31 04:50:46 +00:00
Chris Lattner
340ab5bbbb
New testcase
...
llvm-svn: 19946
2005-01-31 04:49:22 +00:00
Andrew Lenharth
ae25bb1dc5
indirect call fix
...
llvm-svn: 19945
2005-01-31 03:19:31 +00:00
Andrew Lenharth
c40d156dc9
fp to int and back conversion sequences
...
llvm-svn: 19944
2005-01-31 01:44:26 +00:00
Chris Lattner
ccf22fb182
Fix the regressions my User changes introduced. Apparently some parts of
...
LLVM make the very reasonable assumption that constant expressions will
have at least one operand! :)
llvm-svn: 19943
2005-01-31 01:11:13 +00:00
Chris Lattner
2ca79d339e
Rename variables to work with VC++'s hokey scoping rules.
...
llvm-svn: 19942
2005-01-31 00:10:58 +00:00
Chris Lattner
2977b857c2
Fix some scary bugs that VC++ detected.
...
llvm-svn: 19941
2005-01-31 00:10:45 +00:00
Chris Lattner
a1b39fa5ad
* Make some methods more const correct.
...
* Change the FunctionCalls and AuxFunctionCalls vectors into std::lists.
This makes many operations on these lists much more natural, and avoids
*exteremely* expensive copying of DSCallSites (e.g. moving nodes around
between lists, erasing a node from not the end of the vector, etc).
With a profile build of analyze, this speeds up BU DS from 25.14s to
12.59s on 176.gcc. I expect that it would help TD even more, but I don't
have data for it.
This effectively eliminates removeIdenticalCalls and children from the
profile, going from 6.53 to 0.27s.
llvm-svn: 19939
2005-01-30 23:51:02 +00:00
Andrew Lenharth
7141334f98
added fp extend and removed a forgotten assert in more than 6 arg support (should break somewhere else now :) ) and fix an incorrect asm sequence for indirect calls
...
llvm-svn: 19938
2005-01-30 20:42:36 +00:00
Jeff Cohen
391380ee97
Silence VC++ warnings about using 'this' in base member initializations.
...
llvm-svn: 19937
2005-01-30 17:54:12 +00:00
Chris Lattner
8e62f434cd
This code is really unreachable.
...
llvm-svn: 19934
2005-01-30 16:33:46 +00:00
Chris Lattner
bfa060c5d2
Fix warnings.
...
llvm-svn: 19933
2005-01-30 16:32:48 +00:00
Andrew Lenharth
918a29fc51
support for larger calls
...
llvm-svn: 19932
2005-01-30 00:35:27 +00:00
Chris Lattner
79a85fada1
Improve spelling
...
llvm-svn: 19931
2005-01-30 00:13:34 +00:00
Chris Lattner
f6c93e36c7
Improve conformance with the Misha spelling benchmark suite
...
llvm-svn: 19930
2005-01-30 00:09:23 +00:00
Tanya Lattner
5ca41e2b68
Make this work on systems where size_t == unsigned and where they are not
...
the same.
llvm-svn: 19929
2005-01-29 23:29:55 +00:00
Tanya Lattner
238cf92000
Make this work on systems where size_t is not the same as unsigned.
...
llvm-svn: 19928
2005-01-29 23:08:01 +00:00
Chris Lattner
fdec565f1f
Unbreak the build :(
...
llvm-svn: 19926
2005-01-29 19:27:28 +00:00
Chris Lattner
2f0a1108ff
Adjust to ilist changes.
...
Based on the ilist changes avoid allocating an entire Use object for the
end of the Use chain. This saves 8 bytes of memory for each Value allocated
in the program. For 176.gcc, this reduces us from 69.5M -> 66.0M, a 5.3%
memory savings.
llvm-svn: 19925
2005-01-29 18:43:28 +00:00
Chris Lattner
e6074aa08b
adjust to ilist changes.
...
llvm-svn: 19924
2005-01-29 18:41:25 +00:00
Chris Lattner
e5c7b9a215
Adjust to ilist changes.
...
llvm-svn: 19923
2005-01-29 18:41:12 +00:00
Chris Lattner
f84ecca5f3
Adjust to changes in ilist
...
llvm-svn: 19922
2005-01-29 18:41:00 +00:00
Chris Lattner
02ccc2d7a0
Rename createNode -> createSentinal.
...
Add a new method, destroySentinal, that is used to delete it (instead of
requiring use of delete.
llvm-svn: 19921
2005-01-29 18:40:19 +00:00
Chris Lattner
0174b52dd9
clean up comments
...
llvm-svn: 19920
2005-01-29 17:29:05 +00:00
Chris Lattner
e89f022ba7
This has been deprecated for long enough, nuke it.
...
llvm-svn: 19919
2005-01-29 17:27:26 +00:00