oota-llvm.git
17 years agoFor PR1297:
Reid Spencer [Sun, 1 Apr 2007 07:20:02 +0000 (07:20 +0000)]
For PR1297:
Implement code generation for overloaded intrinsic functions. The basic
difference is that "actual" argument types must be provided when
constructing intrinsic names and types. Also, for recognition, only the
prefix is examined. If it matches, the suffix is assumed to match. The
suffix is checked by the Verifier, however.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35539 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1297:
Reid Spencer [Sun, 1 Apr 2007 07:17:45 +0000 (07:17 +0000)]
For PR1297:
Add an "iAny" ValueType as a place holder for an integer type of any
bit width. This is used for intrinsics overloading on integer type.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35538 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agonot not!
Chris Lattner [Sun, 1 Apr 2007 06:19:41 +0000 (06:19 +0000)]
not not!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35537 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix InstCombine/2007-03-31-InfiniteLoop.ll
Chris Lattner [Sun, 1 Apr 2007 05:36:37 +0000 (05:36 +0000)]
Fix InstCombine/2007-03-31-InfiniteLoop.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35536 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoNew testcase
Chris Lattner [Sun, 1 Apr 2007 05:34:53 +0000 (05:34 +0000)]
New testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35535 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoImplement union of wrapped sets.
Nick Lewycky [Sun, 1 Apr 2007 03:47:44 +0000 (03:47 +0000)]
Implement union of wrapped sets.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35534 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoReadme
Andrew Lenharth [Sat, 31 Mar 2007 15:05:44 +0000 (15:05 +0000)]
Readme

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35533 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoConsistency with native compilers
Anton Korobeynikov [Sat, 31 Mar 2007 13:11:52 +0000 (13:11 +0000)]
Consistency with native compilers

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35532 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix comment.
Bill Wendling [Sat, 31 Mar 2007 09:36:12 +0000 (09:36 +0000)]
Fix comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35531 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoadd a note
Chris Lattner [Sat, 31 Mar 2007 07:06:25 +0000 (07:06 +0000)]
add a note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35530 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agomove a bunch of code out of the sdisel pass into its own opt pass "codegenprepare".
Chris Lattner [Sat, 31 Mar 2007 04:18:03 +0000 (04:18 +0000)]
move a bunch of code out of the sdisel pass into its own opt pass "codegenprepare".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35529 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoSplit the sdisel code munging stuff out into its own opt-pass, CodeGenPrepare.
Chris Lattner [Sat, 31 Mar 2007 04:06:36 +0000 (04:06 +0000)]
Split the sdisel code munging stuff out into its own opt-pass, CodeGenPrepare.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35528 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoswitch TL::getValueType to use MVT::getValueType.
Chris Lattner [Sat, 31 Mar 2007 04:05:24 +0000 (04:05 +0000)]
switch TL::getValueType to use MVT::getValueType.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35527 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoadd a method to turn a type into a VT.
Chris Lattner [Sat, 31 Mar 2007 04:03:02 +0000 (04:03 +0000)]
add a method to turn a type into a VT.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35526 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDelete dead code.
Zhou Sheng [Sat, 31 Mar 2007 02:50:26 +0000 (02:50 +0000)]
Delete dead code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35525 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUse APInt operators to calculate the carry bits, remove this loop.
Zhou Sheng [Sat, 31 Mar 2007 02:38:39 +0000 (02:38 +0000)]
Use APInt operators to calculate the carry bits, remove this loop.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35524 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMatch GCC's MMX calling convention.
Bill Wendling [Sat, 31 Mar 2007 01:03:53 +0000 (01:03 +0000)]
Match GCC's MMX calling convention.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35523 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd a -print-lsr-output option to LLC, to print the output of the LSR pass.
Chris Lattner [Sat, 31 Mar 2007 00:24:43 +0000 (00:24 +0000)]
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

17 years agoimplement the new addressing mode description hook.
Chris Lattner [Fri, 30 Mar 2007 23:15:24 +0000 (23:15 +0000)]
implement the new addressing mode description hook.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35521 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoadd one addressing mode description hook to rule them all.
Chris Lattner [Fri, 30 Mar 2007 23:14:50 +0000 (23:14 +0000)]
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

