Chris Lattner
cb292fc808
close run-away tag
...
llvm-svn: 33828
2007-02-03 07:59:51 +00:00
Chris Lattner
ac76029f91
fill in the section on Set-like containers.
...
llvm-svn: 33827
2007-02-03 07:59:07 +00:00
Chris Lattner
694e110a2e
fix validation issues
...
llvm-svn: 33823
2007-02-03 03:06:52 +00:00
Chris Lattner
099213becc
fix validation problems
...
llvm-svn: 33822
2007-02-03 03:05:57 +00:00
Chris Lattner
9d9985cab5
Add some notes about choice of container.
...
llvm-svn: 33821
2007-02-03 03:04:03 +00:00
Chris Lattner
a025ab9fa8
remove a dead header
...
llvm-svn: 33820
2007-02-03 03:02:10 +00:00
Bill Wendling
a883f55eca
Moved the GetTargetRelocation method from PPCMachOWriter to here. It uses
...
non-Mach-O-specific information.
llvm-svn: 33819
2007-02-03 02:41:58 +00:00
Bill Wendling
2c350921e2
Moved the GetTargetRelocation method to the PPCMachOWriterInfo object. The
...
PPCMachOWriter is now trivial.
llvm-svn: 33818
2007-02-03 02:40:57 +00:00
Bill Wendling
c85e32c730
Put destructor out-of-line.
...
llvm-svn: 33817
2007-02-03 02:40:10 +00:00
Bill Wendling
c27c70dc3d
Pass in non-Mach-O-specific parameters to the GetTargetRelocation method.
...
llvm-svn: 33816
2007-02-03 02:39:40 +00:00
Bill Wendling
f382ea30fd
Added GetTargetRelocation method.
...
llvm-svn: 33815
2007-02-03 02:38:57 +00:00
Bill Wendling
0ceb8bb770
Added some accessor methods.
...
llvm-svn: 33814
2007-02-03 02:38:15 +00:00
Bill Wendling
761d275c35
Moved MachORelocation to its own header file. Have a call through the
...
TargetMachOInfo object to the GetTargetRelocation method. Pass into it
non-Mach-O-specific parameters.
llvm-svn: 33813
2007-02-03 02:37:51 +00:00
Bill Wendling
98ea0ea39e
New file for the MachORelocation structure. It doesn't have to be tied to the
...
MachOWriter.h file.
llvm-svn: 33812
2007-02-03 02:36:17 +00:00
Evan Cheng
36d559d369
- Branch max. displacement calculation bug.
...
- Add debugging info.
llvm-svn: 33811
2007-02-03 02:08:34 +00:00
Chris Lattner
0a30b1f00f
switch the sched unit map over to use a DenseMap instead of std::map. This
...
speeds up isel as a whole time by 2.6%.
llvm-svn: 33810
2007-02-03 01:34:13 +00:00
Chris Lattner
e83030b9c8
Switch ComputeTopDownOrdering over to using a densemap. This speeds up
...
isel as a whole by 3.3%.
llvm-svn: 33809
2007-02-03 01:12:36 +00:00
Evan Cheng
bcc6db26e1
__builtin_isunordered test case.
...
llvm-svn: 33808
2007-02-03 00:50:45 +00:00
Reid Spencer
04c5761386
For PR1152:
...
Update documentation to reflect that this isn't a full-blown executable
any more.
llvm-svn: 33807
2007-02-03 00:44:47 +00:00
Evan Cheng
f309d13677
Pasto
...
llvm-svn: 33806
2007-02-03 00:43:46 +00:00
Reid Spencer
2e2e43edf4
And even more correctly.
...
llvm-svn: 33805
2007-02-03 00:33:26 +00:00
Reid Spencer
dc83457a78
Format the examples correctly.
...
llvm-svn: 33804
2007-02-03 00:32:23 +00:00
Reid Spencer
f3293bad2e
For PR1152:
...
Update documentation to reflect addition of gccas functionality into opt.
llvm-svn: 33803
2007-02-03 00:21:56 +00:00
Lauro Ramos Venancio
1a0ae50528
Improves alloca test. Verifies SP restoration.
...
llvm-svn: 33802
2007-02-03 00:16:21 +00:00
Chris Lattner
1bfc7ab6a7
Switch inliner over to use DenseMap instead of std::map for ValueMap. This
...
speeds up the inliner 16%.
llvm-svn: 33801
2007-02-03 00:08:31 +00:00
Lauro Ramos Venancio
b739f7d337
bugfix: SP isn't resetted when function has FP and there is no spills.
...
llvm-svn: 33800
2007-02-02 23:08:40 +00:00
Chris Lattner
fc8190dbb7
Switch this back to using an std::map. DenseMap entries are getting invalidated
...
llvm-svn: 33799
2007-02-02 22:36:16 +00:00
Reid Spencer
697f1104e7
Two improvements:
...
1. Allow -- as well as - options (Bill Wendling)
2. Pass unrecognized options to opt and let it handle the errors, if any
(Chris Lattner).
llvm-svn: 33798
2007-02-02 21:49:27 +00:00
Chris Lattner
f4af392bd9
silence annoying warning in release-asserts build
...
llvm-svn: 33797
2007-02-02 21:19:18 +00:00
Chris Lattner
37d400a83d
Remove more malloc thrashing, this speeds up IPSCCP on kimwitu another 6.7%.
...
llvm-svn: 33796
2007-02-02 21:15:06 +00:00
Evan Cheng
f089c99f1d
Another thumb large stack offset codegen bug.
...
llvm-svn: 33795
2007-02-02 21:08:39 +00:00
Chris Lattner
3e667f3e61
Convert an std::set to SmallSet, this speeds up IPSCCP 17% on kimwitu.
...
llvm-svn: 33794
2007-02-02 20:57:39 +00:00
Chris Lattner
0e7ec675da
eliminate a malloc/free for (almost) every GEP processed. This speeds up
...
IPSCCP 3.3% on kimwitu.
llvm-svn: 33793
2007-02-02 20:51:48 +00:00
Chris Lattner
067d607e0e
switch hash_map's over to DenseMap in SCCP. This speeds up SCCP by 30% in
...
a release-assert build on kimwitu++.
llvm-svn: 33792
2007-02-02 20:38:30 +00:00
Chris Lattner
1a49acad38
add find/erase, add const iterators, fix bugs in iterators.
...
llvm-svn: 33791
2007-02-02 20:34:32 +00:00
Chris Lattner
5b8ecfdb89
add iterators
...
llvm-svn: 33790
2007-02-02 19:27:13 +00:00
Evan Cheng
d9d94700a4
Use MBB.empty() instead of MBB.size() for speed.
...
llvm-svn: 33789
2007-02-02 19:09:19 +00:00
Evan Cheng
3ad22567b3
Watch out for empty BB.
...
llvm-svn: 33788
2007-02-02 18:49:02 +00:00
Reid Spencer
583c90d4c2
For PR1152:
...
Step 2: Make plug compatible shell script to replace gccas binary.
llvm-svn: 33787
2007-02-02 15:50:58 +00:00
Reid Spencer
22dbfb626f
For PR1152:
...
Step 1: Copy gccas functionality to opt. This endows opt with a new
-std-compile-opts option to get the set of optimization passes that
gccas used. It also adds -disable-inlining and -disable-opt which
both apply only if -std-compile-opts is given. The -strip-debug option
was also removed. It just makes sure that "-strip" gets done early and
is mostly there for compatibility with gccas. Finally, a new
-verify-each option will cause the verify pass to be run after each pass.
llvm-svn: 33786
2007-02-02 14:46:29 +00:00
Reid Spencer
2f34b98cbf
Remove dead code and fix indentation per Chris' review comments.
...
llvm-svn: 33785
2007-02-02 14:41:37 +00:00
Reid Spencer
5dc84cdab7
Use short form of BinaryOperator create function.
...
llvm-svn: 33784
2007-02-02 14:09:34 +00:00
Reid Spencer
0d5f9237b6
Use short form of binary operator create functions.
...
llvm-svn: 33783
2007-02-02 14:08:20 +00:00
Reid Spencer
2ab0193da1
Put the Shift instructions in the right section.
...
llvm-svn: 33782
2007-02-02 13:57:07 +00:00
Reid Spencer
0cdd04fa90
Fix a comment that needed to change after SHIFT patch landed.
...
llvm-svn: 33781
2007-02-02 13:54:55 +00:00
Evan Cheng
fda6550545
Ugh. Only meant to do this in thumb mode.
...
llvm-svn: 33780
2007-02-02 08:58:48 +00:00
Chris Lattner
d5fea61d98
bugfix for reid's shift patch.
...
llvm-svn: 33779
2007-02-02 05:29:55 +00:00
Chris Lattner
2d5b4ac38f
add a note
...
llvm-svn: 33778
2007-02-02 04:36:46 +00:00
Reid Spencer
b958c7ec8a
1. Break long lines to 80 col limit
...
2. Fix indentation
3. Renumber the instruction opcodes after the Shift became a binary operator.
llvm-svn: 33777
2007-02-02 02:30:19 +00:00
Reid Spencer
2341c22ec7
Changes to support making the shift instructions be true BinaryOperators.
...
This feature is needed in order to support shifts of more than 255 bits
on large integer types. This changes the syntax for llvm assembly to
make shl, ashr and lshr instructions look like a binary operator:
shl i32 %X, 1
instead of
shl i32 %X, i8 1
Additionally, this should help a few passes perform additional optimizations.
llvm-svn: 33776
2007-02-02 02:16:23 +00:00
Evan Cheng
48b094d9dd
Fix a bug in getARMCMP (which translate CondCode to ARM specific CC) when the RHS is a constant.
...
llvm-svn: 33775
2007-02-02 01:53:26 +00:00
Evan Cheng
9b9e4ae796
Thumb does not have clz.
...
llvm-svn: 33773
2007-02-01 23:34:03 +00:00
Devang Patel
b8a29bdde9
Dump function names when debug-pass=Executions is used.
...
llvm-svn: 33772
2007-02-01 22:38:33 +00:00
Chris Lattner
c904205d28
Fix Transforms/InstCombine/2007-02-01-LoadSinkAlloca.ll, a serious code
...
pessimization where instcombine can sink a load (good for code size) that
prevents an alloca from being promoted by mem2reg (bad for everything).
llvm-svn: 33771
2007-02-01 22:30:07 +00:00
Chris Lattner
9a677c585c
new testcase for serious code pessimization
...
llvm-svn: 33770
2007-02-01 22:29:26 +00:00
Reid Spencer
26cc265311
My mistake, my environment wasn't up to date. This passes now.
...
llvm-svn: 33769
2007-02-01 22:26:42 +00:00
Reid Spencer
a5dc052682
XFAIL this on x86 linux as it continues to fail.
...
llvm-svn: 33768
2007-02-01 22:10:46 +00:00
Devang Patel
04bb891670
Pretty print pass managers.
...
llvm-svn: 33767
2007-02-01 22:10:12 +00:00
Devang Patel
f7fea8adf3
Pretty print pass manager
...
llvm-svn: 33766
2007-02-01 22:09:37 +00:00
Devang Patel
e3858e6674
cvs commit
...
llvm-svn: 33765
2007-02-01 22:08:25 +00:00
Reid Spencer
a8ee496f9e
Make sure the value passed to test function is initialized.
...
llvm-svn: 33764
2007-02-01 21:58:46 +00:00
Lauro Ramos Venancio
2c355da986
Define PrivateGlobalPrefix for ARM Linux. (Fix CodeGen/ARM/large_stack.ll)
...
llvm-svn: 33763
2007-02-01 21:43:53 +00:00
Evan Cheng
fd522996c8
Pasto. Lots of it.
...
llvm-svn: 33762
2007-02-01 20:44:52 +00:00
Reid Spencer
26c642de74
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.
llvm-svn: 33761
2007-02-01 19:14:51 +00:00
Chris Lattner
ce494229a1
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.
llvm-svn: 33760
2007-02-01 18:48:38 +00:00
Lauro Ramos Venancio
903e01d407
Fix .thumb_func directive on linux.
...
llvm-svn: 33759
2007-02-01 18:25:34 +00:00
Jim Laskey
f970221c4d
Slip up
...
llvm-svn: 33758
2007-02-01 17:48:20 +00:00
Jim Laskey
894ceb1c6f
Emit labels as label_n and not as debug_n
...
llvm-svn: 33757
2007-02-01 17:46:10 +00:00
Andrew Lenharth
dd924e4e95
preserve sections of globals
...
llvm-svn: 33756
2007-02-01 17:12:54 +00:00
Jim Laskey
c3de9b4b14
Support for non-landing pad exception handling.
...
llvm-svn: 33755
2007-02-01 16:31:34 +00:00
Reid Spencer
e15a8b7a55
Fix a homonymo in a comment.
...
llvm-svn: 33754
2007-02-01 12:09:51 +00:00
Evan Cheng
f9a4c690de
- 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.
llvm-svn: 33753
2007-02-01 10:16:15 +00:00
Anton Korobeynikov
1b4e6015b4
Fixed uninitialized stuff inside LegalizeDAG. Fortunately, the only
...
affected part is codegen of "memove" inside x86 backend. This fixes
PR1144
llvm-svn: 33752
2007-02-01 08:39:52 +00:00
Chris Lattner
8001a63281
Add a new dense hash table implementation
...
llvm-svn: 33751
2007-02-01 07:49:59 +00:00
Chris Lattner
4f5cdecde3
improve comments, add an assertion
...
llvm-svn: 33750
2007-02-01 05:33:21 +00:00
Chris Lattner
1003dc72b4
rename DenseMap to IndexedMap.
...
llvm-svn: 33749
2007-02-01 05:32:05 +00:00
Chris Lattner
dcdfa788b1
rename DenseMap -> IndexedMap.
...
llvm-svn: 33748
2007-02-01 05:28:10 +00:00
Chris Lattner
f14c76cf5d
silence some warnings when assertions are disabled.
...
llvm-svn: 33747
2007-02-01 04:59:37 +00:00
Chris Lattner
104fc7f823
silence warning
...
llvm-svn: 33746
2007-02-01 04:57:00 +00:00
Chris Lattner
296a83cefb
Fit in 80 columns
...
llvm-svn: 33745
2007-02-01 04:55:59 +00:00
Evan Cheng
06736d0f88
.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
llvm-svn: 33744
2007-02-01 03:04:49 +00:00
Evan Cheng
0df1536173
Add a note.
...
llvm-svn: 33743
2007-02-01 02:46:20 +00:00
Evan Cheng
210cbc43a8
Add a test case.
...
llvm-svn: 33742
2007-02-01 02:27:24 +00:00
Evan Cheng
e724492566
Also set alignment of stack-based structs to 4 in thumb mode.
...
llvm-svn: 33741
2007-02-01 02:18:36 +00:00
Evan Cheng
c79b96b00d
Added a thumb vararg test.
...
llvm-svn: 33740
2007-02-01 01:56:43 +00:00
Evan Cheng
e7e966de5e
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
llvm-svn: 33739
2007-02-01 01:49:46 +00:00
Devang Patel
df4e992af8
Add printVersion(). Linker can use it to print LLVM version number.
...
llvm-svn: 33738
2007-02-01 01:46:06 +00:00
Devang Patel
9eb2caaeb6
Add PrintVersionMessage() that tools can use to print version number
...
without exiting program.
llvm-svn: 33737
2007-02-01 01:43:37 +00:00
Chris Lattner
e3eeb24a86
Emit a better assertion message for PR1133
...
llvm-svn: 33736
2007-02-01 01:21:12 +00:00
Devang Patel
ea0568392e
Include Makefile.config before testing OS.
...
llvm-svn: 33735
2007-02-01 01:18:57 +00:00
Evan Cheng
234e031e36
Pessmistically assume the .align 2 before the first constpool entry adds
...
two bytes padding.
llvm-svn: 33734
2007-02-01 01:09:47 +00:00
Evan Cheng
29f920877d
Possible JT improvements.
...
llvm-svn: 33733
2007-02-01 01:07:48 +00:00
Chris Lattner
f7937005a3
Fix CodeGen/PowerPC/2007-01-31-InlineAsmAddrMode.ll
...
llvm-svn: 33732
2007-02-01 00:39:08 +00:00
Chris Lattner
667ff4832e
new testcase
...
llvm-svn: 33731
2007-02-01 00:38:56 +00:00
Evan Cheng
b7a08adae6
Fix test case.
...
llvm-svn: 33730
2007-01-31 23:51:35 +00:00
Evan Cheng
ed81dea45b
Don't emit unnecessary .align directive.
...
llvm-svn: 33729
2007-01-31 23:39:39 +00:00
Evan Cheng
e5c19993cd
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
llvm-svn: 33728
2007-01-31 23:35:18 +00:00
Evan Cheng
b0ff625a31
Don't want to add FramePtr to callee save spill list twice.
...
llvm-svn: 33727
2007-01-31 23:17:29 +00:00
Reid Spencer
dee14b50e4
Fix build breakage by using correct arguments to getIndexedType in the
...
GEP constructors.
llvm-svn: 33726
2007-01-31 22:30:26 +00:00
Evan Cheng
53ac41cd54
Fix test cases.
...
llvm-svn: 33725
2007-01-31 22:27:07 +00:00