Duncan Sands [Thu, 15 Apr 2010 20:35:54 +0000 (20:35 +0000)]
Pointed out by housel on #llvm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101395
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 15 Apr 2010 20:28:39 +0000 (20:28 +0000)]
Fix PR6847. RegScavenger should ignore DebugValues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101392
91177308-0d34-0410-b5e6-
96231b3b80d8
Nicolas Geoffray [Thu, 15 Apr 2010 19:53:35 +0000 (19:53 +0000)]
Make sure the initialization of a GC root is after its definition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101388
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 15 Apr 2010 19:51:42 +0000 (19:51 +0000)]
Revert r100896 and around - this breaks the only mingw32 buildbot we have.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101387
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 15 Apr 2010 19:44:21 +0000 (19:44 +0000)]
prune includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101385
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 15 Apr 2010 18:42:28 +0000 (18:42 +0000)]
ARM SelectDYN_ALLOC should emit a copy from SP rather than referencing SP directly. In cases where there are two dyn_alloc in the same BB it would have caused the old SP value to be reused and badness ensues. rdar://
7493908
llvm is generating poor code for dynamic alloca, I'll fix that later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101383
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Thu, 15 Apr 2010 18:13:51 +0000 (18:13 +0000)]
DEBUG() print out "Unknown format" msg.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101382
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 15 Apr 2010 17:34:58 +0000 (17:34 +0000)]
ReuseFrameIndexVals is used in multiple files, so it can't be static.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101379
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 15 Apr 2010 17:20:57 +0000 (17:20 +0000)]
EnablePPC64RS and EnablePPC32RS are used in multiple files, so they
can't be static.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101377
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 15 Apr 2010 17:08:50 +0000 (17:08 +0000)]
Fix a bunch of namespace polution.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101376
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 15 Apr 2010 16:23:27 +0000 (16:23 +0000)]
Fix namespace polution.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101375
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 15 Apr 2010 16:19:08 +0000 (16:19 +0000)]
Make getPredecessorWithUniqueSuccessorForBB return the unique successor
in addition to the predecessor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101374
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 15 Apr 2010 15:14:46 +0000 (15:14 +0000)]
typos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101371
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 15 Apr 2010 12:46:56 +0000 (12:46 +0000)]
back out r101364, as it trips the linux nightlybot on some clang C++ tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101368
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 15 Apr 2010 11:36:12 +0000 (11:36 +0000)]
zap mergeinfo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101366
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 15 Apr 2010 11:33:14 +0000 (11:33 +0000)]
Simplify ".bc" detection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101365
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 15 Apr 2010 10:49:53 +0000 (10:49 +0000)]
rotate CallInst operands, i.e. move callee to the back
of the operand array
the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101364
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Apr 2010 06:10:49 +0000 (06:10 +0000)]
enhance the load/store narrowing optimization to handle a
tokenfactor in between the load/store. This allows us to
optimize test7 into:
_test7: ## @test7
## BB#0: ## %entry
movl (%rdx), %eax
## kill: SIL<def> ESI<kill>
movb %sil, 5(%rdi)
ret
instead of:
_test7: ## @test7
## BB#0: ## %entry
movl 4(%esp), %ecx
movl $-65281, %eax ## imm = 0xFFFFFFFFFFFF00FF
andl 4(%ecx), %eax
movzbl 8(%esp), %edx
shll $8, %edx
addl %eax, %edx
movl 12(%esp), %eax
movl (%eax), %eax
movl %edx, 4(%ecx)
ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101355
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Apr 2010 05:40:59 +0000 (05:40 +0000)]
teach codegen to turn trunc(zextload) into load when possible.
This doesn't occur much at all, it only seems to formed in the case
when the trunc optimization kicks in due to phase ordering. In that
case it is saves a few bytes on x86-32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101350
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Apr 2010 05:28:43 +0000 (05:28 +0000)]
add a simple dag combine to replace trivial shl+lshr with
and. This happens with the store->load narrowing stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101348
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Apr 2010 04:48:01 +0000 (04:48 +0000)]
Implement rdar://
7860110 (also in target/readme.txt) narrowing
a load/or/and/store sequence into a narrower store when it is
safe. Daniel tells me that clang will start producing this sort
of thing with bitfields, and this does trigger a few dozen times
on 176.gcc produced by llvm-gcc even now.
This compiles code like CodeGen/X86/2009-05-28-DAGCombineCrash.ll
into:
movl %eax, 36(%rdi)
instead of:
movl $
4294967295, %eax ## imm = 0xFFFFFFFF
andq 32(%rdi), %rax
shlq $32, %rcx
addq %rax, %rcx
movq %rcx, 32(%rdi)
and each of the testcases into a single store. Each of them used
to compile into craziness like this:
_test4:
movl $65535, %eax ## imm = 0xFFFF
andl (%rdi), %eax
shll $16, %esi
addl %eax, %esi
movl %esi, (%rdi)
ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101343
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 15 Apr 2010 04:33:49 +0000 (04:33 +0000)]
Add more const qualifiers for LLVM IR pointers in CodeGen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101342
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Apr 2010 04:31:42 +0000 (04:31 +0000)]
further tweak this to do something useful.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101341
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Apr 2010 04:30:19 +0000 (04:30 +0000)]
remove undef control flow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101340
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 15 Apr 2010 03:47:24 +0000 (03:47 +0000)]
Remove unnecessary uses of <iostream>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101338
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 15 Apr 2010 03:47:20 +0000 (03:47 +0000)]
tests: MC/Disassembler tests depend on ARM support being compiler in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101337
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Apr 2010 03:32:19 +0000 (03:32 +0000)]
fix a crash on "lli ex" or any other file whose name is exactly two
characters long.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101336
91177308-0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 15 Apr 2010 03:11:28 +0000 (03:11 +0000)]
Fix build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101335
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 15 Apr 2010 01:51:59 +0000 (01:51 +0000)]
Add const qualifiers to CodeGen's use of LLVM IR constructs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101334
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 15 Apr 2010 01:40:20 +0000 (01:40 +0000)]
Allow lowering for palignr instructions for mmx sized vectors. Add
patterns to handle the lowering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101331
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 15 Apr 2010 01:25:27 +0000 (01:25 +0000)]
More 80 violations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101330
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Thu, 15 Apr 2010 01:20:56 +0000 (01:20 +0000)]
Wrap the error msgs in DEBUG() macro so that they won't appear in NDEBUG build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101329
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 15 Apr 2010 01:01:55 +0000 (01:01 +0000)]
80 col violations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101325
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 15 Apr 2010 00:02:49 +0000 (00:02 +0000)]
Add comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101317
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 14 Apr 2010 23:56:24 +0000 (23:56 +0000)]
There is no need to track compile unit offsets if there is only one compile unit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101315
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 14 Apr 2010 23:54:13 +0000 (23:54 +0000)]
Remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101314
91177308-0d34-0410-b5e6-
96231b3b80d8
Tobias Grosser [Wed, 14 Apr 2010 23:42:23 +0000 (23:42 +0000)]
IPO needs ScalarOpts and InstCombine in its libs
The commit "Adding IPSCCP and Internalize passes to the C-bindings" introduced
new dependencies for IPO. Add these to the CMAKE build as otherwise the
BUILD_SHARED_LIBS=1 build fails.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101313
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Wed, 14 Apr 2010 22:37:17 +0000 (22:37 +0000)]
Fixed another assert exposed by fuzzing. Now, the DisassembleVFPLdStMulFrm()
function checks whether we have a valid submode for VLDM/VSTM (must be either
"ia" or "db") before calling ARM_AM::getAM5Opc(AMSubMode, unsigned char).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101306
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 14 Apr 2010 22:28:31 +0000 (22:28 +0000)]
Add -arm-long-calls option to force calls to be indirect. This makes the
kernel linker happier when dealing with kexts.
Radar
7805069
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101303
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 22:24:25 +0000 (22:24 +0000)]
Fix TrackingVH to handle const Value subclasses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101300
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 22:23:05 +0000 (22:23 +0000)]
Remove a const here. This makes this function consistent with all the
other getOperand wrappers, and it makes it easier to use with DebugInfo
code, which isn't currently prepared to see const MDNode *.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101299
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 22:20:45 +0000 (22:20 +0000)]
Constify GetConstantStringInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101298
91177308-0d34-0410-b5e6-
96231b3b80d8
Nicolas Geoffray [Wed, 14 Apr 2010 22:06:37 +0000 (22:06 +0000)]
Don't use DILocation when processing a DebugLoc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101294
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Wed, 14 Apr 2010 22:04:45 +0000 (22:04 +0000)]
For t2BFI disassembly, apply the same error checking as in r101205.
Change the error msg to read "Encoding error: msb < lsb".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101293
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 21:47:32 +0000 (21:47 +0000)]
Move a bunch of methods from CallSite to CallSiteBase, so that they can
be used in ImmutableCallSite too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101292
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Wed, 14 Apr 2010 21:03:13 +0000 (21:03 +0000)]
Fixed another assert exposed by fuzzing. The utility function getRegisterEnum()
was asserting because the (RegClass, RegNum) combination doesn't make sense from
an encoding point of view.
Since getRegisterEnum() is used all over the place, to change the code to check
for encoding error after each call would not only bloat the code, but also make
it less readable. An Err flag is added to the ARMBasicMCBuilder where a client
can set a non-zero value to indicate some kind of error condition while building
up the MCInst. ARMBasicMCBuilder::BuildIt() checks this flag and returns false
if a non-zero value is detected.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101290
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 14 Apr 2010 20:56:09 +0000 (20:56 +0000)]
Remove unneeded types from test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101286
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 14 Apr 2010 20:52:55 +0000 (20:52 +0000)]
- Code clean up to reduce indentation.
- TryToOptimizeStoreOfMallocToGlobal should check if TargetData is available and bail out if it is not. The transformations being done requires TD.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101285
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 20:49:44 +0000 (20:49 +0000)]
Use FunTy instead of hard-coding Function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101283
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 14 Apr 2010 20:45:23 +0000 (20:45 +0000)]
Don't custom lower bit converts to ARM VMOVDRRD or VMOVDRR when the operand
does not have a legal type. The legalizer does not know how to handle those
nodes. Radar
7854640.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101282
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 20:31:28 +0000 (20:31 +0000)]
Oops, make these public.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101280
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 20:28:44 +0000 (20:28 +0000)]
Move getType() and getCaller() into CallSiteBase so that
ImmutableCallSite can use them too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101279
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 14 Apr 2010 20:22:17 +0000 (20:22 +0000)]
Trim tests and convert to FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101277
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 20:17:22 +0000 (20:17 +0000)]
Delete unneeeded arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101276
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 20:05:00 +0000 (20:05 +0000)]
Delete unused arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101275
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 19:53:31 +0000 (19:53 +0000)]
Factor out EH landing pad code into a separate function, and constify
a bunch of stuff to support it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101273
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 19:30:02 +0000 (19:30 +0000)]
Reset the debug location even if the instruction was a terminator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101272
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 18:57:18 +0000 (18:57 +0000)]
Fix a missing #include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101270
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 18:49:17 +0000 (18:49 +0000)]
Refine #includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101269
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 18:44:34 +0000 (18:44 +0000)]
Split ISD::NodeType and a few related items out of SelectionDAGNodes.h
into a separate header to allow clients to use them without pulling in
SelectionDAG-specific declarations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101268
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 18:31:02 +0000 (18:31 +0000)]
Pull utility routines with no SelectionDAG dependence out of
SelectionDAGBuilder. FunctionLoweringInfo isn't an ideal place for
them to live, but it's better than SelectionDAGBuilder for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101267
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 18:24:06 +0000 (18:24 +0000)]
Fix typos in comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101266
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Wed, 14 Apr 2010 18:13:29 +0000 (18:13 +0000)]
performance: cache the dereferenced use_iterator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101265
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 17:40:25 +0000 (17:40 +0000)]
Delete an obsolete comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101264
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 17:22:02 +0000 (17:22 +0000)]
Delete an unused function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101263
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 17:13:16 +0000 (17:13 +0000)]
Clear the FunctionLoweringInfo object before doing other things that
don't need it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101262
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 17:11:23 +0000 (17:11 +0000)]
Move this assert out of SelectionDAGISel into FunctionLoweringInfo, and
drop the redundant #ifndef NDEBUG.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101261
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 17:09:37 +0000 (17:09 +0000)]
Add a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101260
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 17:05:00 +0000 (17:05 +0000)]
Move the code for initialing the entry block livein set out of
SelectionDAGISel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101258
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 17:02:07 +0000 (17:02 +0000)]
Reorgnaize this code to be more tidy and readable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101256
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 16:54:39 +0000 (16:54 +0000)]
Trim #includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101255
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 16:51:49 +0000 (16:51 +0000)]
Move the code for emitting livein copies out of SelectionDAGISel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101254
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Wed, 14 Apr 2010 16:48:56 +0000 (16:48 +0000)]
performance: cache the dereferenced use_iterator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101253
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 16:32:56 +0000 (16:32 +0000)]
Sink landing-pad marking code out of
SelectionDAGISel::runOnMachineFunction into FunctionLowering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101252
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 16:30:40 +0000 (16:30 +0000)]
It's not necessary to recompute EB here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101251
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Wed, 14 Apr 2010 16:13:56 +0000 (16:13 +0000)]
performance: cache the dereferenced use_iterator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101250
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 16:08:56 +0000 (16:08 +0000)]
Add a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101248
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 15:59:02 +0000 (15:59 +0000)]
Fix whitespace, comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101247
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 15:50:02 +0000 (15:50 +0000)]
Add explicit keywords.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101246
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 15:41:50 +0000 (15:41 +0000)]
Use C++, not C++-standard-library-internals-ese.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101245
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 15:38:15 +0000 (15:38 +0000)]
Make SuccIterator's private parts private too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101244
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 15:33:04 +0000 (15:33 +0000)]
Make helper utility members private.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101243
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 14 Apr 2010 13:56:38 +0000 (13:56 +0000)]
EDis: Don't include inttypes.h. We support compilers which don't provide it. It was unused anyways.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101241
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 14 Apr 2010 05:51:59 +0000 (05:51 +0000)]
Enable RTTI again. While this works fine for LLVM, it creates an ABI
incompatibility with some clients covered by the buildbots, such as llvm-gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101237
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 14 Apr 2010 05:35:20 +0000 (05:35 +0000)]
Don't forget cmake!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101234
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 14 Apr 2010 05:30:13 +0000 (05:30 +0000)]
Turn off RTTI for VMCore. Yay!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101233
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 14 Apr 2010 05:03:50 +0000 (05:03 +0000)]
I don't know how, but I managed to goof the revert. Remove function that should
have been removed in r101231.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101232
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 14 Apr 2010 04:51:58 +0000 (04:51 +0000)]
Revert r101213.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101231
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 14 Apr 2010 04:46:11 +0000 (04:46 +0000)]
Remove accidentally committed cruft.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101230
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 14 Apr 2010 04:40:35 +0000 (04:40 +0000)]
Fix 80 column ruler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101229
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 14 Apr 2010 04:40:31 +0000 (04:40 +0000)]
Bugpoint no longer uses exceptions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101228
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Apr 2010 04:40:28 +0000 (04:40 +0000)]
implement mc asmparser support for '.', which gets the
current PC. rdar://
7834775
We now produce an identical .o file compared to the cctools
assembler for something like this:
_f0:
L0:
jmp L1
.long . - L0
L1:
jmp A
.long . - L1
.zerofill __DATA,_bss,A,0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101227
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 14 Apr 2010 04:19:05 +0000 (04:19 +0000)]
Remove tab.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101223
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 14 Apr 2010 03:46:42 +0000 (03:46 +0000)]
Commit testcase for r101213.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101214
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 14 Apr 2010 03:38:11 +0000 (03:38 +0000)]
While DAE can't modify the function signature of an externally visible function,
it can check whether the visible direct callers are passing in parameters to
dead arguments and replace those with undef.
This reinstates r94322 with bugs fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101213
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 02:33:23 +0000 (02:33 +0000)]
Generalize this code to handle Instructions in addition to ConstantExprs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101210
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Apr 2010 02:09:45 +0000 (02:09 +0000)]
Reorder the methods of this class to be a little more organized.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101206
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Wed, 14 Apr 2010 02:05:29 +0000 (02:05 +0000)]
Fixed another assert exposed by fuzzing. Now, when an encoding error occurs
involing getBFCInvMask() where lsb <= msb does not hold true, the disassembler
just returns false, instead of assert, to indicate disassembly error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101205
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 14 Apr 2010 01:18:28 +0000 (01:18 +0000)]
Clear MachineInstr->MCSymbol maps at the end of a function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101202
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Wed, 14 Apr 2010 01:17:37 +0000 (01:17 +0000)]
Fixed an assert() exposed by fuzzing. Now, instead of assert when an invalid
instruction encoding is encountered, we just return a NULL ARMBasicMCBuilder
instance and the client just returns false to indicate disassembly error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101201
91177308-0d34-0410-b5e6-
96231b3b80d8