Commit Graph

22074 Commits

Author SHA1 Message Date
Chris Lattner c597b8a55e Make iostream #inclusion explicit
llvm-svn: 25514
2006-01-22 23:32:06 +00:00
Chris Lattner 6806c02380 Add explicit iostream #includes
llvm-svn: 25513
2006-01-22 23:19:18 +00:00
Chris Lattner 33081b4648 Make this more efficient in the following ways:
1. Do not statically construct a map when the program starts up, this
   is expensive and cannot be optimized.  Instead, create a list.
2. Do not insert entries for all function in the module into a hashmap
   that lives the full life of the compiler.

llvm-svn: 25512
2006-01-22 23:10:26 +00:00
Chris Lattner fdb379d52b This header should not pull in <iostream>
llvm-svn: 25511
2006-01-22 22:54:51 +00:00
Chris Lattner 03c032ce71 add explicit #includes of iostream
llvm-svn: 25510
2006-01-22 22:53:40 +00:00
Chris Lattner 469640e506 Add explicit #includes of <iostream>
llvm-svn: 25509
2006-01-22 22:53:01 +00:00
Chris Lattner 0d4ebfc15b Several non-functionality changing changes:
1. Use the varargs version of getOrInsertFunction to simplify code.
2. remove #include
3. Reduce the number of #ifdef's.
4. remove extraneous vertical whitespace.

llvm-svn: 25508
2006-01-22 22:35:08 +00:00
Jeff Cohen 5d129e7389 Visual Studio still has issues at being left out.
llvm-svn: 25507
2006-01-22 20:37:25 +00:00
Jeff Cohen b14a0874d5 Visual Studio neurotic about inconsistent class/struct usage.
llvm-svn: 25506
2006-01-22 20:36:43 +00:00
Chris Lattner e23928c67f Fix a bug in a recent refactor that caused a bunch of programs to miscompile
or the compiler to crash.

llvm-svn: 25503
2006-01-21 19:12:11 +00:00
Duraid Madina 4204e02fc6 insignificant, but next up is proper stack frame layout!
llvm-svn: 25497
2006-01-21 14:27:19 +00:00
Chris Lattner 44cab00045 Fix CodeGen/PowerPC/2006-01-20-ShiftPartsCrash.ll
llvm-svn: 25496
2006-01-21 04:27:00 +00:00
Chris Lattner 48021ed4d4 new testcase that crashes llc for ppc
llvm-svn: 25495
2006-01-21 04:25:07 +00:00
Evan Cheng 468fecdc99 Rename fcmovae to fcmovnb and fcmova to fcmovnbe (following Intel manual).
Some assemblers can't recognize the aliases.

llvm-svn: 25494
2006-01-21 02:55:41 +00:00
Evan Cheng 739a6a456e Do some code refactoring on Jim's scheduler in preparation of the new list
scheduler.

llvm-svn: 25493
2006-01-21 02:32:06 +00:00
Chris Lattner 9436aa74a9 trivial formatting improvement: don't insert extra blank lines between .comm
vars.

llvm-svn: 25492
2006-01-21 01:35:26 +00:00
Jim Laskey 3d8f3a55b7 Simplify search for abbreviations.
llvm-svn: 25491
2006-01-21 01:13:18 +00:00
Jim Laskey 45900baadb Correct some simple errors.
llvm-svn: 25490
2006-01-21 00:59:54 +00:00
Jim Laskey b17434dc1d Right size integer values before emitting.
llvm-svn: 25489
2006-01-20 21:02:36 +00:00
Robert Bocchino 4b41c8e929 Make the C writer work with packed types. printContainedStructs is
still not quite right and will be fixed later.

llvm-svn: 25488
2006-01-20 20:43:57 +00:00
Jim Laskey 7a3e9aa282 Reworked how Dwarf debug info entries and abbreviations are handled. Added
pubnames and debuy str sections.

llvm-svn: 25487
2006-01-20 20:34:06 +00:00
Duraid Madina f54c9395e7 remove RET hack, add proper support for rets (watching out for ret voids)
llvm-svn: 25486
2006-01-20 20:24:31 +00:00
Chris Lattner eca87342b4 Simplify CWriter::printContainedStructs, also allowing it to work with
PackedTypes as a side-effect.

llvm-svn: 25485
2006-01-20 18:57:03 +00:00
Chris Lattner 335b46dd20 LowerReturn now doesn't have to handle f32 returns.
llvm-svn: 25484
2006-01-20 18:41:25 +00:00
Chris Lattner 15afe462a8 remove some unintentionally committed code
llvm-svn: 25483
2006-01-20 18:40:10 +00:00
Chris Lattner 222ceabbee If the target doesn't support f32 natively, insert the FP_EXTEND in target-indep
code, so that the LowerReturn code doesn't have to handle it.

