Chris Lattner
fd538f8ee9
fix some bugs in tutorial, patch by Erick Tryzelaar
...
llvm-svn: 47481
2008-02-22 17:09:39 +00:00
Anton Korobeynikov
5eaa8e774e
Unbreak build for VC2008. Patch by Argiris Kirtzidis!
...
llvm-svn: 47480
2008-02-22 10:11:21 +00:00
Anton Korobeynikov
ca51f9e5f0
Provide __main hooks for cygwin & mingw32
...
llvm-svn: 47479
2008-02-22 10:08:31 +00:00
Zhou Sheng
0742fbfedf
Fixed a typo.
...
llvm-svn: 47478
2008-02-22 10:00:35 +00:00
Evan Cheng
1b417c4d84
Allow re-materialization of pic load (controlled by -remat-pic-load for now).
...
llvm-svn: 47476
2008-02-22 09:25:47 +00:00
Evan Cheng
fa73e0c64e
Enable re-materialization of instructions which have virtual register operands if
...
the definition of the operand also reaches its uses.
llvm-svn: 47475
2008-02-22 09:24:50 +00:00
Chris Lattner
a64d4179d4
copy mmx values from/to memory with GPRs on x86-32
...
instead of with mmx registers. This horribleness is apparently
done by gcc to avoid having to insert emms in places that really
should have it. This is the second half of rdar://5741668.
llvm-svn: 47474
2008-02-22 05:18:04 +00:00
Devang Patel
066973767f
Print getresult instruction properly.
...
llvm-svn: 47473
2008-02-22 03:10:23 +00:00
Devang Patel
2754d59c53
Print ret instruction that returns aggregates.
...
llvm-svn: 47472
2008-02-22 02:50:49 +00:00
Devang Patel
8ae63af4b1
Read and write getresult.
...
llvm-svn: 47471
2008-02-22 02:49:49 +00:00
Chris Lattner
e70bc39d74
Start using GPR's to copy around mmx value instead of mmx regs.
...
GCC apparently does this, and code depends on not having to do
emms when this happens. This is x86-64 only so far, second half
should handle x86-32.
rdar://5741668
llvm-svn: 47470
2008-02-22 02:09:43 +00:00
Chris Lattner
7d3c05df5b
minor cleanups to LSBaseSDNode.
...
llvm-svn: 47469
2008-02-22 01:54:35 +00:00
Evan Cheng
e16e349623
Fix compiler warning.
...
llvm-svn: 47468
2008-02-22 01:48:00 +00:00
Dan Gohman
de80982418
Fix a regression in 403.gcc and 186.crafty introduced in 47383. To test
...
that a value is >= 32, check that all of the high bits are zero, not
just one or more.
llvm-svn: 47467
2008-02-22 01:12:31 +00:00
Devang Patel
c5dccfdd74
print getresult instruction.
...
llvm-svn: 47461
2008-02-21 23:02:20 +00:00
Devang Patel
298b5f1d6c
Use isa<> instead of getTypeID() to check StructType.
...
llvm-svn: 47460
2008-02-21 22:24:17 +00:00
Eli Friedman
123fc4b97d
A few minor updates, removing implemented stuff and adding a couple of
...
new things.
llvm-svn: 47458
2008-02-21 21:16:49 +00:00
Chris Lattner
b3c8d120dc
Make the clobber analysis a bit more smart: we only are careful about
...
early clobbers if the clobber list contains a *register* not some thing
like {memory}, {dirflag} etc.
llvm-svn: 47457
2008-02-21 20:54:31 +00:00
Chris Lattner
4f87f1c087
Treat clobber operands like early clobbers: if we have
...
any, we force sdisel to do all regalloc for an asm. This
leads to gross but correct codegen.
This fixes the rest of PR2078.
llvm-svn: 47454
2008-02-21 19:43:13 +00:00
Bill Wendling
27dcf967b0
Clear PhysRegPartUse for the sub register as well.
...
llvm-svn: 47453
2008-02-21 19:35:27 +00:00
Bill Wendling
82f9e2d468
Adjust the MaxAlignment for the special register scavenging spill slot.
...
llvm-svn: 47452
2008-02-21 19:33:53 +00:00
Evan Cheng
8072166220
Help testing.
...
llvm-svn: 47448
2008-02-21 19:20:21 +00:00
Dan Gohman
0220a930c7
Change a C-style cast to const_cast, to avoid a -Wcast-qual warning.
...
llvm-svn: 47437
2008-02-21 17:33:24 +00:00
Andrew Lenharth
b8f9871711
Better names as per Evan's request
...
llvm-svn: 47435
2008-02-21 16:11:38 +00:00
Nick Lewycky
3df036a7bf
Simplify this code, no functionality change.
...
llvm-svn: 47434
2008-02-21 09:14:53 +00:00
Nick Lewycky
5f7dc506e1
GlobalValues are Constants, remove redundant code. Also fix typo in a comment.
...
llvm-svn: 47433
2008-02-21 08:34:02 +00:00
Tanya Lattner
8116db05a6
Remove llvm-upgrade and update tests.
...
llvm-svn: 47432
2008-02-21 07:42:26 +00:00
Chris Lattner
b25a98e364
Dan implemented one multiply issue. Replace it with another. :)
...
llvm-svn: 47431
2008-02-21 06:51:29 +00:00
Andrew Lenharth
db9cd46f5d
Atomic op support. If any gcc test uses __sync builtins, it might start failing on archs that haven't implemented them yet
...
llvm-svn: 47430
2008-02-21 06:45:13 +00:00
Chris Lattner
702abbeb51
Add support for matching mem operands. This fixes PR1133, patch by
...
Eli Friedman. This implements CodeGen/Generic/2008-02-20-MatchingMem.ll.
llvm-svn: 47428
2008-02-21 05:27:19 +00:00
Chris Lattner
2f3bffc338
testcase for PR1133
...
llvm-svn: 47427
2008-02-21 05:27:08 +00:00
Chris Lattner
99b5a37d39
Fix a (harmless) but where vregs were added to the used reg lists for
...
inline asms.
Fix PR2078 by marking aliases of registers used when a register is
marked used. This prevents EAX from being allocated when AX is listed
in the clobber set for the asm.
llvm-svn: 47426
2008-02-21 04:55:52 +00:00
Devang Patel
e60ebc7744
Let invoke return aggregate value.
...
llvm-svn: 47425
2008-02-21 02:14:01 +00:00
Devang Patel
702c4a60a6
Let function call return aggregate.
...
Now, we have very first multiple return value testcase!
llvm-svn: 47424
2008-02-21 01:54:02 +00:00
Devang Patel
c82bc3a9a1
Add -disable-output option.
...
llvm-svn: 47422
2008-02-21 01:41:25 +00:00
Evan Cheng
f58113f597
Clean up some spilling code using MachineRegisterInfo.
...
llvm-svn: 47416
2008-02-21 00:34:19 +00:00
Devang Patel
5c037ae5d5
XFAIL for now.
...
llvm-svn: 47411
2008-02-20 23:10:42 +00:00
Devang Patel
6436033c71
Now functions can return aggregate values.
...
llvm-svn: 47409
2008-02-20 22:51:28 +00:00
Devang Patel
302f762255
regenerate.
...
llvm-svn: 47408
2008-02-20 22:40:23 +00:00
Devang Patel
77c614dc4a
Parse
...
ret i32 1, i8 2
another step towards multiple return value support.
llvm-svn: 47407
2008-02-20 22:39:45 +00:00
Devang Patel
d2142aeb44
What if functions can return aggregate values ?
...
One small step towards multiple return value support.
llvm-svn: 47406
2008-02-20 22:36:03 +00:00
Dale Johannesen
7c2d87a9fc
Regenerated files.
...
llvm-svn: 47402
2008-02-20 21:15:43 +00:00
Dale Johannesen
9b42dda1fd
Support alignment within ParamAttrs in the I/O handling.
...
llvm-svn: 47401
2008-02-20 21:15:19 +00:00
Evan Cheng
f3a7cd1c62
Poorly named option.
...
llvm-svn: 47400
2008-02-20 20:57:32 +00:00
Bill Wendling
aaf11abe28
Remove one of the fixmes that I put in there. From Evan:
...
No need to go up more levels. A def of a register also sets its sub-registers
(so if PhysRegInfo[SuperReg] is NULL, it means SuperReg's super registers are
not previously defined).
llvm-svn: 47399
2008-02-20 20:56:45 +00:00
Anton Korobeynikov
9f8c4b85cf
Add convenient helper to get suffix of the file
...
llvm-svn: 47397
2008-02-20 19:41:22 +00:00
Devang Patel
4034343b67
getresult does not support nested aggregates.
...
llvm-svn: 47396
2008-02-20 19:39:41 +00:00
Bill Wendling
df5f19c449
Improve some comments explaining the "handle kills" stuff better.
...
llvm-svn: 47395
2008-02-20 19:35:34 +00:00
Devang Patel
f114189912
Verifier should use Assert1 instead of assert.
...
llvm-svn: 47394
2008-02-20 19:32:20 +00:00
Dan Gohman
62071ec646
Remove inline keywords from in-class function definitions, for
...
consistency.
llvm-svn: 47393
2008-02-20 19:29:58 +00:00