Bill Wendling
db5c993121
Match GCC's MMX calling convention.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35523 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-31 01:03:53 +00:00
Chris Lattner
31442f9dc5
Add a -print-lsr-output option to LLC, to print the output of the LSR pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35522 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-31 00:24:43 +00:00
Chris Lattner
c9addb7488
implement the new addressing mode description hook.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35521 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 23:15:24 +00:00
Chris Lattner
1436bb657d
add one addressing mode description hook to rule them all.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35520 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 23:14:50 +00:00
Evan Cheng
00ef8d45e2
Missing '&&'
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35519 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 22:03:49 +00:00
Jeff Cohen
7280ef7d64
This is working again.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35518 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 22:02:18 +00:00
Dale Johannesen
2041a0ef75
Fix incorrect combination of different loads. Reenable zext-over-truncate
...
combination.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35517 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 21:38:07 +00:00
Chris Lattner
b4c377f5dd
add a testcase for x86
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35516 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 21:22:46 +00:00
Evan Cheng
6eec2261e7
New test case.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35515 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 20:41:18 +00:00
Evan Cheng
7cb33c8652
Don't add the same MI to register reuse "last def/use" twice if it reads the
...
register more than once.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35513 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 20:21:35 +00:00
Evan Cheng
2f52457539
Bug fix for PR1279. When isDead is propagate by copy coalescing, we keep length
...
of dead def live interval at 1 to avoid multiple def's targeting the same
register. The previous patch missed a case where the source operand is live-in.
In that case, remove the whole interval.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35512 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 20:18:35 +00:00
Evan Cheng
f2c28f863b
Test case for PR1279 (part 2).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35511 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 20:15:22 +00:00
Zhou Sheng
302748dd30
Make sure the use of ConstantInt::getZExtValue() for shift amount safe.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35510 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 17:20:39 +00:00
Zhou Sheng
4ac93f9fa3
Make sure this method just return value equal or less than Limit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35509 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 16:50:28 +00:00
Reid Spencer
97e0c22330
For PR1293:
...
* Rename the FunctionType* parameter from M to FT on all the functions.
* Implement a fix for PR1293 by just asserting that library functions that
must return pointers should have pointer typed results. This just makes
sure that we don't attempt to use an uninitialized integer or something
later on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35508 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 16:41:50 +00:00
Duncan Sands
526cdf6b9e
Remove reference to checkpoint.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35507 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 16:09:58 +00:00
Duncan Sands
8036ca47e2
Various hopefully correct easy fixes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35506 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 12:22:09 +00:00
Zhou Sheng
0e2d3ac0f8
1. Make sure the use of ConstantInt::getZExtValue() for getting shift
...
amount is safe.
2. Use new method on ConstantInt instead of (? :) operator.
3. Use new method uge() on ConstantInt to simplify codes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35505 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 09:29:48 +00:00
Duncan Sands
48a3e98c27
Correct typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35504 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 06:39:42 +00:00
Zhou Sheng
90b9681886
Use APInt operation instead of ConstantExpr::getXX.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35503 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 05:45:18 +00:00
Zhou Sheng
0642f75836
Rename and correct the method "greaterOrEqual".
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35502 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 05:10:59 +00:00
Zhou Sheng
b422d2d9e5
Add two utility methods into ConstantInt.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35501 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 03:22:55 +00:00
Reid Spencer
0d60b5a543
For PR1289: Regenerate
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35500 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 01:37:39 +00:00
Reid Spencer
cd5bd90a7b
For PR1289:
...
Check at the end of the parse that there are no unresolved types and no
undefined values. Issue errors if there are. This gets rid of the need
for implementation or checkpoint by ensuring you can't finish a parse with
undefined things.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35499 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 01:37:13 +00:00
Reid Spencer
a5ad78e746
For PR1289:
...
Remove an unneeded instance of "implementation" that soon won't be supported.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35498 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 01:35:32 +00:00
Bill Wendling
e2501b303c
Add MMX calling conventions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35489 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-30 00:35:22 +00:00
Evan Cheng
87c6c9abb3
New entry.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35480 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 21:40:13 +00:00
Evan Cheng
5e3c203cfd
Can't re-materialize mov r, imm in thumb since mov would clobber the condition code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35479 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 21:38:31 +00:00
Reid Spencer
a145c6d766
Remove some non-sensical logic that prevented llvm-nm from working on any
...
file other than one named "-".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35478 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 19:49:07 +00:00
Reid Spencer
1ea733db9d
Use the stat information in the Path object, if it is already obtained. This
...
avoids a call to ::fstat by MappedFile when the file size information was
already obtained by the Path object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35477 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 19:11:22 +00:00
Reid Spencer
8475ec068c
For PR789:
...
Make the sys::Path::getFileStatus function more efficient by having it
return a pointer to the FileStatus structure rather than copy it. Adjust
uses of the function accordingly. Also, fix some memory issues in sys::Path.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35476 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 19:05:44 +00:00
Chris Lattner
f735f7b3ac
the bytecode reader supports dematerializeFunction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35475 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 18:58:08 +00:00
Reid Spencer
cb2df95c88
checkpoint -> implementation. This really needs to just drop the need for
...
a keyword by having the assembler check for incomplete types and values
upon end-of-file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35474 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 18:56:58 +00:00
Reid Spencer
3025dfd5b5
Regenerate.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35473 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 18:50:01 +00:00
Reid Spencer
a5005c077b
Give users a grace period on the implementation keyword. This *will* get
...
removed in a few days.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35472 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 18:49:28 +00:00
Chris Lattner
a37ddb5296
add a hook to demat functions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35471 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 18:30:26 +00:00
Chris Lattner
c6b66ebba9
don't build runtime for now, ever
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35470 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 18:14:00 +00:00
Jeff Cohen
e2cd2a0b4b
MS C does have inlining after all, just uses _inline instead of inline.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35467 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 17:42:21 +00:00
Jeff Cohen
cf525fcbae
getFileStatus has a new parameter (caught by VC++).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35466 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 17:29:59 +00:00
Jeff Cohen
b9681893c8
uniqueID is a uint64_t (caught by VC++)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35465 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 17:28:31 +00:00
Jeff Cohen
84892be310
Determine absolute paths the correct way :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35464 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 17:27:38 +00:00
Reid Spencer
4031befb62
Add a uniqueID field to the FileStatus structure for Paths. This will map
...
to the inode number on Unix and something far less unique on Windows. The
windows case needs to be improved.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35461 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 17:00:31 +00:00
Reid Spencer
a5cb38980b
Don't forget to delete the FileStatus structure on destruction of Path.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35459 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 16:50:49 +00:00
Reid Spencer
5ba2b702c2
For PR789:
...
Updates for change in interface of getFileStatus method of sys::Path class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35458 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 16:48:16 +00:00
Reid Spencer
69cce815e7
For PR789:
...
* Add a method: bool isAbsolute() const, which determines if the path name
is absolute or not.
* Implement caching of file status information in the Path object. Allow it
to be updated forcefully or lazily re-fetched from the cached value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35456 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 16:43:20 +00:00
Reid Spencer
585e0882c3
Regenerate for PR1283 fix.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35452 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 15:38:33 +00:00
Reid Spencer
3acdc63096
For PR1283:
...
Change the llvm-gcc sanity check to look for "target datalayout" instead
of "implementation". The implementation keyword is no longer generated
by llvm or llvm-gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35451 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 15:37:57 +00:00
Zhou Sheng
290bec5c15
1. Make more use of APInt::getHighBitsSet/getLowBitsSet.
...
2. Let APInt variable do the binary operation stuff instead of using
ConstantExpr::getXXX.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35450 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 08:15:12 +00:00
Evan Cheng
b0b6c76ffe
Disable load width reduction xform of variant (zext (truncate load x)) for
...
big endian targets until llvm-gcc build issue has been resolved.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35449 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 07:56:46 +00:00
Evan Cheng
616cc663da
Add support for hidden visibility to darwin/arm.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35448 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 07:49:34 +00:00