1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
Commit Graph

21931 Commits

Author SHA1 Message Date
Robert Bocchino
a1ce64b534 Reader support for the insertelement operation.
llvm-svn: 25404
2006-01-17 20:06:35 +00:00
Robert Bocchino
30daf8a531 Lexer and parser support for the insertelement operation.
llvm-svn: 25403
2006-01-17 20:06:25 +00:00
Robert Bocchino
a5ec2815a1 Instruction and constant expression definitions for the insertelement
operation.

llvm-svn: 25402
2006-01-17 20:05:59 +00:00
Evan Cheng
b456305355 Bug fix: missing LegalizeOp() on newly created nodes.
llvm-svn: 25401
2006-01-17 19:47:13 +00:00
Evan Cheng
a9c4d32e7e Suppress "no newline at end of file" warnings.
llvm-svn: 25400
2006-01-17 19:21:01 +00:00
Jim Laskey
a86da88ba3 Misc. errors.
llvm-svn: 25399
2006-01-17 19:12:24 +00:00
Chris Lattner
ddbf4fba37 Clean up the FFS optimization code, and make it correctly create the appropriate
unsigned llvm.cttz.* intrinsic, fixing the 2005-05-11-Popcount-ffs-fls regression
last night.

llvm-svn: 25398
2006-01-17 18:27:17 +00:00
Jim Laskey
0c4202b0ba Adding basic support for Dwarf line number debug information.
I promise to keep future commits smaller.

llvm-svn: 25396
2006-01-17 17:31:53 +00:00
Jim Laskey
981ed2b9f4 Adding UniqueVector.
llvm-svn: 25395
2006-01-17 17:29:20 +00:00
John Criswell
ab12f83120 Regenerated the Lex and Yacc output files on Linux. It seems that our
Linux machines don't like the source code generated on MacOS X for some
reason.

llvm-svn: 25394
2006-01-17 17:01:34 +00:00
Jim Laskey
38e4ff875d Reduce memory consumption and force (somewhat) access to entries via ID.
llvm-svn: 25393
2006-01-17 16:29:58 +00:00
Evan Cheng
e840301269 Emit a type matching check for ComplexPatterns.
llvm-svn: 25392
2006-01-17 07:36:41 +00:00
Evan Cheng
1e112de44a Zero extending load from i1 to i8.
llvm-svn: 25391
2006-01-17 07:02:46 +00:00
Chris Lattner
ea1122e334 Ensure that the CFE always emits intrinsics in their unsigned version, not with signed operands
llvm-svn: 25390
2006-01-17 06:24:01 +00:00
Jeff Cohen
c4b4091108 Visual Studio still has issues with being left out.
llvm-svn: 25389
2006-01-17 05:13:22 +00:00
Duraid Madina
c667c360e3 oops, this shouldn't have gotten in
llvm-svn: 25388
2006-01-17 03:09:48 +00:00
Evan Cheng
759a96e1a3 SSE does not support i64 SINT_TO_FP (FP stack doesn't either, but we custom
expand it), so ask legalizer to expand i32 UINT_TO_FP.

llvm-svn: 25386
2006-01-17 02:32:49 +00:00
Duraid Madina
365cb4f82d use proper (82-bit) spills/fills when spilling FP regs, so that
divides don't get broken. this fixes obsequi, smg2000, and probably
a bunch of other stuff (tm)

llvm-svn: 25385
2006-01-17 02:04:52 +00:00
Duraid Madina
f9cc57d93b fixing divides
llvm-svn: 25383
2006-01-17 01:19:49 +00:00
Chris Lattner
84370bce71 Revert this, I didn't mean to commit it
llvm-svn: 25382
2006-01-17 00:40:24 +00:00
Evan Cheng
53520a8cee Added a FIXME comment about why FST is currently flagged to fpGETRESULT.
llvm-svn: 25381
2006-01-17 00:37:42 +00:00
Evan Cheng
3a7f44a3b6 Yet another getTargetNode() variant. I promise one of these days I'll fix
tblgen so this is unnecessary.

llvm-svn: 25380
2006-01-17 00:32:38 +00:00
Chris Lattner
111de6b5cf Add support for programs with a null argv[0]
llvm-svn: 25379
2006-01-17 00:32:28 +00:00
Evan Cheng
3ce28c990a Bug fixes: fpGETRESULT should produces a flag result and X86ISD::FST should
read a flag.

