Commit Graph

31038 Commits

Author SHA1 Message Date
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
Zhou Sheng
d48653a3ab Clean up some codes in InstCombiner::SimplifyDemandedBits().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35446 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 04:45:55 +00:00
Evan Cheng
974777868c New entries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35445 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 02:48:56 +00:00
Zhou Sheng
01542f3d80 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
2007-03-29 02:26:30 +00:00
Zhou Sheng
97b52c260f 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
2007-03-29 01:57:21 +00:00
Jeff Cohen
ab47895c6b 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
2007-03-28 23:08:37 +00:00
Jeff Cohen
3c8dfcd53d Update to current situation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35440 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 20:27:51 +00:00
Bill Wendling
03179060ee Made this into a bug report: PR1286
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35439 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 19:07:34 +00:00
Anton Korobeynikov
f6e9353e1a Oops :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35438 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 18:38:33 +00:00
Anton Korobeynikov
33bf8c44dd 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
2007-03-28 18:36:33 +00:00
Chris Lattner
9bb3dbb6ff Stop using the foo HTML tag :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35436 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 18:27:57 +00:00
Chris Lattner
6ef3307062 add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35435 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 18:17:19 +00:00
Chris Lattner
995f55036f 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
2007-03-28 18:12:31 +00:00
Chris Lattner
57b82b7845 new testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35433 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 18:11:17 +00:00
Chris Lattner
01f45ca17b new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35432 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 18:03:14 +00:00
Zhou Sheng
34a4b38cbd Avoid unnecessary APInt construction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35431 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 17:38:21 +00:00
Chris Lattner
e9a61234ce 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
2007-03-28 17:26:52 +00:00
Scott Michel
6461bbfc50 First test check-in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35429 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 17:04:43 +00:00
Zhou Sheng
e9e03f6b76 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
2007-03-28 15:02:20 +00:00
Devang Patel
9dea3a340a 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
2007-03-28 14:57:43 +00:00
Zhou Sheng
e82fca09bf 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
2007-03-28 09:19:01 +00:00
Evan Cheng
197d19d11c Notes on re-materialization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35420 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 08:30:04 +00:00
Evan Cheng
2005a02f32 Move rematerialization out of beta.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35419 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 08:26:40 +00:00
Zhou Sheng
4acf155af3 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
2007-03-28 05:15:57 +00:00
Jeff Cohen
02c91ef2cb 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
2007-03-28 04:45:02 +00:00
Reid Spencer
9430832d0e Delete the remanant of an obsolete comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35415 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 03:23:22 +00:00
Zhou Sheng
b32c00603b Remove unused APInt variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35414 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 03:02:21 +00:00
Reid Spencer
c10f0af135 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
2007-03-28 02:46:29 +00:00
Reid Spencer
5373b721c0 Remove use of implementation keyword.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35412 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 02:38:26 +00:00
Reid Spencer
83145c3f19 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35411 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 02:37:40 +00:00
Reid Spencer
66a82155b4 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
2007-03-28 02:36:42 +00:00
Reid Spencer
72d30156cc The implementation keyword was replaced with checkpoint.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35409 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 02:34:53 +00:00
Zhou Sheng
aa305ab5e8 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
2007-03-28 02:19:03 +00:00
Evan Cheng
7aff11a1ed Scale 1 is always ok.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35407 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 01:55:52 +00:00
Evan Cheng
caaf69107e Remove isLegalAddressImmediate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35406 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 01:53:55 +00:00
Reid Spencer
73ad8354ec 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
2007-03-28 01:53:20 +00:00
Reid Spencer
7215e0fb71 implementation keyword is going .. going .. gone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35404 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 01:52:40 +00:00
Evan Cheng
baeccc8741 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
2007-03-28 01:49:39 +00:00
Chris Lattner
9495a0c232 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
2007-03-28 01:43:43 +00:00
Reid Spencer
12fa2224e4 new test case for PR1280
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35401 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 01:43:35 +00:00
Reid Spencer
35c3885ba1 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
2007-03-28 01:36:16 +00:00
Reid Spencer
7f49127935 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
2007-03-28 01:35:28 +00:00
Evan Cheng
d03c3e39de Added a test case for PR1279.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35398 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 01:32:57 +00:00
Chris Lattner
404eaa3cf1 new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35397 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 01:31:33 +00:00
Evan Cheng
d592a28ca1 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
2007-03-28 01:30:37 +00:00