Dan Gohman [Sun, 11 Apr 2010 22:13:11 +0000 (22:13 +0000)]
Minor code simplification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100994
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sun, 11 Apr 2010 22:12:18 +0000 (22:12 +0000)]
When creating a ConstantRange for [n,UINT_MAX], special case n == 0, because
ConstantRange(0, 0) creates an empty range rather than a full one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100993
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sun, 11 Apr 2010 22:07:56 +0000 (22:07 +0000)]
Fix a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100992
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sun, 11 Apr 2010 19:30:19 +0000 (19:30 +0000)]
Add a cast to void to show that the return value is being
intentionally ignored.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100984
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sun, 11 Apr 2010 19:29:41 +0000 (19:29 +0000)]
Delete a dead check.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100983
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sun, 11 Apr 2010 19:28:47 +0000 (19:28 +0000)]
Delete dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100981
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sun, 11 Apr 2010 19:27:52 +0000 (19:27 +0000)]
Fix a #include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100980
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sun, 11 Apr 2010 19:27:13 +0000 (19:27 +0000)]
Rename isLoopGuardedByCond to isLoopEntryGuardedByCond, to emphasise
that it's only testing for the entry condition, not full loop-invariant
conditions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100979
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sun, 11 Apr 2010 19:00:03 +0000 (19:00 +0000)]
utostr isn't going away too soon, try to make it slightly smaller.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100977
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 10 Apr 2010 23:18:13 +0000 (23:18 +0000)]
Remove dead argument and clean whitespace. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100954
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Apr 2010 19:12:44 +0000 (19:12 +0000)]
Implement support for varargs functions without any fixed
parameters in the CBE by implicitly adding a fixed argument.
This allows eliminating a work-around from DAE. Patch by
Sylvere Teissier!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100944
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 10 Apr 2010 18:56:24 +0000 (18:56 +0000)]
configure: Fix default value for optimize_option, I messed up the test condition
in r86005 and unintentionally changed the default from -O3 to -O2.
- It's odd the things automated perf testing turns up! :)
- Also, the configure diff is messed up slightly. It looks like someone either
didn't regenerate configure correctly (or I didn't), or autoconf has some
funnyness in it. Eric, any ideas?
This has been at -O2 for so long, that I am slightly nervous that this change
will uncover miscompiles of LLVM on other systems. If that is the case, I think
we should just set the default universally at -O3, and let developers/vendors
use -O3 if they want it and have tested it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100941
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Apr 2010 18:26:57 +0000 (18:26 +0000)]
fix PR6743, a case where we'd delete an instruction before using it
in some cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100937
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Apr 2010 18:19:22 +0000 (18:19 +0000)]
fix PR6760, a missing check in heap SRoA.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100936
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Apr 2010 18:01:25 +0000 (18:01 +0000)]
turn an assert into a proper check, fixing crash on invalid here:
$ llvm-as t.ll
llvm-as: t.ll:1:6: error: expected 'type' after '='
%0 = = type { i32, float, float, double }
^
PR6810.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100934
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Apr 2010 17:54:51 +0000 (17:54 +0000)]
improve haiku portability, patch by Paul Davey.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100933
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 10 Apr 2010 17:52:58 +0000 (17:52 +0000)]
add attributes and module level asm to the ocaml bindings,
patch by Patrick Walton!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100932
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Sat, 10 Apr 2010 00:48:10 +0000 (00:48 +0000)]
Updated the edis build mechanism to allow for builds
that do not build some (or all) of the targets that
edis supports.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100910
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 9 Apr 2010 22:47:25 +0000 (22:47 +0000)]
Fix a typo and some indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100908
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 9 Apr 2010 22:07:05 +0000 (22:07 +0000)]
When determining a canonical insert position, don't climb deeper
into adjacent loops. Also, ensure that the insert position is
dominated by the loop latch of any loop in the post-inc set which
has a latch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100906
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Fri, 9 Apr 2010 21:38:26 +0000 (21:38 +0000)]
Tidy whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100904
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Fri, 9 Apr 2010 21:01:02 +0000 (21:01 +0000)]
If all the bit positions are not specified; do not decode the instructions.
We are bound to fail! For proper disassembly, the well-known encoding bits
of the instruction must be fully specified.
This also removes pseudo instructions from considerations of disassembly,
which is a better design and less fragile than the name matchings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100899
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 Apr 2010 20:51:47 +0000 (20:51 +0000)]
suck the propagating "has dynamic libs" check into a single makefile
variable TARGET_HAS_DYNAMIC_LIBS
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100896
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 Apr 2010 20:45:04 +0000 (20:45 +0000)]
add minix support, patch by Kees van Reeuwijk! PR6797
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100895
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 Apr 2010 20:43:54 +0000 (20:43 +0000)]
clean this up, fix std::min ambiguity on some platforms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100894
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Fri, 9 Apr 2010 20:43:20 +0000 (20:43 +0000)]
Adding IPSCCP and Internalize passes to the C-bindings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100893
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Fri, 9 Apr 2010 20:41:18 +0000 (20:41 +0000)]
Provide versions of the ARM eh_sjlj_setjmp instructions for non-VFP subtargets
such that the non-VFP versions have no implicit defs of VFP registers.
If any callee-saved VFP registers are marked as having been defined, the
prologue/epilogue code will try to save and restore them.
Radar
7770432.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100892
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 9 Apr 2010 20:25:54 +0000 (20:25 +0000)]
Move 'Optional' class from Clang to LLVM/ADT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100889
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Fri, 9 Apr 2010 19:31:33 +0000 (19:31 +0000)]
ARM decoder emitter should print out useful information unconditionally when it
encounters decoding conflicts, instead of wrapping it inside the DEBUG() macro.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100886
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 9 Apr 2010 19:14:31 +0000 (19:14 +0000)]
When emitting code for an add, don't force a SCEVUnknown wrapper around
a hoisted intermediate result if the intermediate result isn't an
Instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100884
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 9 Apr 2010 19:12:34 +0000 (19:12 +0000)]
When looking for loop-invariant users, look through no-op instructions,
so that an unfortunately placed bitcast doesn't pin a value in a
register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100883
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 9 Apr 2010 19:03:31 +0000 (19:03 +0000)]
Make sure this test tests something.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100879
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Fri, 9 Apr 2010 18:39:54 +0000 (18:39 +0000)]
Fix a grammaro.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100877
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Fri, 9 Apr 2010 18:29:29 +0000 (18:29 +0000)]
Add a testcase for svn r100568.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100876
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 Apr 2010 18:27:03 +0000 (18:27 +0000)]
"On SPU, variables in the .bss section that are allocated with the .lcomm directive are not aligned on 16 byte boundaries. This causes misaligned loads, as the generated assembly assumes this "default" alignment.
this patch disables .lcomm in favour of '.local .comm'
Patch by Kalle Raisklia!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100875
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 9 Apr 2010 18:20:03 +0000 (18:20 +0000)]
Add a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100874
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Fri, 9 Apr 2010 16:24:49 +0000 (16:24 +0000)]
Fix up header comments to match the comment fixups I made in r100849.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100869
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 9 Apr 2010 16:04:20 +0000 (16:04 +0000)]
Clear InsnsBeginScopeSet and InsnsEndScopeSet at the end of function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100867
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Fri, 9 Apr 2010 15:18:34 +0000 (15:18 +0000)]
performance: cache result of looking up user
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100862
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 9 Apr 2010 15:03:55 +0000 (15:03 +0000)]
Merge a few fast-isel tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100860
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 9 Apr 2010 14:53:59 +0000 (14:53 +0000)]
Minor code simplification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100859
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 9 Apr 2010 14:12:01 +0000 (14:12 +0000)]
Delete this obsolete comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100858
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Fri, 9 Apr 2010 10:57:00 +0000 (10:57 +0000)]
const-ize a predicate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100856
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Fri, 9 Apr 2010 05:55:25 +0000 (05:55 +0000)]
Add a missing dependency to this library when building with CMake.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100852
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Fri, 9 Apr 2010 04:46:43 +0000 (04:46 +0000)]
Use getNumImplicitDefs() and getNumImplicitUses().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100850
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Fri, 9 Apr 2010 04:34:03 +0000 (04:34 +0000)]
Fix up some comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100849
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 Apr 2010 04:24:20 +0000 (04:24 +0000)]
revert r100842 which broke several of the build bots.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100848
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 9 Apr 2010 02:15:10 +0000 (02:15 +0000)]
lit: Add support to OneCommandPerFileTest format to take input directory from input path.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100846
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 9 Apr 2010 02:00:38 +0000 (02:00 +0000)]
Refactor the code for computing the insertion point for an expression into
a separate function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100845
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Fri, 9 Apr 2010 01:43:16 +0000 (01:43 +0000)]
Added a tester for the enhanced disassembler,
integrated into the llvm-mc testing tool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100842
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 9 Apr 2010 01:39:53 +0000 (01:39 +0000)]
Add several more lint checks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100841
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 9 Apr 2010 01:22:56 +0000 (01:22 +0000)]
Fix a bug in IVUsers which was permitting non-affine addrecs to
be sent to LSR, which it isn't prepared to handle.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100839
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 9 Apr 2010 01:19:28 +0000 (01:19 +0000)]
Don't use reserved identifiers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100838
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 Apr 2010 01:14:31 +0000 (01:14 +0000)]
fix a SCCP miscompilation that could happen when a
forced constant is changed to a constant, we would end
up adding the instruction to the wrong worklist,
preventing it from being properly revisited. This fixes
rdar://
7832370
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100837
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Fri, 9 Apr 2010 00:11:15 +0000 (00:11 +0000)]
Bugfixes for edis. Code to initialize instruction
state was being executed too lazily, and the LLVM
assembly syntax for the disassembler was not being
written into the proper disassembler state variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100830
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 8 Apr 2010 23:36:27 +0000 (23:36 +0000)]
Avoid allocating a value of zero in a register if the initial formula
inputs happen to negate each other.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100828
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 8 Apr 2010 23:05:57 +0000 (23:05 +0000)]
Add a few more lint checks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100825
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 8 Apr 2010 23:03:40 +0000 (23:03 +0000)]
Add variants of ult, ule, etc. which take a uint64_t RHS, for convenience.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100824
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 Apr 2010 21:34:17 +0000 (21:34 +0000)]
delete a forwarding function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100815
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 Apr 2010 21:26:26 +0000 (21:26 +0000)]
move elf section uniquing to MCContext. Along the way
merge XCore's section into MCSectionELF
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100812
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Thu, 8 Apr 2010 21:23:54 +0000 (21:23 +0000)]
Now that Evan Cheng has fixed the coalescer bug (r100804), the workaround code
to avoid memcpy() call is no longer necessary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100811
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 Apr 2010 20:40:11 +0000 (20:40 +0000)]
remove the TargetLoweringObjectFileMachO::getMachoSection
api and update clients to use MCContext instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100808
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 Apr 2010 20:30:37 +0000 (20:30 +0000)]
move macho section uniquing from MCParser and TLOF to MCContext where
the compiler and asmparser now unique to the same sections. This fixes
rdar://
7835021.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100807
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 8 Apr 2010 20:02:37 +0000 (20:02 +0000)]
Coalescer should not delete copy instructions whose defs are partially dead. e.g.
%RDI<def,dead> = MOV64rr %RAX<kill>, %EDI<imp-def>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100804
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 8 Apr 2010 18:52:18 +0000 (18:52 +0000)]
Update CMake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100802
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 8 Apr 2010 18:49:30 +0000 (18:49 +0000)]
Fix -Wsign-compare warning (issued by clang++).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100799
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 8 Apr 2010 18:47:09 +0000 (18:47 +0000)]
Add a -lint pass which checks for common sources of undefined or likely
unintended behavior.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100798
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 8 Apr 2010 18:43:56 +0000 (18:43 +0000)]
Rename a function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100797
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 Apr 2010 18:20:52 +0000 (18:20 +0000)]
implicit defs get added to the end of machine instrs sometimes. Scan the whole instruction for the metadata operand instead of assuming it will be at the end of the instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100792
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 8 Apr 2010 18:11:50 +0000 (18:11 +0000)]
Pointers to zero-sized objects don't point to overlapping objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100789
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 8 Apr 2010 18:03:05 +0000 (18:03 +0000)]
Print empty structs as {} rather than { }.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100787
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 8 Apr 2010 17:41:04 +0000 (17:41 +0000)]
Fix a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100783
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Thu, 8 Apr 2010 17:19:20 +0000 (17:19 +0000)]
Touch configure so it regenerates Disassemblers.def to include ARM so
people stop seeing a broken build in EDDisassembler.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100782
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 8 Apr 2010 16:50:29 +0000 (16:50 +0000)]
One instruction may start (or end) multiple lexical scopes.
There is no need to remember labels identifying regions marked by such instructions in each scope.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100781
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 8 Apr 2010 16:46:24 +0000 (16:46 +0000)]
clean up algorithm and remove operand order assumptions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100780
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 8 Apr 2010 15:57:10 +0000 (15:57 +0000)]
Fix a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100774
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 8 Apr 2010 15:48:02 +0000 (15:48 +0000)]
Remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100771
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 8 Apr 2010 15:41:13 +0000 (15:41 +0000)]
Delete out of date comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100769
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 8 Apr 2010 15:37:09 +0000 (15:37 +0000)]
Refactor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100768
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 8 Apr 2010 15:25:57 +0000 (15:25 +0000)]
Various MSVC warning fixes about truncated 64 bit shifts and const pointers passed to free.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100767
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 8 Apr 2010 15:22:35 +0000 (15:22 +0000)]
Provide operator delete for BumpPtrAllocator and RecyclingAllocator. They will
never be called but msvc complains that they're missing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100766
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 8 Apr 2010 13:50:42 +0000 (13:50 +0000)]
use abstract interface in two more places
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100762
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 8 Apr 2010 13:08:11 +0000 (13:08 +0000)]
fix compile
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100760
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 8 Apr 2010 12:52:19 +0000 (12:52 +0000)]
use abstract interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100758
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 8 Apr 2010 10:44:28 +0000 (10:44 +0000)]
Use twines to simplify calls to report_fatal_error. For code size and readability.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100756
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 8 Apr 2010 09:42:29 +0000 (09:42 +0000)]
Use errs instead of fprintf.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100754
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 8 Apr 2010 07:37:57 +0000 (07:37 +0000)]
Avoid using f64 to lower memcpy from constant string. It's cheaper to use i32 store of immediates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100751
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 8 Apr 2010 05:58:24 +0000 (05:58 +0000)]
Revert this change from a while ago; ScalarEvolution shouldn't analyze
undef as 0, since it can't force other analyses to intepret the undef
in the same way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100749
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 8 Apr 2010 05:57:57 +0000 (05:57 +0000)]
When expanding expressions which are using post-inc mode for multiple loops,
ensure that the expansion is dominated by the increments of those loops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100748
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 8 Apr 2010 01:03:47 +0000 (01:03 +0000)]
Make post regalloc machine licm functional. It now passes all of MultiSource.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100742
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 Apr 2010 00:54:34 +0000 (00:54 +0000)]
typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100738
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 Apr 2010 00:53:57 +0000 (00:53 +0000)]
document isvolatile etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100737
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 8 Apr 2010 00:52:02 +0000 (00:52 +0000)]
mpsadbw is not commutative.
Fixes PR3440.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100736
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Thu, 8 Apr 2010 00:48:21 +0000 (00:48 +0000)]
Added support for ARM disassembly to edis.
I also added a rule to the ARM target's Makefile to
build the ARM-specific instruction information table
for the enhanced disassembler.
I will add the test harness for all this stuff in
a separate commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100735
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 Apr 2010 00:09:16 +0000 (00:09 +0000)]
convert a report_fatal_error that I was able to trigger into a nice error
so the user at least knows what inline asm is a problem. For example:
error: inline asm not supported yet: don't know how to handle tied indirect register inputs
pr8788-1.c:14:10: note: generated from here
asm ("\n" : "+r" (stack->regs)
^
Instead of:
fatal error: error in backend: Don't know how to handle tied indirect register inputs yet!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100731
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 7 Apr 2010 23:51:38 +0000 (23:51 +0000)]
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100726
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Apr 2010 23:50:38 +0000 (23:50 +0000)]
minor tidying.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100725
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Apr 2010 23:47:51 +0000 (23:47 +0000)]
use assertions instead of unreachable for logic errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100724
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Apr 2010 23:40:44 +0000 (23:40 +0000)]
introduce a new recoverable error handling API to LLVMContext
and use it in one place in inline asm handling stuff. Before
we'd generate this for an invalid modifier letter:
$ clang asm.c -c -o t.o
fatal error: error in backend: Invalid operand found in inline asm: 'abc incl ${0:Z}'
INLINEASM <es:abc incl ${0:Z}>, 10, %EAX<def>,
2147483657, %EAX, 14, %EFLAGS<earlyclobber,def,dead>, <!-1>
Now we generate this:
$ clang asm.c -c -o t.o
error: invalid operand in inline asm: 'incl ${0:Z}'
asm.c:3:12: note: generated from here
__asm__ ("incl %Z0" : "+r" (X));
^
1 error generated.
This is much better but still admittedly not great ("why" is the operand
invalid??), codegen should try harder with its diagnostics :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100723
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 7 Apr 2010 23:22:42 +0000 (23:22 +0000)]
Say bitcast instead of bitconvert.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100720
91177308-0d34-0410-b5e6-
96231b3b80d8