llvm-svn: 25482
2006-01-20 18:38:32 +00:00
Robert Bocchino 69d621387c Fixed InitializeMemory to handle ConstantPacked.
llvm-svn: 25481
2006-01-20 18:18:40 +00:00
Chris Lattner 61590dd739 Remove dead expression.
llvm-svn: 25480
2006-01-20 18:04:43 +00:00
Chris Lattner 06784ff9ab Don't use invalidated use_iterator's. This fixes a crash compiling povray
llvm-svn: 25479
2006-01-20 18:01:41 +00:00
Duraid Madina 4026e12e85 fix sext breakage: now we correctly deal with functions that return
int vs uint

llvm-svn: 25478
2006-01-20 16:10:05 +00:00
Jeff Cohen 8ca86aa918 Update Windows version of config.h to note availability of floor/floorf/ceil/ceilf.
Also pulled Windows-specific modifications to config.h.in to a separate file, so
that changes to it trigger regeneration of config.h (which doesn't happen when the
custom build step for it changes).

llvm-svn: 25477
2006-01-20 04:34:45 +00:00
Duraid Madina 9a8fb20689 fix storing bools! eek!
llvm-svn: 25476
2006-01-20 03:40:25 +00:00
Reid Spencer 855d31f847 Add a test case for PR697, ensuring the linker works with ConstantPacked.
llvm-svn: 25475
2006-01-20 01:31:58 +00:00
Evan Cheng 0c5de2864f Stop doing that accidental commit.
llvm-svn: 25474
2006-01-20 01:14:05 +00:00
Evan Cheng cce748d316 A few more SH{L|R}D peepholes.
llvm-svn: 25473
2006-01-20 01:13:30 +00:00
Evan Cheng 9a4ab9660f Added a load folding bug test case.
llvm-svn: 25472
2006-01-20 01:12:23 +00:00
Evan Cheng e272b4ec17 Prevent folding of a node with multiple uses if the node already folds a load!
Here is an example where the load ended up being done twice:

%A = global uint 0

uint %test(uint %B, ubyte %C) {
	%tmp = load uint *%A;
	%X = shl uint %tmp, ubyte %C
	%Cv = sub ubyte 32, %C
	%Y = shr uint %B, ubyte %Cv
	%Z = or uint %Y, %X
	store uint %Z, uint* %A
	ret uint %Z
}

==>

	subl $4, %esp
	movl %ebx, (%esp)
	movl 8(%esp), %edx
	movl A, %eax
	movb 12(%esp), %bl
	movb %bl, %cl
	shldl %cl, %edx, %eax
	movb %bl, %cl
	shldl %cl, %edx, A
	movl (%esp), %ebx
	addl $4, %esp
	ret

llvm-svn: 25471
2006-01-20 01:11:03 +00:00
Robert Bocchino 027c18da98 ConstantFoldLoadThroughGEPConstantExpr wasn't handling pointers to
packed types correctly.

llvm-svn: 25470
2006-01-19 23:53:23 +00:00
Evan Cheng 9c30bd5e25 Didn't mean to commit the last one.
llvm-svn: 25469
2006-01-19 23:27:08 +00:00
Evan Cheng 8591b9f254 Added i16 SH{L|R}D patterns.
llvm-svn: 25468
2006-01-19 23:26:24 +00:00
Chris Lattner 93bde9cbf7 add support for ConstantPacked to the linker
llvm-svn: 25467
2006-01-19 23:15:58 +00:00
Chris Lattner 823a00a8b5 Don't include generated lexer .cpp files.
llvm-svn: 25466
2006-01-19 22:01:51 +00:00
Evan Cheng 9e7fb7b2fc Bug fix. Flag operand number may be calculated incorrectly.
llvm-svn: 25465
2006-01-19 21:57:10 +00:00
Andrew Lenharth 5df67bcd50 typo
llvm-svn: 25464
2006-01-19 21:10:38 +00:00
Andrew Lenharth 688ea707d8 nasty nasty patterns
llvm-svn: 25463
2006-01-19 20:49:37 +00:00
Duraid Madina 550d8ec1ad fix boolean XOR (which fixes up comparisons..)
llvm-svn: 25462
2006-01-19 15:18:56 +00:00
Duraid Madina 4d69a01254 BOOM!
llvm-svn: 25460
2006-01-19 14:14:11 +00:00
Duraid Madina bcbcfac6ea click click
llvm-svn: 25459
2006-01-19 14:13:11 +00:00
Evan Cheng a15731cd50 Use pattern information to determine whether the use expects this
instruction to produce a result. e.g MUL8m, the instruction does not
produce a explicit result. However it produces an implicit result in
AL which would be copied to a temp. The root operator of the matching
pattern is a mul so the use would expect it to produce a result.

llvm-svn: 25458
2006-01-19 10:12:58 +00:00
Evan Cheng 3d2cc7e2e9 Avoid generating a redundant setcc.
llvm-svn: 25457
2006-01-19 08:52:46 +00:00