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

29334 Commits

Author SHA1 Message Date
Reid Spencer
19af04a142 For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid
confusion with external linkage types.

llvm-svn: 33663
2007-01-30 20:08:39 +00:00
Reid Spencer
a4b339934a Compaction tables no longer supported, remove its block ID.
llvm-svn: 33662
2007-01-30 19:37:26 +00:00
Reid Spencer
00309bbef6 Bye, Bye Compaction Tables. The benefit compaction tables provides doesn't
outweight its computational costs. This patch removes all compaction
table handling from the bcreader and bcwriter. For the record, here's the
difference betweeen having and not having compaction tables for some tests:

Test             With       Without   Size Chg
Olden/mst       5,602         5,598      +0.1%
viterbi        18,026        17,795      +1.3%
obsequi       162,133       166,663      -2.8%
burg          224,090       228,148      -1.8%
kimwitu++   4,933,263     5,121,159      -3.8%
176.gcc     8,470,424     9,141,539      -7.3%

It seems that it is more beneficial to larger files, but even on the largest
test case we have (176.gcc) it only amounts ot an I/O saving of 7.3%.

llvm-svn: 33661
2007-01-30 19:36:46 +00:00
Reid Spencer
82293f34de For PR411:
Update these tests to not use the same name even though the type of the
value differs. After PR411 hits, type planes will be gone and it will be
illegal for a name to be used twice, regardless of type.

llvm-svn: 33660
2007-01-30 16:16:01 +00:00
Reid Spencer
26e829dec4 Add a gxxcmd variable for the g++ command line used to build llvm.
llvm-svn: 33659
2007-01-30 16:06:55 +00:00
Evan Cheng
5e0f0364d0 Copy and paste bug.
llvm-svn: 33658
2007-01-30 08:22:33 +00:00
Evan Cheng
3f02e5b1e7 Darwin -static should codegen static ctors / dtors to .constructor / .destructor sections.
llvm-svn: 33657
2007-01-30 08:04:53 +00:00
Evan Cheng
78628c7f32 Misseed thumb jumptable branch.
llvm-svn: 33656
2007-01-30 08:03:06 +00:00
Reid Spencer
5be7fde6dd Make the input legal.
llvm-svn: 33655
2007-01-30 06:32:25 +00:00
Evan Cheng
228c786e28 Add / merge tests.
llvm-svn: 33654
2007-01-30 03:06:19 +00:00
Evan Cheng
d0ed3f753b In thumb mode, round up stack frame size to multiple of 4 since add/sub
sp, imm instructions implicitly multiply the offset by 4.

llvm-svn: 33653
2007-01-30 02:57:02 +00:00
Evan Cheng
36f03730d0 Thumb eliminateFrameIndex fixes.
llvm-svn: 33652
2007-01-30 02:36:01 +00:00
Evan Cheng
99a2f7d598 Change the operand orders to t_addrmode_s* to make it easier to morph
instructions that use these address modes to instructions that use
t_addrmode_sp.

llvm-svn: 33651
2007-01-30 02:35:32 +00:00
Evan Cheng
91ad06dd75 - In thumb mode, if size of MachineFunction is >= 2048, force LR to be
spilled (if it is not already).
- If LR is spilled, use BL to implement far jumps. LR is not used as a GPR
  in thumb mode so it can be clobbered if it is properly spilled / restored
  in prologue / epilogue.
- If LR is force spilled but no far jump has been emitted, try undo'ing the
  spill by:
  push lr -> delete
  pop pc -> bx lr

llvm-svn: 33650
2007-01-30 01:18:38 +00:00
Evan Cheng
a16118a6cf Use BL to implement Thumb far jumps.
llvm-svn: 33649
2007-01-30 01:13:37 +00:00
Chris Lattner
1800f109f8 test that the 'ir' constraint works.
llvm-svn: 33646
2007-01-29 23:55:20 +00:00
Evan Cheng
171943e26e Factor GetInstSize() out of constpool island pass.
llvm-svn: 33644
2007-01-29 23:45:17 +00:00
Chris Lattner
ad740ef059 add initial support for handling inline asms with multiple constraints.
This doesn't do the "right thing" but will probably work in most cases.

This implements CodeGen/PowerPC/2007-01-29-lbrx-asm.ll.

llvm-svn: 33643
2007-01-29 23:45:14 +00:00
Chris Lattner
31daf51489 new testcase
llvm-svn: 33642
2007-01-29 23:45:03 +00:00
Jim Laskey
fc450bfd0d Out of line function.
llvm-svn: 33641
2007-01-29 23:40:33 +00:00
Devang Patel
3eb643f21e Use StartPassTimer() and StopPassManager()
llvm-svn: 33640
2007-01-29 23:29:54 +00:00
Jim Laskey
6f5d7d292f Only gather frame info if debug or eh.
llvm-svn: 33639
2007-01-29 23:20:22 +00:00
Devang Patel
61ccc1c4b0 - Undo previous check-in (i.e. Do not export TimingInfo class through
PassManagers.h).

