Reid Spencer [Mon, 2 Apr 2007 02:08:05 +0000 (02:08 +0000)]
Upgrade the bit count intrinsics to have an i32 result.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35578
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 2 Apr 2007 01:45:31 +0000 (01:45 +0000)]
Add a test case to make sure that constant folding of the bit counting
intrinsics works.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35577
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Apr 2007 01:44:59 +0000 (01:44 +0000)]
reduce use of std::set
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35576
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Apr 2007 01:35:34 +0000 (01:35 +0000)]
Various passes before isel split edges and do other CFG-restructuring changes.
isel has its own particular features that it wants in the CFG, in order to
reduce the number of times a constant is computed, etc. Make sure that we
clean up the CFG before doing any other things for isel. Doing so can
dramatically reduce the number of split edges and reduce the number of
places that constants get computed. For example, this shrinks
CodeGen/Generic/phi-immediate-factoring.ll from 44 to 37 instructions on X86,
and from 21 to 17 MBB's in the output. This is primarily a code size win,
not a performance win.
This implements CodeGen/Generic/phi-immediate-factoring.ll and PR1296.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35575
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Apr 2007 01:32:59 +0000 (01:32 +0000)]
new testcase for PR1296
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35574
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Mon, 2 Apr 2007 01:30:03 +0000 (01:30 +0000)]
- Divides the comparisons in two types: comparisons that only use N and Z
flags (ARMISD::CMPNZ) and comparisons that use all flags (ARMISD::CMP).
- Defines the instructions: TST, TEQ (ARM) and TST (Thumb).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35573
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Apr 2007 01:21:19 +0000 (01:21 +0000)]
add range version of insert()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35572
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 2 Apr 2007 01:14:00 +0000 (01:14 +0000)]
Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35571
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 2 Apr 2007 01:13:36 +0000 (01:13 +0000)]
Don't upgrade functions that look like a bswap intrinsic but aren't.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35570
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 2 Apr 2007 01:09:19 +0000 (01:09 +0000)]
Let llvm-upgrade upgrade the bswap intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35569
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 2 Apr 2007 01:08:02 +0000 (01:08 +0000)]
Let llvm-upgrade upgrade bswap intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35568
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 2 Apr 2007 01:01:49 +0000 (01:01 +0000)]
For PR1297:
Make sure that the CTPOP result is casted to i32 as the bit counting
intrinsics all return i32 now (this affects CTLZ and CTTZ as well).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35567
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 2 Apr 2007 00:51:15 +0000 (00:51 +0000)]
Revert the name changes for llvm.bswap to allow (and test) llvm-upgrade of
this intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35566
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 2 Apr 2007 00:50:28 +0000 (00:50 +0000)]
Handle upgrade of llvm.bswap.iXX to llvm.bswap.iXX.iXX per new naming
rules for overloaded intrinsic functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35565
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 2 Apr 2007 00:19:52 +0000 (00:19 +0000)]
Fix some bswap typos that Chris noticed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35564
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 1 Apr 2007 22:21:39 +0000 (22:21 +0000)]
print the type of an inserted IV in -debug mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35563
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sun, 1 Apr 2007 22:03:04 +0000 (22:03 +0000)]
Add testcase for correct sret handling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35562
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 1 Apr 2007 20:57:36 +0000 (20:57 +0000)]
simplify this code, make it work for ap ints
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35561
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 1 Apr 2007 20:49:36 +0000 (20:49 +0000)]
fix breakage from last night, simplify code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35560
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 1 Apr 2007 20:14:46 +0000 (20:14 +0000)]
gcc 3.4.4 is known-bad on x86-64
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35559
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 1 Apr 2007 19:00:37 +0000 (19:00 +0000)]
Preview documentation for additional intrinsic functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35558
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Sun, 1 Apr 2007 18:58:22 +0000 (18:58 +0000)]
Unbreak VC++ build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35557
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 1 Apr 2007 18:42:20 +0000 (18:42 +0000)]
The bit counting intrinsics return i32 not the operand type. This fixes
last night's regression in SingleSource/UnitTests/2005-05-11-Popcount-ffs-fls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35556
91177308-0d34-0410-b5e6-
96231b3b80d8
Zhou Sheng [Sun, 1 Apr 2007 17:13:37 +0000 (17:13 +0000)]
Avoid unnecessary APInt construction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35555
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sun, 1 Apr 2007 15:29:02 +0000 (15:29 +0000)]
Testcase for the problem worked around in
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-
20070319/046204.html
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35554
91177308-0d34-0410-b5e6-
96231b3b80d8
Zhou Sheng [Sun, 1 Apr 2007 12:45:33 +0000 (12:45 +0000)]
Remove unused methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35553
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 1 Apr 2007 08:27:01 +0000 (08:27 +0000)]
For PR1297:
Preview documentation for the llvm.bit.concat intrinsic (yet to be
implemented).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35552
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sun, 1 Apr 2007 08:06:46 +0000 (08:06 +0000)]
Add i16 address mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35551
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 1 Apr 2007 08:04:23 +0000 (08:04 +0000)]
For PR1297:
Document changes to bswap and bit counting intrinsics. bswap's name now
requires two types in the suffix per overloaded intrinsic naming rules.
The ctpop, cttz, and ctlz intrinsics were changed to always return i32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35550
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 1 Apr 2007 07:44:52 +0000 (07:44 +0000)]
Mention how to create overloaded intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35549
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 1 Apr 2007 07:36:28 +0000 (07:36 +0000)]
For PR1297:
Update these test cases to use proper signatures for bswap which is now
and overloaded intrinsic. Its name must be of the form llvm.bswap.i32.i32
since both the parameter and the result or of type "iAny". Also, the
bit counting intrinsics changed to always return i32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35548
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 1 Apr 2007 07:35:23 +0000 (07:35 +0000)]
For PR1297:
Support overloaded intrinsics bswap, ctpop, cttz, ctlz.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35547
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 1 Apr 2007 07:34:11 +0000 (07:34 +0000)]
For PR1297:
Adjust for changes in the bit counting intrinsics. They all return i32
now so we have to trunc/zext the DAG node accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35546
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 1 Apr 2007 07:32:19 +0000 (07:32 +0000)]
For PR1297:
Change getOperationName to return std::string instead of const char*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35545
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 1 Apr 2007 07:30:57 +0000 (07:30 +0000)]
For PR1297:
Implement bswap, ctpop, ctlz, and cttz utilizing the new overloaded
intrinsic feature of tblgen. By defining llvm_int_ty to have an ValueType
of iAny, any intrinsic using that type becomes an overloaded intrinsic.
This signals that a) any integer type could be used for that argument and
b) the intrinsic needs a suffix to match each such argument for the
actual intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35544
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 1 Apr 2007 07:28:37 +0000 (07:28 +0000)]
For PR1297:
Intrinsic functions might need to be generated (if they are overloaded) so
returning a const char* is no longer possible. Change getOperationName to
return a std::string instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35543
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 1 Apr 2007 07:26:35 +0000 (07:26 +0000)]
For PR1297:
Change the interface to the getName, getType, getDeclaration methods to
include the "actual" types of the result/arguments. This is necessary to
support overloaded intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35542
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 1 Apr 2007 07:25:33 +0000 (07:25 +0000)]
For PR1297:
Implement "actual" argument types for the Intrinsic member functions. This
involves changing the getName, getType, and getDeclaration methods to have
optional parameters for the actual types. These are necessary in order for
the type/name to be constructed properly for overloaded intrinsics. Only
the caller knows the actual argument types desired.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35541
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 1 Apr 2007 07:22:57 +0000 (07:22 +0000)]
For PR1297:
1. Clear up confusion between "GotBits" and "ExpectBits". GotBits is the
type actually provided. ExpectedBits is the type expected for the
intrinsics. Before this patch, it was reversed!
2. Implement checks for overloaded intrinsics. This involves computing the
suffix expected and making sure the suffix matches the function name. It
also includes some intrinsic-specific checks such as ensuring that the
bswap parameter and result are the same width and an even number of bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35540
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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