Commit Graph

31095 Commits

Author SHA1 Message Date
Reid Spencer 78b899f665 For PR789:
Updates for change in interface of getFileStatus method of sys::Path class.

llvm-svn: 35458
2007-03-29 16:48:16 +00:00
Reid Spencer 0f92f0e519 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.

llvm-svn: 35456
2007-03-29 16:43:20 +00:00
Reid Spencer 908f777886 Regenerate for PR1283 fix.
llvm-svn: 35452
2007-03-29 15:38:33 +00:00
Reid Spencer 1a48abc2d4 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.

llvm-svn: 35451
2007-03-29 15:37:57 +00:00
Zhou Sheng b3a80b1d70 1. Make more use of APInt::getHighBitsSet/getLowBitsSet.
2. Let APInt variable do the binary operation stuff instead of using
   ConstantExpr::getXXX.

llvm-svn: 35450
2007-03-29 08:15:12 +00:00
Evan Cheng ccee35fd0d Disable load width reduction xform of variant (zext (truncate load x)) for
big endian targets until llvm-gcc build issue has been resolved.

llvm-svn: 35449
2007-03-29 07:56:46 +00:00
Evan Cheng 8f592160c0 Add support for hidden visibility to darwin/arm.
llvm-svn: 35448
2007-03-29 07:49:34 +00:00
Zhou Sheng 444af49cc0 Clean up some codes in InstCombiner::SimplifyDemandedBits().
llvm-svn: 35446
2007-03-29 04:45:55 +00:00
Evan Cheng 86de3a009d New entries.
llvm-svn: 35445
2007-03-29 02:48:56 +00:00
Zhou Sheng a4475575c0 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".

llvm-svn: 35444
2007-03-29 02:26:30 +00:00
Zhou Sheng 4961cf1c06 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.

llvm-svn: 35443
2007-03-29 01:57:21 +00:00
Jeff Cohen cc560c93eb 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...).

llvm-svn: 35441
2007-03-28 23:08:37 +00:00
Jeff Cohen 277a237520 Update to current situation.
llvm-svn: 35440
2007-03-28 20:27:51 +00:00
Bill Wendling 4ad38abd40 Made this into a bug report: PR1286
llvm-svn: 35439
2007-03-28 19:07:34 +00:00
Anton Korobeynikov 0ad22563b8 Oops :)
llvm-svn: 35438
2007-03-28 18:38:33 +00:00
Anton Korobeynikov 7522c9d8e1 Don't allow MatchAddress recurse too much. This trims exponential
behaviour in some cases.

llvm-svn: 35437
2007-03-28 18:36:33 +00:00
Chris Lattner 3d9c1bd9e2 Stop using the foo HTML tag :)
llvm-svn: 35436
2007-03-28 18:27:57 +00:00
Chris Lattner 2ba38c8711 add a note
llvm-svn: 35435
2007-03-28 18:17:19 +00:00
Chris Lattner bcd38852f2 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

llvm-svn: 35434
2007-03-28 18:12:31 +00:00
Chris Lattner 17331da6bd new testcases
llvm-svn: 35433
2007-03-28 18:11:17 +00:00
Chris Lattner 66cb5db76f new testcase
llvm-svn: 35432
2007-03-28 18:03:14 +00:00
Zhou Sheng 117477e28b Avoid unnecessary APInt construction.
llvm-svn: 35431
2007-03-28 17:38:21 +00:00
Chris Lattner a6527d6a61 Dan pointed out that this is done, remove it!
llvm-svn: 35430
2007-03-28 17:26:52 +00:00
Scott Michel 734077b1f0 First test check-in.
llvm-svn: 35429
2007-03-28 17:04:43 +00:00
Zhou Sheng 23f7a1c947 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.

llvm-svn: 35424
2007-03-28 15:02:20 +00:00
Devang Patel 0b013d578d It is not possible to determine dominance between two PHI nodes
based on their ordering. This is applicable to ETForest::dominates() also.

