Commit Graph

22946 Commits

Author SHA1 Message Date
Evan Cheng 93e4865d4b Remove an unused function parameter.
llvm-svn: 26221
2006-02-15 22:12:35 +00:00
Chris Lattner e5cb76d744 make "trivial" unswitching significantly more general. It can now handle
this for example:

  for (j = 0; j < N; ++j) {     // trivial unswitch
    if (C)
      P[i+j] = 0;
  }

turning it into the obvious code without bothering to duplicate an empty loop.

llvm-svn: 26220
2006-02-15 22:03:36 +00:00
Evan Cheng 6781b6e62e Turn a memcpy from string constant into a series of stores of constant values.
llvm-svn: 26219
2006-02-15 21:59:04 +00:00
Andrew Lenharth 47da60130a fix a bunch of alpha regressions. see bug 709
llvm-svn: 26218
2006-02-15 21:13:37 +00:00
Chris Lattner 6afb5587da new test
llvm-svn: 26217
2006-02-15 19:52:06 +00:00
Jim Laskey 2eea436192 Should not combine ISD::LOCATIONs until we have scheme to remove from
MachineDebugInfo tables.

llvm-svn: 26216
2006-02-15 19:34:44 +00:00
Chris Lattner 65152d80ec Checking the wrong value. This caused us to emit silly code like
Y = seteq bool X, true
instead of just using X :)

llvm-svn: 26215
2006-02-15 19:05:52 +00:00
Jim Laskey 1fcabe2016 Code sufficiently protected against this test.
llvm-svn: 26213
2006-02-15 17:20:59 +00:00
Duraid Madina 8604de8bec reverting previous change, will add support for other compilers later
llvm-svn: 26211
2006-02-15 07:57:42 +00:00
Chris Lattner a7c9234fde Convert over to the new way of handling lex/bison checked into cvs
llvm-svn: 26209
2006-02-15 07:26:07 +00:00
Chris Lattner 3e15eac81b Check the new form for bison output into CVS
llvm-svn: 26208
2006-02-15 07:24:01 +00:00
Chris Lattner b0240b2f4a bugfixes
llvm-svn: 26207
2006-02-15 07:23:05 +00:00
Chris Lattner f20e61f003 Convert this over to work with the new makefiles
llvm-svn: 26206
2006-02-15 07:22:58 +00:00
Chris Lattner c38a9755f1 Convert the bison-output-checked-into-cvs makefile handling stuff to work
like the flex stuff, which actually works when people do cvs updates and
get conflicts in the updated checked in file.

llvm-svn: 26205
2006-02-15 07:16:57 +00:00
Chris Lattner 6db414e8de Sparc actually *DOES* have a directive for emitting zeros. In fact, it requires
it, because this:

.bss
X:
.byte 0

results in the assembler warning: "initialization in bss segment".  Annoying.

llvm-svn: 26204
2006-02-15 07:07:14 +00:00
Chris Lattner 7edc87279c random lexer change to test the makefile updating stuff
llvm-svn: 26203
2006-02-15 07:02:59 +00:00
Chris Lattner a9d0b5800a Fix SingleSource/Regression/C/2004-08-12-InlinerAndAllocas.c on Sparc.
The ABI specifies that there is a register save area at the bottom of the
stack, which means the actual used pointer needs to be an offset from
the subtracted value.

llvm-svn: 26202
2006-02-15 06:41:34 +00:00
Duraid Madina cbbc184a2e HP aCC (and a bunch of other compilers, no doubt) don't share
GCC's syntax for auto-dependency generation stuff. This should
be changed to be disabling dependency stuff unless GCC/ICC is
found.

llvm-svn: 26201
2006-02-15 03:23:26 +00:00
Duraid Madina 1f898afd3d oops, I meant this
llvm-svn: 26200
2006-02-15 03:20:16 +00:00
Duraid Madina aa9cca395d zap
llvm-svn: 26199
2006-02-15 03:16:52 +00:00
Duraid Madina 09518d0c73 previously, configure would die if GCC or ICC was not found. Now it'll
go through, but we do want to know if we're using GCC/ICC since they
share certain funky command line options (for dependency generation
stuff)

llvm-svn: 26198
2006-02-15 03:15:55 +00:00
Evan Cheng 7a6c21ac26 Remove an entry.
llvm-svn: 26197
2006-02-15 01:56:48 +00:00
Evan Cheng 2d23c9f1ab Use .zerofill on x86/darwin.
llvm-svn: 26196
2006-02-15 01:56:23 +00:00
Evan Cheng e2038bdeee Lower memcpy with small constant size operand into a series of load / store
ops.

