Devang Patel [Thu, 1 Feb 2007 22:10:12 +0000 (22:10 +0000)]
Pretty print pass managers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33767
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 1 Feb 2007 22:09:37 +0000 (22:09 +0000)]
Pretty print pass manager
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33766
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 1 Feb 2007 22:08:25 +0000 (22:08 +0000)]
cvs commit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33765
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 1 Feb 2007 21:58:46 +0000 (21:58 +0000)]
Make sure the value passed to test function is initialized.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33764
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Thu, 1 Feb 2007 21:43:53 +0000 (21:43 +0000)]
Define PrivateGlobalPrefix for ARM Linux. (Fix CodeGen/ARM/large_stack.ll)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33763
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 1 Feb 2007 20:44:52 +0000 (20:44 +0000)]
Pasto. Lots of it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33762
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 1 Feb 2007 19:14:51 +0000 (19:14 +0000)]
Ensure that ConvertOperandToType generates a result conversion by
initializing the Res variable to 0 and asserting it is not zero after the
result should have been created.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33761
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 1 Feb 2007 18:48:38 +0000 (18:48 +0000)]
Fix bugs in the inliner having to do with single-entry phi nodes and valuemap
updating. These were exposed by Devang's recent passmgr changes (with
non-default passorderings) because now the inliner can be interleved with
the LCSSA pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33760
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Thu, 1 Feb 2007 18:25:34 +0000 (18:25 +0000)]
Fix .thumb_func directive on linux.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33759
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 1 Feb 2007 17:48:20 +0000 (17:48 +0000)]
Slip up
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33758
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 1 Feb 2007 17:46:10 +0000 (17:46 +0000)]
Emit labels as label_n and not as debug_n
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33757
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 1 Feb 2007 17:12:54 +0000 (17:12 +0000)]
preserve sections of globals
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33756
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 1 Feb 2007 16:31:34 +0000 (16:31 +0000)]
Support for non-landing pad exception handling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33755
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 1 Feb 2007 12:09:51 +0000 (12:09 +0000)]
Fix a homonymo in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33754
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 1 Feb 2007 10:16:15 +0000 (10:16 +0000)]
- Off by one bugs in maximum displacement calculation / testing.
- In thumb mode, a new constpool island BB size should be 4 + 2 to
compensate for the potential padding due to alignment requirement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33753
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 1 Feb 2007 08:39:52 +0000 (08:39 +0000)]
Fixed uninitialized stuff inside LegalizeDAG. Fortunately, the only
affected part is codegen of "memove" inside x86 backend. This fixes
PR1144
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33752
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 1 Feb 2007 07:49:59 +0000 (07:49 +0000)]
Add a new dense hash table implementation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33751
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 1 Feb 2007 05:33:21 +0000 (05:33 +0000)]
improve comments, add an assertion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33750
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 1 Feb 2007 05:32:05 +0000 (05:32 +0000)]
rename DenseMap to IndexedMap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33749
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 1 Feb 2007 05:28:10 +0000 (05:28 +0000)]
rename DenseMap -> IndexedMap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33748
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 1 Feb 2007 04:59:37 +0000 (04:59 +0000)]
silence some warnings when assertions are disabled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33747
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 1 Feb 2007 04:57:00 +0000 (04:57 +0000)]
silence warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33746
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 1 Feb 2007 04:55:59 +0000 (04:55 +0000)]
Fit in 80 columns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33745
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 1 Feb 2007 03:04:49 +0000 (03:04 +0000)]
.set pc relative displacement bug: label should be moved down one instruction
to just before the add r1, pc:
Before:
.set PCRELV0, (LJTI1_0_0-(LPCRELL0+4))
LPCRELL0:
mov r1, #PCRELV0
add r1, pc
Now:
.set PCRELV0, (LJTI1_0_0-(LPCRELL0+4))
mov r1, #PCRELV0
LPCRELL0:
add r1, pc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33744
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 1 Feb 2007 02:46:20 +0000 (02:46 +0000)]
Add a note.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33743
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 1 Feb 2007 02:27:24 +0000 (02:27 +0000)]
Add a test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33742
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 1 Feb 2007 02:18:36 +0000 (02:18 +0000)]
Also set alignment of stack-based structs to 4 in thumb mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33741
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 1 Feb 2007 01:56:43 +0000 (01:56 +0000)]
Added a thumb vararg test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33740
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 1 Feb 2007 01:49:46 +0000 (01:49 +0000)]
Special epilogue for vararg functions. We cannot do a pop to pc because
there follows a sp increment for the va register save region. Instead issue
a separate pop to another register, increment sp, and then return:
pop {r4, r5, r6, r7}
pop {r3}
add sp, #3 * 4
bx r3
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33739
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 1 Feb 2007 01:46:06 +0000 (01:46 +0000)]
Add printVersion(). Linker can use it to print LLVM version number.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33738
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 1 Feb 2007 01:43:37 +0000 (01:43 +0000)]
Add PrintVersionMessage() that tools can use to print version number
without exiting program.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33737
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 1 Feb 2007 01:21:12 +0000 (01:21 +0000)]
Emit a better assertion message for PR1133
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33736
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 1 Feb 2007 01:18:57 +0000 (01:18 +0000)]
Include Makefile.config before testing OS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33735
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 1 Feb 2007 01:09:47 +0000 (01:09 +0000)]
Pessmistically assume the .align 2 before the first constpool entry adds
two bytes padding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33734
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 1 Feb 2007 01:07:48 +0000 (01:07 +0000)]
Possible JT improvements.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33733
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 1 Feb 2007 00:39:08 +0000 (00:39 +0000)]
Fix CodeGen/PowerPC/2007-01-31-InlineAsmAddrMode.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33732
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 1 Feb 2007 00:38:56 +0000 (00:38 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33731
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 31 Jan 2007 23:51:35 +0000 (23:51 +0000)]
Fix test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33730
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 31 Jan 2007 23:39:39 +0000 (23:39 +0000)]
Don't emit unnecessary .align directive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33729
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 31 Jan 2007 23:35:18 +0000 (23:35 +0000)]
Handle an interesting corner case: the constpool_entry being reference is two
instructions away, i.e. its address is equal to PC.
%r0 = tLDRpci <cp#0>
bx
CONSTPOOL_ENTRY 0 <cp#0>, 4
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33728
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 31 Jan 2007 23:17:29 +0000 (23:17 +0000)]
Don't want to add FramePtr to callee save spill list twice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33727
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 31 Jan 2007 22:30:26 +0000 (22:30 +0000)]
Fix build breakage by using correct arguments to getIndexedType in the
GEP constructors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33726
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 31 Jan 2007 22:27:07 +0000 (22:27 +0000)]
Fix test cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33725
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 31 Jan 2007 22:25:33 +0000 (22:25 +0000)]
Darwin ABI requires FP to point to stack slot of prev FP.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33724
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 31 Jan 2007 22:11:38 +0000 (22:11 +0000)]
Add entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33723
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 31 Jan 2007 22:08:40 +0000 (22:08 +0000)]
Thumb add sp, #imm requires the immediate value be multiple of 4. For now,
change preferred alignment of short, byte, bool to 4.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33722
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 31 Jan 2007 22:06:44 +0000 (22:06 +0000)]
Update comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33721
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 31 Jan 2007 21:39:12 +0000 (21:39 +0000)]
Preview of the shift instructions becoming Binary Operators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33720
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 31 Jan 2007 21:31:25 +0000 (21:31 +0000)]
Dead comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33719
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 31 Jan 2007 21:27:38 +0000 (21:27 +0000)]
Add some debug output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33718
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 31 Jan 2007 20:12:31 +0000 (20:12 +0000)]
Thumb asm syntax does not want 's' suffix for flag setting opcodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33717
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jan 2007 20:10:54 +0000 (20:10 +0000)]
shutdown the app when done.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33716
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jan 2007 20:08:52 +0000 (20:08 +0000)]
remove temporary vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33715
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jan 2007 20:08:34 +0000 (20:08 +0000)]
add missing ctor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33714
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jan 2007 20:07:32 +0000 (20:07 +0000)]
eliminate temporary vectors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33713
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jan 2007 19:59:55 +0000 (19:59 +0000)]
eliminate temporary vectors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33712
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 31 Jan 2007 19:57:44 +0000 (19:57 +0000)]
When determining whether a pc relative branch / load displacement fits in the
instruction field, adjust it for PC value (4 for thumb, 8 for arm).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33711
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jan 2007 19:56:15 +0000 (19:56 +0000)]
eliminate a temporary vector while parsing gep's from bc files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33710
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jan 2007 19:49:20 +0000 (19:49 +0000)]
A relatively simple PPC optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33709
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jan 2007 19:47:18 +0000 (19:47 +0000)]
implement the new GEP instruction ctors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33708
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 31 Jan 2007 18:29:27 +0000 (18:29 +0000)]
Some comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33707
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 31 Jan 2007 18:19:07 +0000 (18:19 +0000)]
ConstPool island bug: watch out for cases where UserMI is the last MI of the BB.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33706
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jan 2007 18:09:17 +0000 (18:09 +0000)]
Revert another incorrectly applied chunk, which fixes InstCombine/vec_insert_to_shuffle.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33705
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jan 2007 18:04:55 +0000 (18:04 +0000)]
Fix a minor bug in my patch yesterday that broken ConstProp/bswap.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33704
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Wed, 31 Jan 2007 13:12:46 +0000 (13:12 +0000)]
ARM fix: Miscompilation when frame pointer can't be eliminated. Uninitialized frame pointer register is used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33703
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 31 Jan 2007 09:30:58 +0000 (09:30 +0000)]
Specify the right CC for comparison libcalls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33702
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 31 Jan 2007 09:29:11 +0000 (09:29 +0000)]
Allow the target to override the ISD::CondCode that's to be used to test the
result of the comparison libcall against zero.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33701
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 31 Jan 2007 09:26:31 +0000 (09:26 +0000)]
Added O_F32 and O_64 in addition to UO_F32 and UO_64 even though by
default they call the same libgcc routine. The result of the calls are
"tested" differently.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33700
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 31 Jan 2007 08:40:13 +0000 (08:40 +0000)]
Observe -soft-float.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33699
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jan 2007 06:04:41 +0000 (06:04 +0000)]
minor cleanups. Fix off-by-one in accounting the number of nodes when the
table grows.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33698
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jan 2007 04:45:28 +0000 (04:45 +0000)]
shutdown at end of run
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33697
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jan 2007 04:44:08 +0000 (04:44 +0000)]
regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33696
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jan 2007 04:43:46 +0000 (04:43 +0000)]
eliminate a temporary vector
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33695
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jan 2007 04:42:05 +0000 (04:42 +0000)]
elimiante a temporary vector
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33694
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jan 2007 04:40:53 +0000 (04:40 +0000)]
eliminate temporary vectors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33693
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jan 2007 04:40:28 +0000 (04:40 +0000)]
Revise APIs for creating constantexpr GEPs to not require the use of vectors.
This allows us to eliminate many temporary vectors, and theirassociated malloc/free pairs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33692
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jan 2007 04:39:29 +0000 (04:39 +0000)]
Revise APIs for creating constantexpr GEPs to not require the use of
vectors. This allows us to eliminate many temporary vectors, and their
associated malloc/free pairs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33691
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 31 Jan 2007 02:22:22 +0000 (02:22 +0000)]
- Added Thumb constpool island support.
- Islands are inserted right after the user MI since thumb LDR cannot encode
negative offset.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33690
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 31 Jan 2007 01:18:59 +0000 (01:18 +0000)]
Fix version information for new instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33689
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jan 2007 00:53:10 +0000 (00:53 +0000)]
Move symbolic constant folding code to libanalysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33688
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jan 2007 00:51:48 +0000 (00:51 +0000)]
Move some symbolic constant folding code out of instcombine into a place
it can be used by multiple clients. This specifically allows the inliner
to constant fold symbolically.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33687
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 31 Jan 2007 00:38:46 +0000 (00:38 +0000)]
Correct the instruction op codes to meet current head changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33686
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 31 Jan 2007 00:26:08 +0000 (00:26 +0000)]
Excise documentation about Compaction Tables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33685
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jan 2007 23:52:44 +0000 (23:52 +0000)]
The local "ConstantFold" method is now just a watered down version of
ConstantFoldInstOperands. Switch to ConstantFoldInstOperands and remove
ConstantFold.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33683
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jan 2007 23:47:35 +0000 (23:47 +0000)]
Make this a *real* header:
1. Remove using namespace llvm;
2. Remove unneeded #includes.
3. Add #include guard.
Also add prototypes for new code moved from transformutils to libanalysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33682
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jan 2007 23:46:43 +0000 (23:46 +0000)]
move constant folding code out of Utils/Local into libanalysis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33681
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jan 2007 23:46:24 +0000 (23:46 +0000)]
Adjust #includes to match movement of constant folding code from transformutils to libanalysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33680
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jan 2007 23:45:45 +0000 (23:45 +0000)]
move a bunch of constant folding code f rom Transforms/Utils/Local.cpp into
libanalysis/ConstantFolding.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33679
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jan 2007 23:29:47 +0000 (23:29 +0000)]
remove now-dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33678
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jan 2007 23:28:39 +0000 (23:28 +0000)]
the inliner pass now passes targetdata down through the inliner api's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33677
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jan 2007 23:22:39 +0000 (23:22 +0000)]
The inliner/cloner can now optionally take TargetData info, which can be
used by constant folding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33676
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jan 2007 23:16:22 +0000 (23:16 +0000)]
reformat comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33675
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jan 2007 23:16:15 +0000 (23:16 +0000)]
pass TD to constant folding apis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33674
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jan 2007 23:15:43 +0000 (23:15 +0000)]
adjust to constant folding api changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33673
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jan 2007 23:15:19 +0000 (23:15 +0000)]
use smallvector instead of vector to make constant folding a bit more efficient
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33672
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jan 2007 23:14:52 +0000 (23:14 +0000)]
adjust to api change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33671
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jan 2007 23:13:49 +0000 (23:13 +0000)]
Change constant folding APIs to take an optional TargetData, and change
ConstantFoldInstOperands/ConstantFoldCall to take a pointer to an array
of operands + size, instead of an std::vector.
In some cases, switch to using a SmallVector instead of a vector.
This allows us to get rid of some special case gross code that was there
to avoid the cost of constructing a vector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33670
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jan 2007 23:12:47 +0000 (23:12 +0000)]
Change constant folding APIs to take an optional TargetData, and change
ConstantFoldInstOperands/ConstantFoldCall to take a pointer to an array
of operands + size, instead of an std::vector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33669
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 30 Jan 2007 23:06:22 +0000 (23:06 +0000)]
Combine two tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33668
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 30 Jan 2007 23:01:46 +0000 (23:01 +0000)]
During PEI, if the immediate value of sp + offset is too large (i.e. something
that would require > 3 instructions to materialize), load the immediate from a
constpool entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33667
91177308-0d34-0410-b5e6-
96231b3b80d8