- Add StopPassTimer() and StartPassTimer() to expose TimingInfo to
CallGraphPassManager

- Use these two APIs in CalLgraphPassManager to measure timings.

llvm-svn: 33638
2007-01-29 23:10:37 +00:00
Nate Begeman
dc46021355 Finish off bug 680, allowing targets to custom lower frame and return
address nodes.

llvm-svn: 33636
2007-01-29 22:58:52 +00:00
Nate Begeman
32cbf413b6 We'd still like to register allocate r2 on darwin before the callee-save
regs.

llvm-svn: 33635
2007-01-29 22:57:48 +00:00
Jim Laskey
5fdc488d4a rename flag
llvm-svn: 33634
2007-01-29 22:40:03 +00:00
Evan Cheng
903e98b477 Comment.
llvm-svn: 33633
2007-01-29 22:23:02 +00:00
Evan Cheng
fe602cabee Remember if LR register has been spilled in this function.
llvm-svn: 33632
2007-01-29 22:22:24 +00:00
Anton Korobeynikov
2b2aa3f0a1 Save all registers by default, as they can be used to pass parameters
for "inreg" calls

llvm-svn: 33631
2007-01-29 21:28:01 +00:00
Nate Begeman
484e7a8b01 Update some of the llvm in the readme
llvm-svn: 33630
2007-01-29 21:21:22 +00:00
Nate Begeman
05e9fd0443 Properly support cstrings
llvm-svn: 33629
2007-01-29 21:20:42 +00:00
Jim Laskey
705f60ece9 Flag to control exception handling.
llvm-svn: 33628
2007-01-29 20:48:32 +00:00
Devang Patel
dd0a7887fa Measure timings.
llvm-svn: 33627
2007-01-29 20:08:03 +00:00
Devang Patel
fa27881c1c Move TimingInfo into PassManagers.h so that other libs can use it.
llvm-svn: 33626
2007-01-29 20:06:26 +00:00
Jim Laskey
de395c4f96 Disable zero landing pads for now.
llvm-svn: 33625
2007-01-29 20:01:41 +00:00
Reid Spencer
dd596b2eba Regenerate.
llvm-svn: 33624
2007-01-29 19:08:46 +00:00
Reid Spencer
8a00fdcf3b For PR1142:
When an unresolved definition is found, check to see if it is only unresolved
because the csretcc was upgraded to the sret param attribute. Such changes
change the function type and lead to unresolved definitions. In such cases, just
cast the function to the type expected by the CallInst. That is, cast to the
version of the function that has the sret param attribute.

llvm-svn: 33623
2007-01-29 19:07:18 +00:00
Jim Laskey
eba0cf04e5 Landing pad-less eh for PPC.
llvm-svn: 33622
2007-01-29 18:51:14 +00:00
Jim Laskey
3184cbde85 Update project
llvm-svn: 33621
2007-01-29 18:45:08 +00:00
Reid Spencer
f7024eb670 Remove tabs.
llvm-svn: 33620
2007-01-29 17:55:50 +00:00
Reid Spencer
c0ebe17b6a Implement use of new IntrinsicLowering interface.
llvm-svn: 33619
2007-01-29 17:51:02 +00:00
Reid Spencer
6609da2af4 Use TargetData to obtain the correct size of the "size_t" argument for
functions like memcpy, memmove and memset. Ensure only one prototype is
used for these functions and that it matches the system definition by
using the appropriate type for the size argument.

llvm-svn: 33618
2007-01-29 17:42:06 +00:00
Reid Spencer
bf69808b88 IntrinsicLowering now requires TargetData.
llvm-svn: 33617
2007-01-29 17:39:50 +00:00
Jim Laskey
83b47b1780 Update project.
llvm-svn: 33616
2007-01-29 15:09:35 +00:00
Reid Spencer
9fe58fc698 Regenerate.
llvm-svn: 33615
2007-01-29 05:41:34 +00:00
Reid Spencer
18474266bb Upgrade old csret calling convention into sret parameter attribute.
llvm-svn: 33614
2007-01-29 05:41:09 +00:00
Reid Spencer
faf5654798 Update this test case to look for sret parameter attribute not csret cc.
llvm-svn: 33613
2007-01-29 05:40:02 +00:00
Nick Lewycky
33d4dec543 Simplify names of lattice values. SGTUNE becomes SGT, for example.
Fix initializeConstant, now initializeInt. Fixes major performance
bottleneck.

X == Y || X->DominatedBy(Y) is redundant. Remove the X == Y part.

Fix crasher in makeEqual where getOrInsertNode would add a new constant,
producing an NE relationship between the two members we're trying to make
equal. This now allows us to mark more BBs as unreachable.

llvm-svn: 33612
2007-01-29 02:56:54 +00:00
Chris Lattner
b7ffc667c3 Read from the right place.
llvm-svn: 33611
2007-01-29 02:18:13 +00:00
Chris Lattner
e9c8a05b70 Fix PR1139
llvm-svn: 33610
2007-01-29 00:21:34 +00:00