Commit Graph

17446 Commits

Author SHA1 Message Date
Chris Lattner
2ee51cbeb8 Instead of doing a manual comparison loop, just use memcmp, thanks to JohnC
for the suggestion! :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20203 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-15 22:12:10 +00:00
Chris Lattner
e4b6a86852 Make this more efficient now that we know both files are the same length.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20202 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-15 22:01:43 +00:00
Misha Brukman
1e1a99fffa Fix spelling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20201 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-15 21:59:53 +00:00
Reid Spencer
45d55641fa 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20200 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-15 21:47:02 +00:00
Andrew Lenharth
adf75775fa add Alpha to llc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20198 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-15 21:14:09 +00:00
Chris Lattner
7a823bd01f 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20197 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-15 20:26:49 +00:00
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