1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
Commit Graph

17041 Commits

Author SHA1 Message Date
Chris Lattner
8b8100ecf5 Encode small integers more densely in foldingset, avoiding overflowing the SmallVector as often.
llvm-svn: 33864
2007-02-04 01:48:10 +00:00
Chris Lattner
1d3dd991ca Switch VAlueMap from std::map to DenseMap.
llvm-svn: 33863
2007-02-04 01:35:11 +00:00
Chris Lattner
e5eccb6d76 Switch NodeMap from std::map to DenseMap, this speeds up isel by 2.3%
llvm-svn: 33862
2007-02-04 01:31:47 +00:00
Chris Lattner
4ca925808f swtich vector-> smallvector, speeding up selectiondag stuff 1%
llvm-svn: 33861
2007-02-04 01:20:02 +00:00
Chris Lattner
135ccecbfb Switch promoted/expanded ops over to using a DenseMap. Vector related maps
aren't worth it.

llvm-svn: 33860
2007-02-04 01:17:38 +00:00
Chris Lattner
703db6bfd8 switch LegalizedNodes from std::map to a DenseMap. This speeds up isel
time as a whole on kc++ by 11%.

llvm-svn: 33857
2007-02-04 00:50:02 +00:00
Reid Spencer
310b497b59 For PR1163:
Make the Module's dependent library use a std::vector instead of SetVector
adjust #includes in .cpp files because SetVector.h is no longer included.

llvm-svn: 33855
2007-02-04 00:40:42 +00:00
Chris Lattner
3ff6e94719 Eliminate some malloc traffic from LegalizeAllNodesNotLeadingTo, speeding
up isel on kimwitu by 0.7%.

llvm-svn: 33853
2007-02-04 00:27:56 +00:00
Chris Lattner
6af2a892de Eliminate some std::sets. This speeds up isel of kimwitu by about 0.9%
llvm-svn: 33852
2007-02-04 00:24:41 +00:00
Chris Lattner
ff53aecb1a Switch SelectionDAG::ReplaceAllUsesOfValueWith to use a SmallSetVector for
the users set (most nodes have 1 or 2 users).  This speeds up the isel pass
3.2% on kimwitu.

llvm-svn: 33849
2007-02-04 00:14:31 +00:00
Chris Lattner
471e586dd4 remove some dead code
llvm-svn: 33845
2007-02-03 23:28:07 +00:00
Reid Spencer
45d9d72ac0 For PR1072:
Removing -raise has neglible positive or negative side effects so we are
opting to remove it. See the PR for comparison details.

llvm-svn: 33844
2007-02-03 23:15:56 +00:00
Evan Cheng
bf4ca3b491 ARM callseq_end should have a input flag operand so it would be scheduled right after the call.
llvm-svn: 33832
2007-02-03 09:11:58 +00:00
Evan Cheng
ece3d334c2 Fix comments.
llvm-svn: 33831
2007-02-03 08:53:01 +00:00
Bill Wendling
4423d49d94 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
2831f1ae0d 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
ed60103206 Put destructor out-of-line.
llvm-svn: 33817
2007-02-03 02:40:10 +00:00
Bill Wendling
2a34ef4219 Pass in non-Mach-O-specific parameters to the GetTargetRelocation method.
llvm-svn: 33816
2007-02-03 02:39:40 +00:00
Evan Cheng
b4c6dfa3e7 - Branch max. displacement calculation bug.
- Add debugging info.

llvm-svn: 33811
2007-02-03 02:08:34 +00:00
Chris Lattner
b35593a1c5 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
f1b9b2068c 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
99236f5cfe Pasto
llvm-svn: 33806
2007-02-03 00:43:46 +00:00
Chris Lattner
71fe09f397 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
1b8a04e036 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
d3fb549bdc Switch this back to using an std::map. DenseMap entries are getting invalidated
llvm-svn: 33799
2007-02-02 22:36:16 +00:00
Chris Lattner
3ae99a1181 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
d308af8c1f Another thumb large stack offset codegen bug.
llvm-svn: 33795
2007-02-02 21:08:39 +00:00
Chris Lattner
dec49cea56 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
e9c0bac4c5 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
449f7d0d63 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
Evan Cheng
496c67ee3e Use MBB.empty() instead of MBB.size() for speed.
llvm-svn: 33789
2007-02-02 19:09:19 +00:00
Evan Cheng
6a428320d6 Watch out for empty BB.
llvm-svn: 33788
2007-02-02 18:49:02 +00:00
Reid Spencer
bbb8dc1b9f Remove dead code and fix indentation per Chris' review comments.
llvm-svn: 33785
2007-02-02 14:41:37 +00:00
Reid Spencer
05c293d1f0 Use short form of BinaryOperator create function.
llvm-svn: 33784
2007-02-02 14:09:34 +00:00
Reid Spencer
f5f46b0082 Use short form of binary operator create functions.
llvm-svn: 33783
2007-02-02 14:08:20 +00:00
Reid Spencer
da848a64ce Fix a comment that needed to change after SHIFT patch landed.
llvm-svn: 33781
2007-02-02 13:54:55 +00:00
Evan Cheng
e450d1bfa4 Ugh. Only meant to do this in thumb mode.
llvm-svn: 33780
2007-02-02 08:58:48 +00:00
Chris Lattner
1f032e74ae bugfix for reid's shift patch.
llvm-svn: 33779
2007-02-02 05:29:55 +00:00
Chris Lattner
63479262b4 add a note
llvm-svn: 33778
2007-02-02 04:36:46 +00:00
Reid Spencer
591bfa1e0b 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
689b0a4a62 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
73975a6076 Thumb does not have clz.
llvm-svn: 33773
2007-02-01 23:34:03 +00:00
Devang Patel
e5e4a44cca Dump function names when debug-pass=Executions is used.
llvm-svn: 33772
2007-02-01 22:38:33 +00:00
Chris Lattner
2d85458c52 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
Devang Patel
015a474023 Pretty print pass manager
llvm-svn: 33766
2007-02-01 22:09:37 +00:00
Devang Patel
f178d112ce cvs commit
llvm-svn: 33765
2007-02-01 22:08:25 +00:00
Lauro Ramos Venancio
5765bcd825 Define PrivateGlobalPrefix for ARM Linux. (Fix CodeGen/ARM/large_stack.ll)
llvm-svn: 33763
2007-02-01 21:43:53 +00:00
Evan Cheng
3d9b702988 Pasto. Lots of it.
llvm-svn: 33762
2007-02-01 20:44:52 +00:00
Reid Spencer
eb51781c22 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
618f24b0ed 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