Duncan Sands
b29f93613d
Some LegalizeTypes code factorization and minor
...
enhancements.
llvm-svn: 48215
2008-03-11 06:41:14 +00:00
Ted Kremenek
819e9b6f39
Added main skeleton for CFRetain transfer function logic.
...
llvm-svn: 48214
2008-03-11 06:39:11 +00:00
Chris Lattner
5c7bda440f
compile: double test() {}
...
into:
_test:
fldz
ret
instead of:
_test:
subl $12, %esp
#IMPLICIT_DEF %xmm0
movsd %xmm0, (%esp)
fldl (%esp)
addl $12, %esp
ret
llvm-svn: 48213
2008-03-11 06:21:08 +00:00
Nick Lewycky
a3860a2422
Fix the build on gcc 4.2.
...
llvm-svn: 48212
2008-03-11 05:56:09 +00:00
Devang Patel
d0f476471d
fix grammer
...
llvm-svn: 48211
2008-03-11 05:51:59 +00:00
Devang Patel
a7a2075ab8
Initial multiple return values support.
...
llvm-svn: 48210
2008-03-11 05:46:42 +00:00
Chris Lattner
1bd44363f2
Change the model for FP Stack return to use fp operands on the
...
RET instruction instead of using FpSET_ST0_32. This also generalizes
the code to handling returning of multiple FP results.
llvm-svn: 48209
2008-03-11 03:23:40 +00:00
Chris Lattner
3e0ec65678
variadic instructions don't have operand info for variadic arguments.
...
llvm-svn: 48208
2008-03-11 03:14:42 +00:00
Dan Gohman
319234d67c
Upgrade this test.
...
llvm-svn: 48207
2008-03-11 02:19:59 +00:00
Dan Gohman
d6819da453
Generalize ExpandIntToFP to handle the case where the operand is legal
...
and it's the result that requires expansion. This code is a little confusing
because the TargetLoweringInfo tables for [US]INT_TO_FP use the operand type
(the integer type) rather than the result type.
llvm-svn: 48206
2008-03-11 01:59:03 +00:00
Chris Lattner
d3090bcfc8
If a register operand comes from the variadic part of a node, don't
...
verify the register constraint matches what the instruction expects.
llvm-svn: 48205
2008-03-11 00:59:28 +00:00
Evan Cheng
850e143cbf
Temporarily revert 48175.
...
llvm-svn: 48204
2008-03-11 00:27:34 +00:00
Anton Korobeynikov
2591afca0a
Fix thinko: alias always defines new symbol. Even is aliasee itself is undefined.
...
llvm-svn: 48203
2008-03-11 00:24:53 +00:00
Steve Naroff
c5b9cc70ce
Generate meta-data in a C++ compatible way (remove 2 dependencies on C "flexible array member" idiom and perform some extra casts).
...
llvm-svn: 48202
2008-03-11 00:12:29 +00:00
Dan Gohman
10f7d850cf
More APInt-ification.
...
llvm-svn: 48201
2008-03-11 00:11:06 +00:00
Chris Lattner
6aa4f515bb
emit an ID # for each regclass ID. Chris doesn't like to have to count.
...
llvm-svn: 48200
2008-03-11 00:00:23 +00:00
Chris Lattner
a4fa0ad30d
abort with an assert instead of a cerr to get line#
...
llvm-svn: 48199
2008-03-10 23:56:08 +00:00
Dan Gohman
fc42961f18
Use utostr instead of a stringstream.
...
llvm-svn: 48198
2008-03-10 23:55:07 +00:00
Scott Michel
92275427e5
- Style cleanup in IA64ISelLowering.h: add 'virtual' keyword for consistency.
...
- Add test pattern matching in CellSPU's icmp32.ll test harness
- Fix CellSPU fcmp.ll-generated assert.
llvm-svn: 48197
2008-03-10 23:49:09 +00:00
Dan Gohman
2a3aeb1f72
Correctly clone FlaggedNodes.
...
llvm-svn: 48196
2008-03-10 23:48:14 +00:00
Dan Gohman
2f3648b261
Initialize ArgTypes directly instead of manually copying in the elements.
...
llvm-svn: 48195
2008-03-10 23:41:23 +00:00
Dan Gohman
830d86cab8
APInt-ify this.
...
llvm-svn: 48194
2008-03-10 23:38:17 +00:00
Dan Gohman
de66dc88cd
Remove an unnecessary #include
...
llvm-svn: 48193
2008-03-10 23:37:12 +00:00
Chris Lattner
7362d38391
Don't emit FP_REG_KILL into a block that just returns. Nothing
...
can be live out of the block anyway, so it isn't needed.
llvm-svn: 48192
2008-03-10 23:34:12 +00:00
Steve Naroff
14a0746b13
Missed a couple "_IMPL" suffixes.
...
llvm-svn: 48191
2008-03-10 23:33:22 +00:00
Steve Naroff
a1e115ee57
Fix dangling pointer and give the implementation struct for a class a unique name.
...
llvm-svn: 48190
2008-03-10 23:16:54 +00:00
Dan Gohman
f4300950f1
Implement more support for fp-to-i128 and i128-to-fp conversions.
...
llvm-svn: 48189
2008-03-10 23:03:31 +00:00
Dale Johannesen
0fb187f81b
Disable prolog code that aligns the stack when a
...
local object of >16 byte alignment exists. It does not
work and getting it to work is not trivial, as explained
in the comment. This fixes all the remaining ppc32
failures in the struct-layout-1 part of the gcc testsuite.
(gcc does not support this either, and the only way to
get such an object is with __attribute__((aligned)) or
generic vectors; it can't be done in a standard-conforming
program, or with Altivec. So I think disabling it is OK.)
llvm-svn: 48188
2008-03-10 22:59:46 +00:00
Bill Wendling
24155f7381
Update llc flags for PPC register scavenger.
...
llvm-svn: 48187
2008-03-10 22:59:08 +00:00
Bill Wendling
c6c48fca74
Change the "enable/disable" mechanism so that we can enable PPC register
...
scavenging for 32-bit and 64-bit separately.
llvm-svn: 48186
2008-03-10 22:49:16 +00:00
Anders Carlsson
0be8163fb6
Add support for the 'N' constraint.
...
llvm-svn: 48185
2008-03-10 22:37:16 +00:00
Anton Korobeynikov
510fc32d15
Add sanity checks
...
llvm-svn: 48184
2008-03-10 22:36:53 +00:00
Anton Korobeynikov
d5160da577
Typo: 'function' => 'alias'
...
llvm-svn: 48183
2008-03-10 22:36:35 +00:00
Anton Korobeynikov
66a6271c07
Syntactic sugar'ify stuff :)
...
llvm-svn: 48182
2008-03-10 22:36:08 +00:00
Anton Korobeynikov
715ef43c2e
Always run 'make check' :) Fix fallout from prev. commit: query for possible
...
alias destination only if we don't have anything to link to
llvm-svn: 48181
2008-03-10 22:35:31 +00:00
Anton Korobeynikov
eeb5ca6f5f
Make error messages to have common style
...
llvm-svn: 48180
2008-03-10 22:34:46 +00:00
Anton Korobeynikov
e79f4c77f0
Properly link globals with aliases
...
llvm-svn: 48179
2008-03-10 22:34:28 +00:00
Anton Korobeynikov
1d9848e391
This passes now
...
llvm-svn: 48178
2008-03-10 22:34:11 +00:00
Anton Korobeynikov
f6439246cc
Remove the LinkGlobal weirderness in common linking phase.
...
llvm-svn: 48177
2008-03-10 22:33:53 +00:00
Anton Korobeynikov
1f93c50ace
Typo
...
llvm-svn: 48176
2008-03-10 22:33:22 +00:00
Evan Cheng
7abdb438a1
If the register allocator ran out of registers, just abort for now.
...
llvm-svn: 48175
2008-03-10 21:27:20 +00:00
Chris Lattner
4b3a7fa823
Eliminate the FP_GET_ST0/FP_SET_ST0 target-specific dag nodes, just lower to
...
copyfromreg/copytoreg instead.
llvm-svn: 48174
2008-03-10 21:08:41 +00:00
Devang Patel
d6cff517d6
Document multiple return values.
...
llvm-svn: 48173
2008-03-10 20:49:15 +00:00
Steve Naroff
945a3b145a
Pass LangOptions to RewriteTest().
...
llvm-svn: 48172
2008-03-10 20:43:59 +00:00
Dan Gohman
272e234477
Fix mul expansion to check the correct number of bits for
...
zero extension when checking if an unsigned multiply is
safe.
llvm-svn: 48171
2008-03-10 20:42:19 +00:00
Evan Cheng
b9e4280e94
Somewhat better solution.
...
llvm-svn: 48170
2008-03-10 19:58:22 +00:00
Evan Cheng
ae2c56d93e
Default ISD::PREFETCH to expand.
...
llvm-svn: 48169
2008-03-10 19:38:10 +00:00
Chris Lattner
4114219ac6
rewriter tests are darwin specific, don't run them on other platforms.
...
llvm-svn: 48168
2008-03-10 19:32:31 +00:00
Evan Cheng
d4e1d9eeb2
Revert 48125, 48126, and 48130 for now to unbreak some x86-64 tests.
...
llvm-svn: 48167
2008-03-10 19:31:26 +00:00
Chris Lattner
514b3ed536
fix 80 col violations.
...
llvm-svn: 48166
2008-03-10 18:55:53 +00:00