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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Reid Spencer [Wed, 28 Mar 2007 01:53:20 +0000 (01:53 +0000)]
No need to generate the implementation keyword any more. Its frivolous.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35405
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 28 Mar 2007 01:52:40 +0000 (01:52 +0000)]
implementation keyword is going .. going .. gone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35404
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 28 Mar 2007 01:49:39 +0000 (01:49 +0000)]
GEP index sinking fixes:
1) Take address scale into consideration. e.g. i32* -> scale 4.
2) Examine all the users of GEP.
3) Generalize to inter-block GEP's (no longer uses loopinfo).
4) Don't do xform if GEP has other variable index(es).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35403
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Mar 2007 01:43:43 +0000 (01:43 +0000)]
don't use 'not' when we can use a positive test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35402
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 28 Mar 2007 01:43:35 +0000 (01:43 +0000)]
new test case for PR1280
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35401
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 28 Mar 2007 01:36:16 +0000 (01:36 +0000)]
For PR1280:
When converting an add/xor/and triplet into a trunc/sext, only do so if the
intermediate integer type is a bitwidth that the targets can handle.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35400
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 28 Mar 2007 01:35:28 +0000 (01:35 +0000)]
For PR1280:
Remove test cases for and/xor/add -> trunc/sext that use bit widths that
the targets cannot code gen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35399
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 28 Mar 2007 01:32:57 +0000 (01:32 +0000)]
Added a test case for PR1279.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35398
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Mar 2007 01:31:33 +0000 (01:31 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35397
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 28 Mar 2007 01:30:37 +0000 (01:30 +0000)]
Fix for PR1279. Dead def has a live interval of length 1. Copy coalescing should
not violate that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35396
91177308-0d34-0410-b5e6-
96231b3b80d8