llvm-svn: 25378
2006-01-17 00:19:47 +00:00
Jim Laskey
bf73e50cc5 Redundant inline keyword.
llvm-svn: 25377
2006-01-16 23:44:03 +00:00
Jim Laskey
9f2391c897 UniqueVector template provides a means of enumerating objects uniquely.
llvm-svn: 25376
2006-01-16 23:29:43 +00:00
Evan Cheng
e678b39014 More typo's
llvm-svn: 25375
2006-01-16 23:26:53 +00:00
Evan Cheng
f7c719fe10 Some typo's
llvm-svn: 25374
2006-01-16 22:48:46 +00:00
Chris Lattner
4726c98606 like bswap, the ct* intrinsics require unsigned operands
llvm-svn: 25373
2006-01-16 22:38:59 +00:00
Chris Lattner
80ff83125b Consistency
llvm-svn: 25372
2006-01-16 22:34:14 +00:00
Andrew Lenharth
b2671cf884 fix short immediate loads
llvm-svn: 25371
2006-01-16 21:41:39 +00:00
Andrew Lenharth
6c89d964ca this is fixed
llvm-svn: 25370
2006-01-16 21:22:42 +00:00
Andrew Lenharth
87cf023175 stack and rpcc
llvm-svn: 25369
2006-01-16 21:22:38 +00:00
Evan Cheng
de33ca2831 Fix FP_TO_INT**_IN_MEM lowering.
llvm-svn: 25368
2006-01-16 21:21:29 +00:00
Reid Spencer
c14ea0afdf There is no llvm.bswap.i8, need at least 2 bytes to swap.
llvm-svn: 25367
2006-01-16 21:14:01 +00:00
Reid Spencer
3cecd3c4cf For PR411:
This patch is an incremental step towards supporting a flat symbol table.
It de-overloads the intrinsic functions by providing type-specific intrinsics
and arranging for automatically upgrading from the old overloaded name to
the new non-overloaded name. Specifically:
  llvm.isunordered -> llvm.isunordered.f32, llvm.isunordered.f64
  llvm.sqrt -> llvm.sqrt.f32, llvm.sqrt.f64
  llvm.ctpop -> llvm.ctpop.i8, llvm.ctpop.i16, llvm.ctpop.i32, llvm.ctpop.i64
  llvm.ctlz -> llvm.ctlz.i8, llvm.ctlz.i16, llvm.ctlz.i32, llvm.ctlz.i64
  llvm.cttz -> llvm.cttz.i8, llvm.cttz.i16, llvm.cttz.i32, llvm.cttz.i64
New code should not use the overloaded intrinsic names. Warnings will be
emitted if they are used.

llvm-svn: 25366
2006-01-16 21:12:35 +00:00
Reid Spencer
ea1bec59db For PR411:
This file makes the helper functions for auto-upgrade of llvm assembly and
bytecode more accessible. This is part of de-overloading of intrinsic
functions to support the flat symbol table (no type planes).

llvm-svn: 25365
2006-01-16 21:06:01 +00:00
Andrew Lenharth
0f185bc2ee Friendly names
llvm-svn: 25364
2006-01-16 19:53:25 +00:00
Chris Lattner
12d9016774 fix a crash due to missing parens
llvm-svn: 25363
2006-01-16 19:47:21 +00:00
Chris Lattner
88572bb5c4 add notes from my *other* email acct.
llvm-svn: 25362
2006-01-16 17:58:54 +00:00
Chris Lattner
62ab456f6b transfer some notes from my email to somewhere useful.
llvm-svn: 25361
2006-01-16 17:53:00 +00:00
Chris Lattner
8650cec8bb Fix these testcases :(
Apparently Andrew hasn't implemented ReadCycleCounter in the new isel and
renamed ornot to eqv

llvm-svn: 25360
2006-01-16 16:34:39 +00:00
Chris Lattner
51c2632013 Add a couple very minor tweaks
llvm-svn: 25359
2006-01-16 16:31:40 +00:00
Duraid Madina
d359468147 fixing divides: FP should now be 100%, and integers are fine too
unless you try to div/mod 0 by anything, in which case you will
get some cute number, and not 0, which is bad.

llvm-svn: 25358
2006-01-16 14:33:04 +00:00
Nate Begeman
ea80828ef2 Constant fold ctpop/ctlz/cttz, and a couple other small cleanups
llvm-svn: 25357
2006-01-16 08:07:10 +00:00
Nate Begeman
61d6a364ed Expand case for 64b Legalize, even though no one should end up using this
(itanium supports bswap natively, alpha should custom lower it using the
VAX floating point swapload, ha ha).

llvm-svn: 25356
2006-01-16 07:59:13 +00:00
Nate Begeman
d98be53c67 Add BSWAP stuff to intrinsic lowering for CBE & friends.
llvm-svn: 25355
2006-01-16 07:57:00 +00:00
Nate Begeman
5395fd5062 Fix up 'adding an intrinsic' section a bit, first draft of 'adding a new
sdnode' section.

llvm-svn: 25354
2006-01-16 07:54:23 +00:00
Duraid Madina
12da32f440 fix division! again!! pattern isel, prepare to die.
llvm-svn: 25353
2006-01-16 06:33:38 +00:00
Chris Lattner
1a1c43d70c Silly Sparc is big endian. If we have to load args out of incoming stack slots
that are smaller than an int, make sure to adjust the frame pointer to take
this into consideration.

llvm-svn: 25351
2006-01-16 01:40:00 +00:00