Dan Gohman
56a90ff2a1
Remove the ConvertActions table and associated code, which is unused.
...
llvm-svn: 99372
2010-03-24 00:53:38 +00:00
Chris Lattner
36f990dc18
switch SDTBinaryArithWithFlags to be a multiple-result node as well.
...
llvm-svn: 99370
2010-03-24 00:49:29 +00:00
Chris Lattner
0d53d0a634
Switch SDTUnaryArithWithFlags to being modeled as a two-result
...
ISD node. The only change in the generated isel code are comments
like:
< // Src: (X86dec_flag:i16 GR16:i16:$src)
---
> // Src: (X86dec_flag:i16:i32 GR16:i16:$src)
because now it knows that X86dec_flag returns both an i16 (for the result)
and an i32 (for EFLAGS) in this case. Wewt.
llvm-svn: 99369
2010-03-24 00:47:47 +00:00
Chris Lattner
e42b80792e
remove 64-bit or_is_add parallels.
...
llvm-svn: 99360
2010-03-24 00:16:52 +00:00
Chris Lattner
6a8da47891
remove useless or_is_add parallel's.
...
llvm-svn: 99359
2010-03-24 00:15:23 +00:00
Chris Lattner
f468453934
reduce nesting.
...
llvm-svn: 99358
2010-03-24 00:12:57 +00:00
Jim Grosbach
b19d22fcae
try being more permissive for if-conversion on ARM V7. see what the nightly
...
test run permformance numbers say as to whether it helps.
llvm-svn: 99355
2010-03-24 00:03:13 +00:00
Jakob Stoklund Olesen
1dba4a4389
Revert "Add a late SSEDomainFix pass that twiddles SSE instructions to avoid domain crossings."
...
This reverts commit 99345. It was breaking buildbots.
llvm-svn: 99352
2010-03-23 23:48:51 +00:00
Daniel Dunbar
0ce1e410cd
MC: Sprinkle in some more interesting statistics.
...
llvm-svn: 99350
2010-03-23 23:47:14 +00:00
Daniel Dunbar
bd005bdfe9
llvm-mc: Fast path EvaluateAbsolute of constants.
...
llvm-svn: 99348
2010-03-23 23:47:07 +00:00
Chris Lattner
4eac41e12e
[llvm_void_ty] is no longer needed for result types,
...
just use an empty result list.
llvm-svn: 99346
2010-03-23 23:46:07 +00:00
Jakob Stoklund Olesen
9df76f18b4
Add a late SSEDomainFix pass that twiddles SSE instructions to avoid domain crossings.
...
This is work in progress. So far, SSE execution domain tables are added to
X86InstrInfo, and a skeleton pass is enabled with -sse-domain-fix.
llvm-svn: 99345
2010-03-23 23:14:44 +00:00
Johnny Chen
b7f2a26117
Renamed NVdImmFrm to N1RegModImmFrm.
...
llvm-svn: 99344
2010-03-23 23:09:14 +00:00
Chris Lattner
a9eb6a6987
add some accessors to callsite/callinst/invokeinst to check
...
for the noinline attribute, and make the inliner refuse to
inline a call site when the call site is marked noinline even
if the callee isn't. This fixes PR6682.
llvm-svn: 99341
2010-03-23 22:59:07 +00:00
Dan Gohman
ce6d4394a8
Revert 99335. getTypeToExpandTo's iterative behavior is actually
...
needed here.
llvm-svn: 99339
2010-03-23 22:44:42 +00:00
Dan Gohman
7814ddee81
Remove getTypeToExpandTo, since it isn't adding much value
...
beyond just calling getTypeToTransformTo.
llvm-svn: 99335
2010-03-23 22:15:31 +00:00
Dan Gohman
a88ac90daf
Don't back past debug info intrinsics; SCEVExpander's strategy
...
for ignoring debug info intrinsics everywhere else is to advance
past them, and it needs to be consistent.
llvm-svn: 99332
2010-03-23 21:53:22 +00:00
Chris Lattner
5808510db7
fix an infinite loop in Module::getEndianness, PR6684
...
patch by Alex Mac!
llvm-svn: 99330
2010-03-23 21:48:41 +00:00
Johnny Chen
d97eb200cf
Fix typo in the comment for N3VX class.
...
llvm-svn: 99328
2010-03-23 21:35:03 +00:00
Johnny Chen
8249bce25e
Add comment.
...
llvm-svn: 99327
2010-03-23 21:30:12 +00:00
Johnny Chen
415ce90919
Add New NEON Format NVdVmVCVTFrm.
...
Converted some of the NEON vcvt instructions to this format.
llvm-svn: 99326
2010-03-23 21:25:38 +00:00
Bill Wendling
259db66026
Skip debugging intrinsics when sinking unused invariants.
...
llvm-svn: 99324
2010-03-23 21:15:59 +00:00
Johnny Chen
81fb570fda
Add New NEON Format NVdVmImmFrm.
...
llvm-svn: 99322
2010-03-23 20:40:44 +00:00
Evan Cheng
67c472ec47
Ignore dbg_value's.
...
llvm-svn: 99321
2010-03-23 20:36:12 +00:00
Evan Cheng
e6099e3382
Teach isSafeToClobberEFLAGS to ignore dbg_value's. We need a MachineBasicBlock::iterator that does this automatically?
...
llvm-svn: 99320
2010-03-23 20:35:45 +00:00
Evan Cheng
268e78cd66
Code clean up.
...
llvm-svn: 99319
2010-03-23 20:33:48 +00:00
Bob Wilson
195c570fd3
Fix VLDMQ and VSTMQ instructions to use the correct encoding and address modes.
...
These instructions are only needed for codegen, so I've removed all the
explicit encoding bits for now; they should be set in the same way as the for
VLDMD and VSTMD whenever we add encodings for VFP. The use of addrmode5
requires that the instructions be custom-selected so that the number of
registers can be set in the AM5Opc value.
llvm-svn: 99309
2010-03-23 18:54:46 +00:00
Bob Wilson
672147e9a2
Fix bad indentation, 80-column violations, and trailing whitespace.
...
llvm-svn: 99295
2010-03-23 17:23:59 +00:00
Johnny Chen
00ac54b896
Add New NEON Format NVdImmFrm.
...
Ref: A7.4.6 One register and a modified immediate value.
llvm-svn: 99288
2010-03-23 16:43:47 +00:00
Evan Cheng
1144c23330
Teach simplify libcall to transform __strcpy_chk to __memcpy_chk to enable optimizations down stream.
...
llvm-svn: 99282
2010-03-23 15:48:04 +00:00
Gabor Greif
adb193f366
add assert in argpromotion, which cannot trigger
...
if Function::hasAddressTaken works as advertised
also included some cosmetic cleanups
llvm-svn: 99276
2010-03-23 14:40:20 +00:00
Gabor Greif
652eabfbb0
word-o
...
llvm-svn: 99275
2010-03-23 13:45:54 +00:00
Bob Wilson
8ba51dc0bd
Rename some instructions to match the corresponding NEON opcode.
...
llvm-svn: 99266
2010-03-23 06:26:18 +00:00
Bob Wilson
58c4740582
Change VST1 instructions for loading Q register values to operate on pairs
...
of D registers. Add a separate VST1q instruction with a Q register
source operand for use by storeRegToStackSlot.
llvm-svn: 99265
2010-03-23 06:20:33 +00:00
Evan Cheng
a544f02286
Fix an incorrect logic causing instcombine to miss some _chk -> non-chk transformations.
...
llvm-svn: 99263
2010-03-23 06:06:09 +00:00
Bob Wilson
2764399dd8
Change VLD1 instructions for loading Q register values to operate on pairs
...
of D registers. Add a separate VLD1q instruction with a Q register
destination operand for use by loadRegFromStackSlot.
llvm-svn: 99261
2010-03-23 05:25:43 +00:00
Daniel Dunbar
14c84e0c3b
MC: Switch to using MCInst fragments to do relaxation.
...
Also, both MCMachOStreamer and MCAssembler are now target independent!
llvm-svn: 99256
2010-03-23 05:09:03 +00:00
Daniel Dunbar
47743ae59a
MC: Add TargetAsmBackend::MayNeedRelaxation, for checking whether a particular instruction + fixups might need relaxation.
...
llvm-svn: 99249
2010-03-23 03:13:05 +00:00
Daniel Dunbar
b33d212057
MC: Add TargetAsmBackend::WriteNopData and use to eliminate some target dependencies in MCMachOStreamer and MCAssembler.
...
llvm-svn: 99248
2010-03-23 02:36:58 +00:00
Daniel Dunbar
1595ebfb4b
MC: Add TargetAsmBackend::RelaxInstruction callback, and custom X86 implementation.
...
llvm-svn: 99245
2010-03-23 01:39:09 +00:00
Daniel Dunbar
ae8d914c58
MC: Tweak MCInstFragment to include the encoded data and fixups, so that we don't need to recompute them during relaxation. I will revisit this once all the other pieces of fast relaxation are in place.
...
llvm-svn: 99244
2010-03-23 01:39:05 +00:00
Jeffrey Yasskin
b9c181ea1a
Put MCSectionCOFF::Name into the MCContext instead of leaking it.
...
llvm-svn: 99231
2010-03-22 23:26:12 +00:00
Daniel Dunbar
0f6983752f
MC: Add MCInstFragment, not used yet.
...
llvm-svn: 99229
2010-03-22 23:16:48 +00:00
Daniel Dunbar
1836f73559
Add a FIXME.
...
llvm-svn: 99228
2010-03-22 23:16:43 +00:00
Chris Lattner
772ef50bf1
Fix PR6673: updating the callback should not clear the map.
...
llvm-svn: 99227
2010-03-22 23:15:57 +00:00
Devang Patel
bb15b15726
Emit DW_AT_low_pc and DW_AT_high_pc attributes for TAG_compile_unit.
...
llvm-svn: 99225
2010-03-22 23:11:36 +00:00
Evan Cheng
2c663b34d0
Fix 80 col violation.
...
llvm-svn: 99224
2010-03-22 22:44:31 +00:00
Devang Patel
48af12e998
DW_AT_stmt_list attribute attached with a compile unit encodes offset of line number information for this compile unit in debug_line section. This offset is always zero when only one compile unit is emitted in a object file.
...
llvm-svn: 99223
2010-03-22 22:38:48 +00:00
Daniel Dunbar
4b5c134c5b
MC: Fix a few more cases we were passing an MCDataFragment when a MCFragment would do, and sprinkle in some const.
...
llvm-svn: 99218
2010-03-22 21:49:41 +00:00
Daniel Dunbar
a8a7a9b5aa
Simplify.
...
llvm-svn: 99217
2010-03-22 21:49:38 +00:00