17 years agoMissing '&&'
Evan Cheng [Fri, 30 Mar 2007 22:03:49 +0000 (22:03 +0000)]
Missing '&&'

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35519 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoThis is working again.
Jeff Cohen [Fri, 30 Mar 2007 22:02:18 +0000 (22:02 +0000)]
This is working again.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35518 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix incorrect combination of different loads. Reenable zext-over-truncate
Dale Johannesen [Fri, 30 Mar 2007 21:38:07 +0000 (21:38 +0000)]
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

17 years agoadd a testcase for x86
Chris Lattner [Fri, 30 Mar 2007 21:22:46 +0000 (21:22 +0000)]
add a testcase for x86

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35516 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoNew test case.
Evan Cheng [Fri, 30 Mar 2007 20:41:18 +0000 (20:41 +0000)]
New test case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35515 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDon't add the same MI to register reuse "last def/use" twice if it reads the
Evan Cheng [Fri, 30 Mar 2007 20:21:35 +0000 (20:21 +0000)]
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

17 years agoBug fix for PR1279. When isDead is propagate by copy coalescing, we keep length
Evan Cheng [Fri, 30 Mar 2007 20:18:35 +0000 (20:18 +0000)]
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

17 years agoTest case for PR1279 (part 2).
Evan Cheng [Fri, 30 Mar 2007 20:15:22 +0000 (20:15 +0000)]
Test case for PR1279 (part 2).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35511 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMake sure the use of ConstantInt::getZExtValue() for shift amount safe.
Zhou Sheng [Fri, 30 Mar 2007 17:20:39 +0000 (17:20 +0000)]
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

17 years agoMake sure this method just return value equal or less than Limit.
Zhou Sheng [Fri, 30 Mar 2007 16:50:28 +0000 (16:50 +0000)]
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

17 years agoFor PR1293:
Reid Spencer [Fri, 30 Mar 2007 16:41:50 +0000 (16:41 +0000)]
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

17 years agoRemove reference to checkpoint.
Duncan Sands [Fri, 30 Mar 2007 16:09:58 +0000 (16:09 +0000)]
Remove reference to checkpoint.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35507 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoVarious hopefully correct easy fixes.
Duncan Sands [Fri, 30 Mar 2007 12:22:09 +0000 (12:22 +0000)]
Various hopefully correct easy fixes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35506 91177308-0d34-0410-b5e6-96231b3b80d8

17 years ago1. Make sure the use of ConstantInt::getZExtValue() for getting shift
Zhou Sheng [Fri, 30 Mar 2007 09:29:48 +0000 (09:29 +0000)]
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

17 years agoCorrect typo.
Duncan Sands [Fri, 30 Mar 2007 06:39:42 +0000 (06:39 +0000)]
Correct typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35504 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUse APInt operation instead of ConstantExpr::getXX.
Zhou Sheng [Fri, 30 Mar 2007 05:45:18 +0000 (05:45 +0000)]
Use APInt operation instead of ConstantExpr::getXX.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35503 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRename and correct the method "greaterOrEqual".
Zhou Sheng [Fri, 30 Mar 2007 05:10:59 +0000 (05:10 +0000)]
Rename and correct the method "greaterOrEqual".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35502 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd two utility methods into ConstantInt.
Zhou Sheng [Fri, 30 Mar 2007 03:22:55 +0000 (03:22 +0000)]
Add two utility methods into ConstantInt.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35501 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1289: Regenerate
Reid Spencer [Fri, 30 Mar 2007 01:37:39 +0000 (01:37 +0000)]
For PR1289: Regenerate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35500 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1289:
Reid Spencer [Fri, 30 Mar 2007 01:37:13 +0000 (01:37 +0000)]
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

17 years agoFor PR1289:
Reid Spencer [Fri, 30 Mar 2007 01:35:32 +0000 (01:35 +0000)]
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

17 years agoAdd MMX calling conventions.
Bill Wendling [Fri, 30 Mar 2007 00:35:22 +0000 (00:35 +0000)]
Add MMX calling conventions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35489 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoNew entry.
Evan Cheng [Thu, 29 Mar 2007 21:40:13 +0000 (21:40 +0000)]
New entry.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35480 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoCan't re-materialize mov r, imm in thumb since mov would clobber the condition code.
Evan Cheng [Thu, 29 Mar 2007 21:38:31 +0000 (21:38 +0000)]
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