llvm-svn: 35423
2007-03-28 14:57:43 +00:00
Zhou Sheng 2777a31850 1. Make more use of getLowBitsSet/getHighBitsSet.
2. Make the APInt value do the zext/trunc stuff instead of using
   ConstantExpr::getZExt().

llvm-svn: 35422
2007-03-28 09:19:01 +00:00
Evan Cheng d771485d89 Notes on re-materialization.
llvm-svn: 35420
2007-03-28 08:30:04 +00:00
Evan Cheng 603e49c6da Move rematerialization out of beta.
llvm-svn: 35419
2007-03-28 08:26:40 +00:00
Zhou Sheng c2d3309b99 Use UnknownBIts[BitWidth-1] instead of UnknownBIts & SignBits.
llvm-svn: 35418
2007-03-28 05:15:57 +00:00
Jeff Cohen d578f1f87f Fix problem with llvm-config that prevented JIT from being used on x86_64
systems.

llvm-svn: 35416
2007-03-28 04:45:02 +00:00
Reid Spencer 8cd7e8190b Delete the remanant of an obsolete comment.
llvm-svn: 35415
2007-03-28 03:23:22 +00:00
Zhou Sheng 18570b1f14 Remove unused APInt variable.
llvm-svn: 35414
2007-03-28 03:02:21 +00:00
Reid Spencer 15316f9568 Undocument the implementation keyword
Docuemnt the checkpoint keyword

llvm-svn: 35413
2007-03-28 02:46:29 +00:00
Reid Spencer 44259a29c0 Remove use of implementation keyword.
llvm-svn: 35412
2007-03-28 02:38:26 +00:00
Reid Spencer b7e45e705a Regenerate.
llvm-svn: 35411
2007-03-28 02:37:40 +00:00
Reid Spencer 2e35a58838 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.

llvm-svn: 35410
2007-03-28 02:36:42 +00:00
Reid Spencer bad2921deb The implementation keyword was replaced with checkpoint.
llvm-svn: 35409
2007-03-28 02:34:53 +00:00
Zhou Sheng 57e3f7324b 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".

llvm-svn: 35408
2007-03-28 02:19:03 +00:00
Evan Cheng 4388043b25 Scale 1 is always ok.
llvm-svn: 35407
2007-03-28 01:55:52 +00:00
Evan Cheng c2cba18f2b Remove isLegalAddressImmediate.
llvm-svn: 35406
2007-03-28 01:53:55 +00:00
Reid Spencer 6d8e75ddb2 No need to generate the implementation keyword any more. Its frivolous.
llvm-svn: 35405
2007-03-28 01:53:20 +00:00
Reid Spencer de7e7122cd implementation keyword is going .. going .. gone.
llvm-svn: 35404
2007-03-28 01:52:40 +00:00
Evan Cheng 07c42d43a2 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).

llvm-svn: 35403
2007-03-28 01:49:39 +00:00
Chris Lattner 4ba1036a34 don't use 'not' when we can use a positive test
llvm-svn: 35402
2007-03-28 01:43:43 +00:00
Reid Spencer 90bb12c2e7 new test case for PR1280
llvm-svn: 35401
2007-03-28 01:43:35 +00:00
Reid Spencer a5c18bf798 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.

llvm-svn: 35400
2007-03-28 01:36:16 +00:00
Reid Spencer 94a8cb4b4e For PR1280:
Remove test cases for and/xor/add -> trunc/sext that use bit widths that
the targets cannot code gen.

llvm-svn: 35399
2007-03-28 01:35:28 +00:00
Evan Cheng 1f4acbfea9 Added a test case for PR1279.
llvm-svn: 35398
2007-03-28 01:32:57 +00:00
Chris Lattner 4776ebc195 new testcase
llvm-svn: 35397
2007-03-28 01:31:33 +00:00