llvm-svn: 26195
2006-02-15 01:54:51 +00:00
Chris Lattner 01db04efb0 more refactoring, no functionality change.
llvm-svn: 26194
2006-02-15 01:44:42 +00:00
Evan Cheng aacc4c3b4c cvtsd2ss / cvtss2sd encoding bug.
llvm-svn: 26193
2006-02-15 00:31:03 +00:00
Evan Cheng 665c26ab40 movaps, movapd encoding bug.
llvm-svn: 26192
2006-02-15 00:11:37 +00:00
Chris Lattner b0cbe7106e pull some code out into a function
llvm-svn: 26191
2006-02-15 00:07:43 +00:00
Chris Lattner 684f911241 new testcase that broke unswitch due to loopsimplify not doing the right thing.
llvm-svn: 26190
2006-02-14 23:07:29 +00:00
Chris Lattner 9c5693fb2a Canonicalize inner loops before outer loops. Inner loop canonicalization
can provide work for the outer loop to canonicalize.

This fixes a case that breaks unswitching.

llvm-svn: 26189
2006-02-14 23:06:02 +00:00
Evan Cheng 0451499b3c Doh again!
llvm-svn: 26188
2006-02-14 23:05:54 +00:00
Chris Lattner cffbbee8d1 When splitting exit edges to canonicalize loops, make sure to put the new
block in the appropriate loop nest.

Third time is the charm, right?

llvm-svn: 26187
2006-02-14 22:34:08 +00:00
Chris Lattner e3c793a71a new note
llvm-svn: 26186
2006-02-14 22:19:54 +00:00
Chris Lattner b134520b86 If we have zero initialized data with external linkage, use .zerofill to
emit it (instead of .space), saving a bit of space in the .o file.

For example:
int foo[100];
int bar[100] = {};

when compiled with C++ or -fno-common results in shrinkage from 1160 to 360
bytes of space.  The X86 backend can also do this on darwin.

llvm-svn: 26185
2006-02-14 22:18:23 +00:00
Jim Laskey ebb50a61d2 Using wrong DW_FORM.
llvm-svn: 26184
2006-02-14 22:01:57 +00:00
Evan Cheng f84774ed46 Don't special case XS, XD prefixes.
llvm-svn: 26183
2006-02-14 21:52:51 +00:00
Evan Cheng fb7b5ef74b Bug fix: XS, XD prefixes were being emitted twice.
XMM registers were not being handled.

llvm-svn: 26182
2006-02-14 21:45:24 +00:00
Chris Lattner 84fb09eba4 Make sure that weak functions are aligned properly
llvm-svn: 26181
2006-02-14 20:42:33 +00:00
Evan Cheng 43b72f4421 Duh
llvm-svn: 26180
2006-02-14 20:37:37 +00:00
Evan Cheng ad8c20cd2b Remove -disable-x86-sse
llvm-svn: 26179
2006-02-14 20:30:14 +00:00
Chris Lattner 94f936d8ef add an assert
llvm-svn: 26178
2006-02-14 20:14:17 +00:00
Evan Cheng db2a7a736a Keep to < 80 cols
llvm-svn: 26177
2006-02-14 20:12:38 +00:00
Evan Cheng 038521ef76 Missed a break so memcpy cases fell through to memset. Doh.
llvm-svn: 26176
2006-02-14 19:45:56 +00:00
Evan Cheng d502610604 Fixed a build breakage.
llvm-svn: 26175
2006-02-14 09:11:59 +00:00
Evan Cheng 4b40a42653 Rename maxStoresPerMemSet to maxStoresPerMemset, etc.
llvm-svn: 26174
2006-02-14 08:38:30 +00:00
Evan Cheng f976d79f78 Add a entry.
llvm-svn: 26173
2006-02-14 08:25:32 +00:00
Evan Cheng 6a37456d73 Set maxStoresPerMemSet to 16. Ditto for maxStoresPerMemCpy and
maxStoresPerMemMove. Although the last one is not used.

llvm-svn: 26172
2006-02-14 08:25:08 +00:00
Evan Cheng 81fcea8aa2 Expand memset dst, c, size to a series of stores if size falls below the
target specific theshold, e.g. 16 for x86.

llvm-svn: 26171
2006-02-14 08:22:34 +00:00
Evan Cheng 40b6eb9973 Enable SSE (for the right subtargets)
llvm-svn: 26169
2006-02-14 08:07:58 +00:00
Jeff Cohen 5cc208f9a9 Match changes to unix build system.
llvm-svn: 26167
2006-02-14 06:12:08 +00:00