17 years agoRemove some non-sensical logic that prevented llvm-nm from working on any
Reid Spencer [Thu, 29 Mar 2007 19:49:07 +0000 (19:49 +0000)]
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

17 years agoUse the stat information in the Path object, if it is already obtained. This
Reid Spencer [Thu, 29 Mar 2007 19:11:22 +0000 (19:11 +0000)]
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

17 years agoFor PR789:
Reid Spencer [Thu, 29 Mar 2007 19:05:44 +0000 (19:05 +0000)]
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

17 years agothe bytecode reader supports dematerializeFunction
Chris Lattner [Thu, 29 Mar 2007 18:58:08 +0000 (18:58 +0000)]
the bytecode reader supports dematerializeFunction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35475 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agocheckpoint -> implementation. This really needs to just drop the need for
Reid Spencer [Thu, 29 Mar 2007 18:56:58 +0000 (18:56 +0000)]
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

17 years agoRegenerate.
Reid Spencer [Thu, 29 Mar 2007 18:50:01 +0000 (18:50 +0000)]
Regenerate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35473 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoGive users a grace period on the implementation keyword. This *will* get
Reid Spencer [Thu, 29 Mar 2007 18:49:28 +0000 (18:49 +0000)]
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

17 years agoadd a hook to demat functions.
Chris Lattner [Thu, 29 Mar 2007 18:30:26 +0000 (18:30 +0000)]
add a hook to demat functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35471 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agodon't build runtime for now, ever
Chris Lattner [Thu, 29 Mar 2007 18:14:00 +0000 (18:14 +0000)]
don't build runtime for now, ever

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35470 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMS C does have inlining after all, just uses _inline instead of inline.
Jeff Cohen [Thu, 29 Mar 2007 17:42:21 +0000 (17:42 +0000)]
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

17 years agogetFileStatus has a new parameter (caught by VC++).
Jeff Cohen [Thu, 29 Mar 2007 17:29:59 +0000 (17:29 +0000)]
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

17 years agouniqueID is a uint64_t (caught by VC++)
Jeff Cohen [Thu, 29 Mar 2007 17:28:31 +0000 (17:28 +0000)]
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

17 years agoDetermine absolute paths the correct way :)
Jeff Cohen [Thu, 29 Mar 2007 17:27:38 +0000 (17:27 +0000)]
Determine absolute paths the correct way :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35464 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd a uniqueID field to the FileStatus structure for Paths. This will map
Reid Spencer [Thu, 29 Mar 2007 17:00:31 +0000 (17:00 +0000)]
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

17 years agoDon't forget to delete the FileStatus structure on destruction of Path.
Reid Spencer [Thu, 29 Mar 2007 16:50:49 +0000 (16:50 +0000)]
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

17 years agoFor PR789:
Reid Spencer [Thu, 29 Mar 2007 16:48:16 +0000 (16:48 +0000)]
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

17 years agoFor PR789:
Reid Spencer [Thu, 29 Mar 2007 16:43:20 +0000 (16:43 +0000)]
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

17 years agoRegenerate for PR1283 fix.
Reid Spencer [Thu, 29 Mar 2007 15:38:33 +0000 (15:38 +0000)]
Regenerate for PR1283 fix.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35452 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1283:
Reid Spencer [Thu, 29 Mar 2007 15:37:57 +0000 (15:37 +0000)]
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

17 years ago1. Make more use of APInt::getHighBitsSet/getLowBitsSet.
Zhou Sheng [Thu, 29 Mar 2007 08:15:12 +0000 (08:15 +0000)]
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

17 years agoDisable load width reduction xform of variant (zext (truncate load x)) for
Evan Cheng [Thu, 29 Mar 2007 07:56:46 +0000 (07:56 +0000)]
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

17 years agoAdd support for hidden visibility to darwin/arm.
Evan Cheng [Thu, 29 Mar 2007 07:49:34 +0000 (07:49 +0000)]
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

