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
Devang Patel
de35f122f2
getresult type is the type of indexed aggregate element
...
llvm-svn: 47392
2008-02-20 19:26:55 +00:00
Devang Patel
9f3c2e3d61
Regenerate.
...
llvm-svn: 47391
2008-02-20 19:13:10 +00:00
Devang Patel
6266d7147e
Specify GetResultInst index as an unsigned.
...
llvm-svn: 47390
2008-02-20 19:10:47 +00:00
Bill Wendling
753db180da
Fix comment.
...
llvm-svn: 47389
2008-02-20 19:09:14 +00:00
Devang Patel
8a80334c8a
assert is more effective reminder then FIXME tag for unimplemented features.
...
llvm-svn: 47388
2008-02-20 18:37:40 +00:00
Devang Patel
019b5585e8
Use isValidOperands() to verify GetResultInst.
...
llvm-svn: 47387
2008-02-20 18:36:46 +00:00
Devang Patel
aae784581e
Fix typo. Add const version of getAggregateValue() accessor member function.
...
llvm-svn: 47386
2008-02-20 18:36:16 +00:00
Evan Cheng
51789192ce
Temporarily backing out r47337. It breaks a number of CBE tests.
...
llvm-svn: 47385
2008-02-20 18:32:05 +00:00
Duncan Sands
86953f029f
LegalizeTypes support for scalarizing a vector store
...
and splitting extract_subvector. This fixes nine
"make check" testcases, for example
2008-02-04-ExtractSubvector.ll and (partially)
CodeGen/Generic/vector.ll.
llvm-svn: 47384
2008-02-20 17:38:09 +00:00
Dan Gohman
149903436b
Convert Legalize to use the APInt form of ComputeMaskedBits.
...
llvm-svn: 47383
2008-02-20 16:57:27 +00:00
Dan Gohman
48d03d5a2d
Add explicit keywords.
...
llvm-svn: 47382
2008-02-20 16:44:09 +00:00
Dan Gohman
e83e624526
Convert DAGCombiner to use the APInt form of ComputeMaskedBits.
...
llvm-svn: 47381
2008-02-20 16:33:30 +00:00
Dan Gohman
e0923ed060
Use APInt::intersects.
...
llvm-svn: 47380
2008-02-20 16:30:17 +00:00
Dan Gohman
00fed8a97e
Add an intersects method to APInt, to capture a common idiom.
...
llvm-svn: 47379
2008-02-20 16:08:11 +00:00
Anton Korobeynikov
80bdf5f426
Add documentation for cl::sink stuff
...
llvm-svn: 47378
2008-02-20 12:38:31 +00:00
Anton Korobeynikov
9c87c6526e
Add 'sink' cmdline option. Patch by Mikhail Glushenkov!
...
llvm-svn: 47377
2008-02-20 12:38:07 +00:00