1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 20:43:44 +02:00
Commit Graph

17602 Commits

Author SHA1 Message Date
Chris Lattner
e7d2b05fb0 Add a new method to make it easy to update graphs.
llvm-svn: 20194
2005-02-15 18:40:55 +00:00
Chris Lattner
3c51e18df5 Bug fixed
llvm-svn: 20193
2005-02-15 07:02:12 +00:00
Chris Lattner
bf72146607 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
823731dcd6 Bug fixed.
llvm-svn: 20190
2005-02-15 05:28:06 +00:00
Chris Lattner
dd27ae73c6 New testcase for PR510.
llvm-svn: 20189
2005-02-15 05:18:05 +00:00
Chris Lattner
18ae182bec wow, interesting typo :)
llvm-svn: 20187
2005-02-14 22:58:38 +00:00
Chris Lattner
9497a9daca 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
fcfc76189d 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
51c55602c9 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
43b14db4d9 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
2dc8d8c026 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
0a61115d67 Fix the second bug attached to PR504.
llvm-svn: 20181
2005-02-14 20:11:45 +00:00
Chris Lattner
786b30e148 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
7b6a863954 Write out single characters as chars, not strings.
llvm-svn: 20179
2005-02-14 18:52:35 +00:00
Chris Lattner
cd505a924e Bugs fixed
llvm-svn: 20178
2005-02-14 16:57:55 +00:00
Chris Lattner
ef836a918e 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
907f3d8b67 new testcase
llvm-svn: 20176
2005-02-14 16:45:38 +00:00
Reid Spencer
6f4a056368 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
f8b966ff96 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
8be0d67b83 Give props to Andrew for the Alpha backend
llvm-svn: 20173
2005-02-14 09:07:23 +00:00
Andrew Lenharth
f023ce8d97 fix setcc on floats, fixes singlesource:pi, perhaps others
llvm-svn: 20172
2005-02-14 05:41:43 +00:00
Chris Lattner
8a13d9e16f new testcase for PR509
llvm-svn: 20171
2005-02-14 02:54:41 +00:00
Chris Lattner
efacfe896c Fix the llvm bootstrap
llvm-svn: 20170
2005-02-13 23:37:09 +00:00
Chris Lattner
c2aa286697 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
405367eb58 Move helper function here.
llvm-svn: 20168
2005-02-13 23:13:47 +00:00
Chris Lattner
2e22b6d55f Conform to the documented interface by null terminating argument lists!
llvm-svn: 20167
2005-02-13 23:10:45 +00:00
Chris Lattner
f745e933a6 Make sure to null terminate argument lists!
llvm-svn: 20166
2005-02-13 23:02:34 +00:00
Chris Lattner
535796ff26 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
b84d6c75a0 Add some updates
llvm-svn: 20164
2005-02-13 22:27:24 +00:00
Chris Lattner
016ad5b858 SuSE 3.3.3 is also borken.
llvm-svn: 20163
2005-02-13 22:20:49 +00:00
Chris Lattner
4d06277d43 Do not replace ostream << Module*, only ostream << Module&.
llvm-svn: 20157
2005-02-13 19:15:01 +00:00
Chris Lattner
8080f15dd8 Print the module, not the pointer.
llvm-svn: 20156
2005-02-13 19:12:31 +00:00
Reid Spencer
a7a01f13df 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
0ac02cee3c Nuke blank line.
llvm-svn: 20154
2005-02-13 17:54:21 +00:00
Chris Lattner
1194167daa 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
1788cf35ab 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
fdc746ac38 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
ce285e1b78 Include local time on the web page for start/end times.
llvm-svn: 20150
2005-02-13 16:08:30 +00:00
Chris Lattner
da614a0e0b Print something useful for gccld -v with an archive.
llvm-svn: 20148
2005-02-13 15:26:14 +00:00
Reid Spencer
9b3fe42066 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
63d47e902f 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
4d1409f15a 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
5a93d1b095 non-ieee arith crashes passes on alpha
llvm-svn: 20144
2005-02-13 03:41:10 +00:00
Andrew Lenharth
e398f7797e try to do better match for i32 adds
llvm-svn: 20143
2005-02-12 21:11:17 +00:00
Andrew Lenharth
089b56ae58 make FP conversion more conservative (matches gcc)
llvm-svn: 20142
2005-02-12 21:10:58 +00:00
Andrew Lenharth
b9c44170a5 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
53fb0765cc Add note about broken GCC
llvm-svn: 20138
2005-02-12 20:11:13 +00:00
Andrew Lenharth
a12e5330bf added sign extend for boolean
llvm-svn: 20137
2005-02-12 19:35:12 +00:00
Chris Lattner
3fce19376e Document the newly generalized model for constant globals.
llvm-svn: 20136
2005-02-12 19:30:21 +00:00
Chris Lattner
6e3279c0b4 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