17 years agoClean up some codes in InstCombiner::SimplifyDemandedBits().
Zhou Sheng [Thu, 29 Mar 2007 04:45:55 +0000 (04:45 +0000)]
Clean up some codes in InstCombiner::SimplifyDemandedBits().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35446 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoNew entries.
Evan Cheng [Thu, 29 Mar 2007 02:48:56 +0000 (02:48 +0000)]
New entries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35445 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoClean up codes in InstCombiner::SimplifyDemandedBits():
Zhou Sheng [Thu, 29 Mar 2007 02:26:30 +0000 (02:26 +0000)]
Clean up codes in InstCombiner::SimplifyDemandedBits():
1. Line out nested call of APInt::zext/trunc.
2. Make more use of APInt::getHighBitsSet/getLowBitsSet.
3. Use APInt[] operator instead of expression like "APIntVal & SignBit".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35444 91177308-0d34-0410-b5e6-96231b3b80d8

17 years ago1. Make the APInt variable do the binary operation stuff if possible
Zhou Sheng [Thu, 29 Mar 2007 01:57:21 +0000 (01:57 +0000)]
1. Make the APInt variable do the binary operation stuff if possible
   instead of using ConstantExpr::getXX.
2. Use constant reference to APInt if possible instead of expensive
   APInt copy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35443 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix C Backend to generate code that works with Microsoft C for the benefit of
Jeff Cohen [Wed, 28 Mar 2007 23:08:37 +0000 (23:08 +0000)]
Fix C Backend to generate code that works with Microsoft C for the benefit of
front ends that do not depend on the GCC runtime (someday...).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35441 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUpdate to current situation.
Jeff Cohen [Wed, 28 Mar 2007 20:27:51 +0000 (20:27 +0000)]
Update to current situation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35440 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMade this into a bug report: PR1286
Bill Wendling [Wed, 28 Mar 2007 19:07:34 +0000 (19:07 +0000)]
Made this into a bug report: PR1286

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35439 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoOops :)
Anton Korobeynikov [Wed, 28 Mar 2007 18:38:33 +0000 (18:38 +0000)]
Oops :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35438 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDon't allow MatchAddress recurse too much. This trims exponential
Anton Korobeynikov [Wed, 28 Mar 2007 18:36:33 +0000 (18:36 +0000)]
Don't allow MatchAddress recurse too much. This trims exponential
behaviour in some cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35437 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoStop using the foo HTML tag :)
Chris Lattner [Wed, 28 Mar 2007 18:27:57 +0000 (18:27 +0000)]
Stop using the foo HTML tag :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35436 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoadd a note
Chris Lattner [Wed, 28 Mar 2007 18:17:19 +0000 (18:17 +0000)]
add a note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35435 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoCompile CodeGen/X86/lea-3.ll:test2 to:
Chris Lattner [Wed, 28 Mar 2007 18:12:31 +0000 (18:12 +0000)]
Compile CodeGen/X86/lea-3.ll:test2 to:

_test3:
        leaq (,%rdi,4), %rax
        orq %rdi, %rax
        ret

