Bob Wilson [Wed, 24 Mar 2010 20:25:25 +0000 (20:25 +0000)]
Revert Edwin's change that is breaking MultiSource/Applications/ClamAV/clamscan.
--- Reverse-merging r99400 into '.':
D test/CodeGen/Generic/2010-03-24-liveintervalleak.ll
U lib/CodeGen/LiveIntervalAnalysis.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99419
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 24 Mar 2010 20:19:04 +0000 (20:19 +0000)]
Move OptChkCall off LibCallOptimization into StrCpyOpt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99418
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 24 Mar 2010 19:56:17 +0000 (19:56 +0000)]
Trim #includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99416
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Wed, 24 Mar 2010 19:47:14 +0000 (19:47 +0000)]
Reverted r99326 which added NVdVmVCVTFrm, and later renamed to NVCVTFrm.
NVCVTFrm will later be used to describe "vcvt with fractional bits".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99415
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 24 Mar 2010 19:38:02 +0000 (19:38 +0000)]
Fix minor style issues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99414
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 24 Mar 2010 19:00:02 +0000 (19:00 +0000)]
It's not necessary to call raw_ostream::close explicitly on automatic
raw_ostream variables immediately before they go out of scope.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99413
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 24 Mar 2010 18:48:00 +0000 (18:48 +0000)]
Do not rely on getCompileUnit() to find source file information for a subprogram.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99410
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Wed, 24 Mar 2010 18:46:34 +0000 (18:46 +0000)]
Reverted r99376. The disassembler will deal with the 2-reg format of these two
N3VX instructions using special case code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99409
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 24 Mar 2010 16:15:14 +0000 (16:15 +0000)]
tweak the arm if conversion heuristic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99402
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Wed, 24 Mar 2010 13:50:36 +0000 (13:50 +0000)]
Fix memory leak in liveintervals: the destructor for VNInfos must be called,
otherwise the SmallVector it contains doesn't free its memory.
In most cases LiveIntervalAnalysis could get away by not calling the destructor,
because VNInfos are bumpptr-allocated, and smallvectors usually don't grow.
However when the SmallVector does grow it always leaks.
This is the valgrind shown leak from the original testcase:
==8206== 18,304 bytes in 151 blocks are definitely lost in loss record 164 of 164
==8206== at 0x4A079C7: operator new(unsigned long) (vg_replace_malloc.c:220)
==8206== by 0x4DB7A7E: llvm::SmallVectorBase::grow_pod(unsigned long, unsigned long) (in /home/edwin/clam/git/builds/defaul
t/libclamav/.libs/libclamav.so.6.1.0)
==8206== by 0x4F90382: llvm::VNInfo::addKill(llvm::SlotIndex) (in /home/edwin/clam/git/builds/default/libclamav/.libs/libcl
amav.so.6.1.0)
==8206== by 0x5126B5C: llvm::LiveIntervals::handleVirtualRegisterDef(llvm::MachineBasicBlock*, llvm::ilist_iterator<llvm::M
achineInstr>, llvm::SlotIndex, llvm::MachineOperand&, unsigned int, llvm::LiveInterval&) (in /home/edwin/clam/git/builds/defau
lt/libclamav/.libs/libclamav.so.6.1.0)
==8206== by 0x512725E: llvm::LiveIntervals::handleRegisterDef(llvm::MachineBasicBlock*, llvm::ilist_iterator<llvm::MachineI
nstr>, llvm::SlotIndex, llvm::MachineOperand&, unsigned int) (in /home/edwin/clam/git/builds/default/libclamav/.libs/libclamav
.so.6.1.0)
==8206== by 0x51278A8: llvm::LiveIntervals::computeIntervals() (in /home/edwin/clam/git/builds/default/libclamav/.libs/libc
lamav.so.6.1.0)
==8206== by 0x5127CB4: llvm::LiveIntervals::runOnMachineFunction(llvm::MachineFunction&) (in /home/edwin/clam/git/builds/de
fault/libclamav/.libs/libclamav.so.6.1.0)
==8206== by 0x4DAE935: llvm::FPPassManager::runOnFunction(llvm::Function&) (in /home/edwin/clam/git/builds/default/libclama
v/.libs/libclamav.so.6.1.0)
==8206== by 0x4DAEB10: llvm::FunctionPassManagerImpl::run(llvm::Function&) (in /home/edwin/clam/git/builds/default/libclama
v/.libs/libclamav.so.6.1.0)
==8206== by 0x4DAED3D: llvm::FunctionPassManager::run(llvm::Function&) (in /home/edwin/clam/git/builds/default/libclamav/.l
ibs/libclamav.so.6.1.0)
==8206== by 0x4D8BE8E: llvm::JIT::runJITOnFunctionUnlocked(llvm::Function*, llvm::MutexGuard const&) (in /home/edwin/clam/git/builds/default/libclamav/.libs/libclamav.so.6.1.0)
==8206== by 0x4D8CA72: llvm::JIT::getPointerToFunction(llvm::Function*) (in /home/edwin/clam/git/builds/default/libclamav/.libs/libclamav.so.6.1.0)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99400
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Wed, 24 Mar 2010 13:21:49 +0000 (13:21 +0000)]
Finally land the InvokeInst operand reordering.
I have audited all getOperandNo calls now, fixing
hidden assumptions. CallSite related uglyness will
be eliminated successively.
Note this patch has a long and griveous history,
for all the back-and-forths have a look at
CallSite.h's log.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99399
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Wed, 24 Mar 2010 11:58:07 +0000 (11:58 +0000)]
tighten a type and remove trailing whitespace, no functional changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99398
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Wed, 24 Mar 2010 10:29:52 +0000 (10:29 +0000)]
increase const goodness and remove pointless getUser() calls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99395
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Wed, 24 Mar 2010 10:12:54 +0000 (10:12 +0000)]
cache result of UI.getOperandNo() instead of calling it twice, it is cheaper this way
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99394
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 24 Mar 2010 09:05:14 +0000 (09:05 +0000)]
Fix comment typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99392
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 24 Mar 2010 03:43:40 +0000 (03:43 +0000)]
MC: Direct all {fragment,section,symbol} address access through the MCAsmLayout object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99380
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 24 Mar 2010 01:50:28 +0000 (01:50 +0000)]
dbg_value may end a block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99378
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Wed, 24 Mar 2010 01:29:25 +0000 (01:29 +0000)]
Mark VMOVDneon and VMOVQ as having the N2RegFrm form to help the disassembler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99376
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Mar 2010 01:02:12 +0000 (01:02 +0000)]
Switch INC8r to defining its pattern in terms of X86inc_flag
and defining the add pattern with Pat<>, eliminating a use of
parallel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99375
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Wed, 24 Mar 2010 00:57:50 +0000 (00:57 +0000)]
Renamed NVdVmImmFrm and NVdVmVCVTFrm to the more proper N2RegFrm and NVCVTFrm,
respectively, and add some more comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99373
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 24 Mar 2010 00:53:38 +0000 (00:53 +0000)]
Remove the ConvertActions table and associated code, which is unused.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99372
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Mar 2010 00:53:27 +0000 (00:53 +0000)]
Add a method to get a StringMapEntry from a pointer to the string
data it contains (similar to GetStringMapEntryFromValue).
Patch by Greg Clayton!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99371
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Mar 2010 00:49:29 +0000 (00:49 +0000)]
switch SDTBinaryArithWithFlags to be a multiple-result node as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99370
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Mar 2010 00:47:47 +0000 (00:47 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99369
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Mar 2010 00:41:19 +0000 (00:41 +0000)]
add plumbing for handling multiple result nodes
in some more places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99366
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 24 Mar 2010 00:27:49 +0000 (00:27 +0000)]
Fix coding style.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99362
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 24 Mar 2010 00:22:24 +0000 (00:22 +0000)]
Generalize findNearestCommonDominator to work on post-dominators,
based on a suggestion by Jochen Wilhelmy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99361
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Mar 2010 00:16:52 +0000 (00:16 +0000)]
remove 64-bit or_is_add parallels.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99360
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Mar 2010 00:15:23 +0000 (00:15 +0000)]
remove useless or_is_add parallel's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99359
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Mar 2010 00:12:57 +0000 (00:12 +0000)]
reduce nesting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99358
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Mar 2010 00:06:46 +0000 (00:06 +0000)]
implement SDTCisVTSmallerThanOp with EnforceSmallerThan
instead of reimplementing it wrong and poorly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99357
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 24 Mar 2010 00:03:13 +0000 (00:03 +0000)]
try being more permissive for if-conversion on ARM V7. see what the nightly
test run permformance numbers say as to whether it helps.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99355
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Mar 2010 00:01:16 +0000 (00:01 +0000)]
bring sanity to EnforceVectorEltType
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99354
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Mar 2010 23:50:31 +0000 (23:50 +0000)]
Cleanup getImplicitType
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99353
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 23 Mar 2010 23:48:51 +0000 (23:48 +0000)]
Revert "Add a late SSEDomainFix pass that twiddles SSE instructions to avoid domain crossings."
This reverts commit 99345. It was breaking buildbots.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99352
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 23 Mar 2010 23:47:14 +0000 (23:47 +0000)]
MC: Sprinkle in some more interesting statistics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99350
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 23 Mar 2010 23:47:12 +0000 (23:47 +0000)]
llvm-mc: Support -filetype=null, for timing purposes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99349
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 23 Mar 2010 23:47:07 +0000 (23:47 +0000)]
llvm-mc: Fast path EvaluateAbsolute of constants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99348
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Mar 2010 23:46:27 +0000 (23:46 +0000)]
reject void in intrinsic type lists.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99347
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Mar 2010 23:46:07 +0000 (23:46 +0000)]
[llvm_void_ty] is no longer needed for result types,
just use an empty result list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99346
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 23 Mar 2010 23:14:44 +0000 (23:14 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99345
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Tue, 23 Mar 2010 23:09:14 +0000 (23:09 +0000)]
Renamed NVdImmFrm to N1RegModImmFrm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99344
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 23 Mar 2010 23:09:03 +0000 (23:09 +0000)]
Remove if DISABLED not if not DISABLED...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99343
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Mar 2010 22:59:07 +0000 (22:59 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99341
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 23 Mar 2010 22:44:42 +0000 (22:44 +0000)]
Revert 99335. getTypeToExpandTo's iterative behavior is actually
needed here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99339
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 23 Mar 2010 22:15:33 +0000 (22:15 +0000)]
Use "DISABLE_EDIS" to disable building "edis" explicitly. Don't build it for
Apple-style builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99336
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 23 Mar 2010 22:15:31 +0000 (22:15 +0000)]
Remove getTypeToExpandTo, since it isn't adding much value
beyond just calling getTypeToTransformTo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99335
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Mar 2010 21:59:43 +0000 (21:59 +0000)]
make sure to delete the llvm module before calling llvm_shutdown,
this fixes crashes in error cases, PR6683
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99334
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 23 Mar 2010 21:53:22 +0000 (21:53 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99332
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Mar 2010 21:48:41 +0000 (21:48 +0000)]
fix an infinite loop in Module::getEndianness, PR6684
patch by Alex Mac!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99330
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Tue, 23 Mar 2010 21:35:03 +0000 (21:35 +0000)]
Fix typo in the comment for N3VX class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99328
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Tue, 23 Mar 2010 21:30:12 +0000 (21:30 +0000)]
Add comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99327
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Tue, 23 Mar 2010 21:25:38 +0000 (21:25 +0000)]
Add New NEON Format NVdVmVCVTFrm.
Converted some of the NEON vcvt instructions to this format.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99326
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 23 Mar 2010 21:15:59 +0000 (21:15 +0000)]
Skip debugging intrinsics when sinking unused invariants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99324
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Tue, 23 Mar 2010 20:40:44 +0000 (20:40 +0000)]
Add New NEON Format NVdVmImmFrm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99322
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 23 Mar 2010 20:36:12 +0000 (20:36 +0000)]
Ignore dbg_value's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99321
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 23 Mar 2010 20:35:45 +0000 (20:35 +0000)]
Teach isSafeToClobberEFLAGS to ignore dbg_value's. We need a MachineBasicBlock::iterator that does this automatically?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99320
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 23 Mar 2010 20:33:48 +0000 (20:33 +0000)]
Code clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99319
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 23 Mar 2010 18:54:46 +0000 (18:54 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99309
91177308-0d34-0410-b5e6-
96231b3b80d8
Stuart Hastings [Tue, 23 Mar 2010 18:39:23 +0000 (18:39 +0000)]
Test case for llvm-gcc r99305. Radar
7659636.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99306
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 23 Mar 2010 17:23:59 +0000 (17:23 +0000)]
Fix bad indentation, 80-column violations, and trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99295
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Tue, 23 Mar 2010 16:43:47 +0000 (16:43 +0000)]
Add New NEON Format NVdImmFrm.
Ref: A7.4.6 One register and a modified immediate value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99288
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 23 Mar 2010 15:50:49 +0000 (15:50 +0000)]
Add comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99284
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 23 Mar 2010 15:49:37 +0000 (15:49 +0000)]
Forgot this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99283
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 23 Mar 2010 15:48:04 +0000 (15:48 +0000)]
Teach simplify libcall to transform __strcpy_chk to __memcpy_chk to enable optimizations down stream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99282
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Tue, 23 Mar 2010 14:40:20 +0000 (14:40 +0000)]
add assert in argpromotion, which cannot trigger
if Function::hasAddressTaken works as advertised
also included some cosmetic cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99276
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Tue, 23 Mar 2010 13:45:54 +0000 (13:45 +0000)]
word-o
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99275
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 23 Mar 2010 06:26:18 +0000 (06:26 +0000)]
Rename some instructions to match the corresponding NEON opcode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99266
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 23 Mar 2010 06:20:33 +0000 (06:20 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99265
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 23 Mar 2010 06:06:09 +0000 (06:06 +0000)]
Fix an incorrect logic causing instcombine to miss some _chk -> non-chk transformations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99263
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 23 Mar 2010 05:25:43 +0000 (05:25 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99261
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 23 Mar 2010 05:09:03 +0000 (05:09 +0000)]
MC: Switch to using MCInst fragments to do relaxation.
Also, both MCMachOStreamer and MCAssembler are now target independent!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99256
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 23 Mar 2010 03:13:05 +0000 (03:13 +0000)]
MC: Add TargetAsmBackend::MayNeedRelaxation, for checking whether a particular instruction + fixups might need relaxation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99249
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 23 Mar 2010 02:36:58 +0000 (02:36 +0000)]
MC: Add TargetAsmBackend::WriteNopData and use to eliminate some target dependencies in MCMachOStreamer and MCAssembler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99248
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 23 Mar 2010 01:39:09 +0000 (01:39 +0000)]
MC: Add TargetAsmBackend::RelaxInstruction callback, and custom X86 implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99245
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 23 Mar 2010 01:39:05 +0000 (01:39 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99244
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Mon, 22 Mar 2010 23:26:12 +0000 (23:26 +0000)]
Put MCSectionCOFF::Name into the MCContext instead of leaking it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99231
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 22 Mar 2010 23:16:48 +0000 (23:16 +0000)]
MC: Add MCInstFragment, not used yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99229
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 22 Mar 2010 23:16:43 +0000 (23:16 +0000)]
Add a FIXME.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99228
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Mar 2010 23:15:57 +0000 (23:15 +0000)]
Fix PR6673: updating the callback should not clear the map.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99227
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 22 Mar 2010 23:11:36 +0000 (23:11 +0000)]
Emit DW_AT_low_pc and DW_AT_high_pc attributes for TAG_compile_unit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99225
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 22 Mar 2010 22:44:31 +0000 (22:44 +0000)]
Fix 80 col violation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99224
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 22 Mar 2010 22:38:48 +0000 (22:38 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99223
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 22 Mar 2010 21:49:41 +0000 (21:49 +0000)]
MC: Fix a few more cases we were passing an MCDataFragment when a MCFragment would do, and sprinkle in some const.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99218
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 22 Mar 2010 21:49:38 +0000 (21:49 +0000)]
Simplify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99217
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 22 Mar 2010 21:49:34 +0000 (21:49 +0000)]
MCInst: Add ::dump_pretty.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99216
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 22 Mar 2010 21:24:33 +0000 (21:24 +0000)]
Reduce indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99214
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Mar 2010 20:56:36 +0000 (20:56 +0000)]
Change intrinsic result type for void to store it as an empty list
instead of as a single element list with VoidTy. Now with a fix
for the verifier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99206
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 22 Mar 2010 20:35:50 +0000 (20:35 +0000)]
MC: Change MCObjectWriter::RecordRelocation to take an MCFragment (instead of a MCDataFragment). Object files should only need the generic MCFragment features.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99205
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 22 Mar 2010 20:35:46 +0000 (20:35 +0000)]
MC/Mach-O: Factor out getOrCreateDataFragment().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99204
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 22 Mar 2010 20:35:43 +0000 (20:35 +0000)]
MC: Eliminate MCFragment::getMaxFileSize.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99203
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 22 Mar 2010 20:35:35 +0000 (20:35 +0000)]
MC: Share the MCAsmLayout object, although its still not used for anything important.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99202
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Mon, 22 Mar 2010 20:31:39 +0000 (20:31 +0000)]
Rename one more NEON instruction that I missed earlier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99201
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Mon, 22 Mar 2010 18:47:14 +0000 (18:47 +0000)]
Fix a memory leak from DIE::addSiblingOffset() by adding the DIEValue
it allocates to DwarfDebug::DIEValues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99196
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 22 Mar 2010 18:40:50 +0000 (18:40 +0000)]
80 col violation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99195
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Mon, 22 Mar 2010 18:22:06 +0000 (18:22 +0000)]
Regroup some instructions. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99192
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Mon, 22 Mar 2010 18:13:18 +0000 (18:13 +0000)]
Rename some VLD1/VST1 instructions to match the implementation, i.e., the
corresponding NEON instructions, instead of operation they are currently
used for.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99189
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Mon, 22 Mar 2010 18:02:38 +0000 (18:02 +0000)]
Remove some redundant instruction classes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99187
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 22 Mar 2010 16:59:44 +0000 (16:59 +0000)]
llc doesn't need LinkAllVMCore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99186
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Mon, 22 Mar 2010 16:43:10 +0000 (16:43 +0000)]
Refactor instruction encoding arguments for VLDnLN/VSTnLN classes to
specify encoding bits in arguments instead of "let" expressions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99185
91177308-0d34-0410-b5e6-
96231b3b80d8