Evan Cheng
|
1a97cb159e
|
- Check if a register is livein before removing it. It may have already been removed.
- Do not iterate over SmallPtrSet, the order of iteration is not deterministic.
llvm-svn: 50209
|
2008-04-24 09:06:33 +00:00 |
|
Chris Lattner
|
2b149f62af
|
% -> @
llvm-svn: 50206
|
2008-04-24 06:00:30 +00:00 |
|
Chris Lattner
|
ddd6b159be
|
Doc updates/edits, contributed by Terence Parr!
llvm-svn: 50205
|
2008-04-24 05:59:56 +00:00 |
|
Chris Lattner
|
a646a59205
|
code restructuring, not functionality change.
llvm-svn: 50203
|
2008-04-24 00:21:50 +00:00 |
|
Chris Lattner
|
10ffed0ed0
|
Don't replace multiple result of calls with undef,
sccp tracks getresult values, not call values in this
case.
llvm-svn: 50202
|
2008-04-24 00:19:54 +00:00 |
|
Chris Lattner
|
8c6e641cf4
|
code cleanup, no functionality change.
llvm-svn: 50201
|
2008-04-24 00:16:28 +00:00 |
|
Chris Lattner
|
be35a0c224
|
Split some code out of the main SimplifyCFG loop into its own function.
Fix said code to handle merging return instructions together correctly
when handling multiple return values.
llvm-svn: 50199
|
2008-04-24 00:01:19 +00:00 |
|
Dan Gohman
|
6054efc488
|
Make these variables static.
llvm-svn: 50196
|
2008-04-23 23:15:23 +00:00 |
|
Anton Korobeynikov
|
cab97b00c5
|
Disable building of llvm2cpp. The directory will be removed before 2.3 release.
llvm-svn: 50193
|
2008-04-23 22:46:24 +00:00 |
|
Anton Korobeynikov
|
ac6f6045bb
|
Drop dead includes
llvm-svn: 50192
|
2008-04-23 22:44:03 +00:00 |
|
Anton Korobeynikov
|
d6ec8965f7
|
Fix tests due to llvm2cpp move to llc target
llvm-svn: 50191
|
2008-04-23 22:41:53 +00:00 |
|
Anton Korobeynikov
|
361e5f9eee
|
Adjust option names for C++ backend
llvm-svn: 50190
|
2008-04-23 22:37:03 +00:00 |
|
Anton Korobeynikov
|
193b7db7c7
|
First step of implementing PR1538: move llvm2cpp logic to new 'target'
llvm-svn: 50189
|
2008-04-23 22:29:24 +00:00 |
|
Dan Gohman
|
5df2f2c2e7
|
Initial CBE support for multiple return values.
llvm-svn: 50187
|
2008-04-23 21:49:29 +00:00 |
|
Chris Lattner
|
50069efc7a
|
tighten up verifier checks which missed cases where
return instrs operands didn't match up with function results.
llvm-svn: 50182
|
2008-04-23 20:33:41 +00:00 |
|
Dan Gohman
|
37f4dc9ab4
|
Use isa instead of dyn_cast.
llvm-svn: 50181
|
2008-04-23 20:25:16 +00:00 |
|
Dan Gohman
|
afa475f207
|
Add support to codegen for getresult instructions with undef operands.
llvm-svn: 50180
|
2008-04-23 20:21:29 +00:00 |
|
Devang Patel
|
88251a96f1
|
Check type instead of no. of operands.
llvm-svn: 50179
|
2008-04-23 20:18:29 +00:00 |
|
Dan Gohman
|
6de65a742d
|
Allow llvm-as to parse a getresult with an undef operand.
llvm-svn: 50175
|
2008-04-23 20:11:27 +00:00 |
|
Dale Johannesen
|
d70ea13581
|
Rewrite previous patch to suit Chris's preference.
llvm-svn: 50174
|
2008-04-23 18:34:37 +00:00 |
|
Anton Korobeynikov
|
74178d02d1
|
Unbreak JIT
llvm-svn: 50173
|
2008-04-23 18:26:03 +00:00 |
|
Anton Korobeynikov
|
244a615291
|
Disable stack realignment for these tests
llvm-svn: 50172
|
2008-04-23 18:25:44 +00:00 |
|
Anton Korobeynikov
|
1898ce20e2
|
Fix test becase ABI stack alignment dropped to 'normal' value
llvm-svn: 50171
|
2008-04-23 18:25:16 +00:00 |
|
Anton Korobeynikov
|
15c5a2ce26
|
Fix test, instruction count is valid only if stack is not realigned
llvm-svn: 50170
|
2008-04-23 18:24:48 +00:00 |
|
Anton Korobeynikov
|
4b572e0f73
|
Fix typo
llvm-svn: 50169
|
2008-04-23 18:24:25 +00:00 |
|
Anton Korobeynikov
|
372e69e652
|
Only allow increase of max alignment value
llvm-svn: 50168
|
2008-04-23 18:23:50 +00:00 |
|
Anton Korobeynikov
|
47a8e6d7a9
|
Be over-conservative: scan for all used virtual registers and calculate maximal stack alignment in assumption, that there will be spill of vector register.
llvm-svn: 50167
|
2008-04-23 18:23:30 +00:00 |
|
Anton Korobeynikov
|
e7754f758b
|
Add X86 Maximal Stack Alignment Calculator Pass before RA
llvm-svn: 50166
|
2008-04-23 18:23:05 +00:00 |
|
Anton Korobeynikov
|
b1ad6979dc
|
Add facility for pre-RA passes
llvm-svn: 50165
|
2008-04-23 18:22:28 +00:00 |
|
Anton Korobeynikov
|
5e735f1fd2
|
Use precomputed value, if any
llvm-svn: 50164
|
2008-04-23 18:21:50 +00:00 |
|
Anton Korobeynikov
|
158f614c67
|
Do proper book-keeping of offsets and prologue/epilogue code for stack realignment
llvm-svn: 50163
|
2008-04-23 18:21:27 +00:00 |
|
Anton Korobeynikov
|
1f07315f47
|
If stack realignment is used - incoming args will use EBP as base register and locals - ESP
llvm-svn: 50162
|
2008-04-23 18:21:02 +00:00 |
|
Anton Korobeynikov
|
5079553b9d
|
Eastimate required stack alignment early, so we can decide, whether we will need frame pointer or not
llvm-svn: 50161
|
2008-04-23 18:20:17 +00:00 |
|
Anton Korobeynikov
|
197eca0b2d
|
Cleanup
llvm-svn: 50160
|
2008-04-23 18:19:47 +00:00 |
|
Anton Korobeynikov
|
492641d67f
|
Cleanup
llvm-svn: 50159
|
2008-04-23 18:19:23 +00:00 |
|
Anton Korobeynikov
|
87325bfdf5
|
Simplify
llvm-svn: 50158
|
2008-04-23 18:18:36 +00:00 |
|
Anton Korobeynikov
|
73935826d4
|
Make stack alignment options global for all targets
llvm-svn: 50157
|
2008-04-23 18:18:10 +00:00 |
|
Anton Korobeynikov
|
6a59c959ca
|
Provide option for enabling-disabling stack realignment
llvm-svn: 50156
|
2008-04-23 18:17:11 +00:00 |
|
Anton Korobeynikov
|
fc59ae78e0
|
Disable stack realignment for functions with dynamic-sized alloca's
llvm-svn: 50155
|
2008-04-23 18:16:43 +00:00 |
|
Anton Korobeynikov
|
11851230a9
|
Provide ABI-correct stack alignment
llvm-svn: 50154
|
2008-04-23 18:16:16 +00:00 |
|
Anton Korobeynikov
|
7e6850d1a1
|
Provide convenient helpers for some operations
llvm-svn: 50153
|
2008-04-23 18:15:48 +00:00 |
|
Anton Korobeynikov
|
71adb49389
|
Whitespace cleanup
llvm-svn: 50152
|
2008-04-23 18:15:11 +00:00 |
|
Dan Gohman
|
3c6f2b3a6f
|
Fix some whitespace.
llvm-svn: 50151
|
2008-04-23 17:50:15 +00:00 |
|
Bill Wendling
|
f18d1755d0
|
Use the Create static method for some of these objects. They no longer
have public constructors. This should fix PR2246.
llvm-svn: 50145
|
2008-04-23 07:13:17 +00:00 |
|
Chris Lattner
|
bc79442313
|
simplify code for propagation of constant arguments into
callees.
llvm-svn: 50142
|
2008-04-23 06:16:27 +00:00 |
|
Chris Lattner
|
408b51d214
|
Fix a number of bugs in ipconstantprop, simplify the code, fit in 80 cols,
fix read after free bug (PR2238).
llvm-svn: 50141
|
2008-04-23 05:59:23 +00:00 |
|
Chris Lattner
|
721ea7ca10
|
Rewrite multiple return value handling in SCCP. Before, the -sccp pass
would turn every getresult instruction into undef. This helps with
rdar://5778210
llvm-svn: 50140
|
2008-04-23 05:38:20 +00:00 |
|
Chris Lattner
|
b11a2cca2d
|
regenerate
llvm-svn: 50139
|
2008-04-23 05:37:08 +00:00 |
|
Chris Lattner
|
b343e5cf8b
|
Validate that the result of a function type is valid using shared
logic with vmcore.
llvm-svn: 50138
|
2008-04-23 05:36:58 +00:00 |
|
Chris Lattner
|
39e4b2e5d2
|
Enforce that multiple return values have to have at least one result.
llvm-svn: 50137
|
2008-04-23 05:36:34 +00:00 |
|