instead of:
_test2:
        movq %rdi, %rax
        shlq $2, %rax
        orq %rdi, %rax
        ret

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35434 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agonew testcases
Chris Lattner [Wed, 28 Mar 2007 18:11:17 +0000 (18:11 +0000)]
new testcases

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35433 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agonew testcase
Chris Lattner [Wed, 28 Mar 2007 18:03:14 +0000 (18:03 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35432 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAvoid unnecessary APInt construction.
Zhou Sheng [Wed, 28 Mar 2007 17:38:21 +0000 (17:38 +0000)]
Avoid unnecessary APInt construction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35431 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDan pointed out that this is done, remove it!
Chris Lattner [Wed, 28 Mar 2007 17:26:52 +0000 (17:26 +0000)]
Dan pointed out that this is done, remove it!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35430 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFirst test check-in.
Scott Michel [Wed, 28 Mar 2007 17:04:43 +0000 (17:04 +0000)]
First test check-in.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35429 91177308-0d34-0410-b5e6-96231b3b80d8

17 years ago1. Make more use of getLowBitsSet/getHighBitsSet.
Zhou Sheng [Wed, 28 Mar 2007 15:02:20 +0000 (15:02 +0000)]
1. Make more use of getLowBitsSet/getHighBitsSet.
2. Use APInt[] instead of "X & SignBit".
3. Clean up some codes.
4. Make the expression like "ShiftAmt = ShiftAmtC->getZExtValue()" safe.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35424 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoIt is not possible to determine dominance between two PHI nodes
Devang Patel [Wed, 28 Mar 2007 14:57:43 +0000 (14:57 +0000)]
It is not possible to determine dominance between two PHI nodes
based on their ordering. This is applicable to ETForest::dominates() also.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35423 91177308-0d34-0410-b5e6-96231b3b80d8

17 years ago1. Make more use of getLowBitsSet/getHighBitsSet.
Zhou Sheng [Wed, 28 Mar 2007 09:19:01 +0000 (09:19 +0000)]
1. Make more use of getLowBitsSet/getHighBitsSet.
2. Make the APInt value do the zext/trunc stuff instead of using
   ConstantExpr::getZExt().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35422 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoNotes on re-materialization.
Evan Cheng [Wed, 28 Mar 2007 08:30:04 +0000 (08:30 +0000)]
Notes on re-materialization.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35420 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMove rematerialization out of beta.
Evan Cheng [Wed, 28 Mar 2007 08:26:40 +0000 (08:26 +0000)]
Move rematerialization out of beta.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35419 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUse UnknownBIts[BitWidth-1] instead of UnknownBIts & SignBits.
Zhou Sheng [Wed, 28 Mar 2007 05:15:57 +0000 (05:15 +0000)]
Use UnknownBIts[BitWidth-1] instead of UnknownBIts & SignBits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35418 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix problem with llvm-config that prevented JIT from being used on x86_64
Jeff Cohen [Wed, 28 Mar 2007 04:45:02 +0000 (04:45 +0000)]
Fix problem with llvm-config that prevented JIT from being used on x86_64
systems.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35416 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDelete the remanant of an obsolete comment.
Reid Spencer [Wed, 28 Mar 2007 03:23:22 +0000 (03:23 +0000)]
Delete the remanant of an obsolete comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35415 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRemove unused APInt variable.
Zhou Sheng [Wed, 28 Mar 2007 03:02:21 +0000 (03:02 +0000)]
Remove unused APInt variable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35414 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUndocument the implementation keyword
Reid Spencer [Wed, 28 Mar 2007 02:46:29 +0000 (02:46 +0000)]
Undocument the implementation keyword
Docuemnt the checkpoint keyword

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35413 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRemove use of implementation keyword.
Reid Spencer [Wed, 28 Mar 2007 02:38:26 +0000 (02:38 +0000)]
Remove use of implementation keyword.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35412 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRegenerate.
Reid Spencer [Wed, 28 Mar 2007 02:37:40 +0000 (02:37 +0000)]
Regenerate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35411 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoReplace the "implementation" keyword with "checkpoint". This more accurately
Reid Spencer [Wed, 28 Mar 2007 02:36:42 +0000 (02:36 +0000)]
Replace the "implementation" keyword with "checkpoint". This more accurately
describes its function as check against unresolved types and definitions.
This is handy for forcing error messages in assembly test cases or otherwise
ensuring that everything is resolved at that point in the assembly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35410 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoThe implementation keyword was replaced with checkpoint.
Reid Spencer [Wed, 28 Mar 2007 02:34:53 +0000 (02:34 +0000)]
The implementation keyword was replaced with checkpoint.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35409 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoClean up codes in ComputeMaskedBits():
Zhou Sheng [Wed, 28 Mar 2007 02:19:03 +0000 (02:19 +0000)]
Clean up codes in ComputeMaskedBits():
1. Line out nested use of zext/trunc.
2. Make more use of getHighBitsSet/getLowBitsSet.
3. Use APInt[] != 0 instead of "(APInt & SignBit) != 0".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35408 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoScale 1 is always ok.
Evan Cheng [Wed, 28 Mar 2007 01:55:52 +0000 (01:55 +0000)]
Scale 1 is always ok.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35407 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRemove isLegalAddressImmediate.
Evan Cheng [Wed, 28 Mar 2007 01:53:55 +0000 (01:53 +0000)]
Remove isLegalAddressImmediate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35406 91177308-0d34-0410-b5e6-96231b3b80d8