Chris Lattner
7a0c775044
Add a sanity check.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20195 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-15 18:48:48 +00:00
Chris Lattner
d672ab936f
Add a new method to make it easy to update graphs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20194 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-15 18:40:55 +00:00
Chris Lattner
5ad907a5e1
Bug fixed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20193 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-15 07:02:12 +00:00
Chris Lattner
8399e02a2c
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;
}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20191 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-15 05:52:14 +00:00
Chris Lattner
4a9dc294d6
Bug fixed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20190 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-15 05:28:06 +00:00
Chris Lattner
8d358174da
New testcase for PR510.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20189 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-15 05:18:05 +00:00
Chris Lattner
a5d803e248
wow, interesting typo :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20187 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-14 22:58:38 +00:00
Chris Lattner
0a8794d043
execution tests shouldn't go here. This was killing the PPC nightly tester.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20186 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-14 21:54:32 +00:00
Reid Spencer
9a8398e7a6
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20185 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-14 21:54:08 +00:00
Chris Lattner
0798056b28
Fix a bug in my previous change to this, which broke the build on sparcs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20184 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-14 21:42:10 +00:00
Chris Lattner
27e192196f
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20183 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-14 21:40:26 +00:00
Chris Lattner
eb28797506
A testcase that LLC produces illegal asm on for Prolangs-C/cdecl now.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20182 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-14 21:31:41 +00:00
Chris Lattner
8a7980b5ea
Fix the second bug attached to PR504.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20181 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-14 20:11:45 +00:00
Chris Lattner
a92d12c053
Work around GCC PR19958, which causes programs to sometimes crash after
...
printing help output or version info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20180 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-14 19:17:29 +00:00
Misha Brukman
b70aaa62b6
Write out single characters as chars, not strings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20179 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-14 18:52:35 +00:00
Chris Lattner
f54e9cb739
Bugs fixed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20178 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-14 16:57:55 +00:00
Chris Lattner
9d30e22da0
Implement CodeGen/CBackend/2005-02-14-VolatileOperations.ll
...
Volatile loads and stores need to emit volatile pointer operations in C.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20177 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-14 16:47:52 +00:00
Chris Lattner
ee6cfda17c
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20176 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-14 16:45:38 +00:00
Reid Spencer
f1e6e84c66
Update makefile to use PROJ_* makefile variables intead of BUILD_* as
...
required by changes to the Makefile.rules. Patch contributed by Vladimir
Merzliakov.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20175 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-14 16:04:28 +00:00
Reid Spencer
cf61b124a8
Update comments to reflect new variable names. Patch contributed by
...
Vladimir Merzliakov.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20174 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-14 16:02:19 +00:00
Misha Brukman
e9b0a02579
Give props to Andrew for the Alpha backend
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20173 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-14 09:07:23 +00:00
Andrew Lenharth
572af908e4
fix setcc on floats, fixes singlesource:pi, perhaps others
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20172 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-14 05:41:43 +00:00
Chris Lattner
d2beaa63b3
new testcase for PR509
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20171 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-14 02:54:41 +00:00
Chris Lattner
550c57cb30
Fix the llvm bootstrap
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20170 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13 23:37:09 +00:00
Chris Lattner
0c09e5fb91
Move private helper function into the only .cpp file that uses it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20169 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13 23:14:06 +00:00
Chris Lattner
45495c5248
Move helper function here.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20168 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13 23:13:47 +00:00
Chris Lattner
7456e3ce38
Conform to the documented interface by null terminating argument lists!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20167 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13 23:10:45 +00:00
Chris Lattner
ed5fa58a07
Make sure to null terminate argument lists!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20166 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13 23:02:34 +00:00
Chris Lattner
946af52687
If errno is zero strerror_r does not modify the buffer, leaving it unterminated.
...
This causes garbage to be printed out after error messages.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20165 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13 22:46:37 +00:00
Chris Lattner
2e12c745ea
Add some updates
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20164 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13 22:27:24 +00:00
Chris Lattner
8e64f15d3c
SuSE 3.3.3 is also borken.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20163 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13 22:20:49 +00:00
Chris Lattner
8a1573f823
Do not replace ostream << Module*, only ostream << Module&.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20157 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13 19:15:01 +00:00
Chris Lattner
a88155dabf
Print the module, not the pointer.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20156 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13 19:12:31 +00:00
Reid Spencer
818827d734
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()"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20155 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13 18:12:20 +00:00
Chris Lattner
1117bb0e99
Nuke blank line.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20154 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13 17:54:21 +00:00
Chris Lattner
12945acd4a
Minor cleanup. No need to explicitly tell the compiler the template arguments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20153 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13 17:50:16 +00:00
Chris Lattner
b52f1c2950
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20152 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13 17:48:18 +00:00
Chris Lattner
e5cea5eb89
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20151 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13 17:42:11 +00:00
Chris Lattner
004e19e38d
Include local time on the web page for start/end times.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20150 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13 16:08:30 +00:00
Chris Lattner
50c301b9bb
Print something useful for gccld -v with an archive.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20148 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13 15:26:14 +00:00
Reid Spencer
ef11c5e64d
Fix PR506:
...
* Use error returned from Archive::OpenAndLoad
* Make sure only std::string is thrown so it gets caught and printed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20147 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13 07:34:17 +00:00
Chris Lattner
4dc534c7fe
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. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20146 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13 04:37:18 +00:00
Chris Lattner
afc0dc7184
Add a new replaceSymbolicValuesWithConcrete method to the SCEV class,
...
adjust const'ness a bit to be more correct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20145 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13 04:34:51 +00:00
Andrew Lenharth
39bcf5b8d0
non-ieee arith crashes passes on alpha
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20144 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13 03:41:10 +00:00
Andrew Lenharth
093f32785b
try to do better match for i32 adds
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20143 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-12 21:11:17 +00:00
Andrew Lenharth
9b1e659cd6
make FP conversion more conservative (matches gcc)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20142 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-12 21:10:58 +00:00
Andrew Lenharth
7536eeabf6
oops, I was sure this had already gond though the nightly tester
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20141 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-12 20:42:09 +00:00
Chris Lattner
25e7b16143
Add note about broken GCC
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20138 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-12 20:11:13 +00:00
Andrew Lenharth
ebce50464a
added sign extend for boolean
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20137 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-12 19:35:12 +00:00
Chris Lattner
3689a34489
Document the newly generalized model for constant globals.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20136 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-12 19:30:21 +00:00