Chris Lattner
4568ed7893
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!
llvm-svn: 100944
2010-04-10 19:12:44 +00:00
Chris Lattner
9ae28b141f
fix PR6743, a case where we'd delete an instruction before using it
...
in some cases.
llvm-svn: 100937
2010-04-10 18:26:57 +00:00
Chris Lattner
b9801ffcb5
fix PR6760, a missing check in heap SRoA.
...
llvm-svn: 100936
2010-04-10 18:19:22 +00:00
Chris Lattner
f60b74806f
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.
llvm-svn: 100934
2010-04-10 18:01:25 +00:00
Chris Lattner
3a747aef96
improve haiku portability, patch by Paul Davey.
...
llvm-svn: 100933
2010-04-10 17:54:51 +00:00
Chris Lattner
2694145e2e
add attributes and module level asm to the ocaml bindings,
...
patch by Patrick Walton!
llvm-svn: 100932
2010-04-10 17:52:58 +00:00
Dan Gohman
70e572e740
Fix a typo and some indentation.
...
llvm-svn: 100908
2010-04-09 22:47:25 +00:00
Dan Gohman
607e02b33a
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.
llvm-svn: 100906
2010-04-09 22:07:05 +00:00
Bob Wilson
67dd3a4464
Tidy whitespace.
...
llvm-svn: 100904
2010-04-09 21:38:26 +00:00
Chris Lattner
74e2ef68b9
suck the propagating "has dynamic libs" check into a single makefile
...
variable TARGET_HAS_DYNAMIC_LIBS
llvm-svn: 100896
2010-04-09 20:51:47 +00:00
Chris Lattner
c86cdc7d47
add minix support, patch by Kees van Reeuwijk! PR6797
...
llvm-svn: 100895
2010-04-09 20:45:04 +00:00
Chris Lattner
5c289f217b
clean this up, fix std::min ambiguity on some platforms.
...
llvm-svn: 100894
2010-04-09 20:43:54 +00:00
Wesley Peck
a2ca3fa781
Adding IPSCCP and Internalize passes to the C-bindings
...
llvm-svn: 100893
2010-04-09 20:43:20 +00:00
Bob Wilson
0106063556
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.
llvm-svn: 100892
2010-04-09 20:41:18 +00:00
Dan Gohman
3295a6e5bc
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.
llvm-svn: 100884
2010-04-09 19:14:31 +00:00
Dan Gohman
42ec4eb351
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.
llvm-svn: 100883
2010-04-09 19:12:34 +00:00
Chris Lattner
1ef9826ff8
"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!
llvm-svn: 100875
2010-04-09 18:27:03 +00:00
Dan Gohman
394b624215
Add a comment.
...
llvm-svn: 100874
2010-04-09 18:20:03 +00:00
Devang Patel
541019ddec
Clear InsnsBeginScopeSet and InsnsEndScopeSet at the end of function.
...
llvm-svn: 100867
2010-04-09 16:04:20 +00:00
Gabor Greif
ef60190a00
performance: cache result of looking up user
...
llvm-svn: 100862
2010-04-09 15:18:34 +00:00
Dan Gohman
0a8175d1db
Minor code simplification.
...
llvm-svn: 100859
2010-04-09 14:53:59 +00:00
Dan Gohman
87f8207c97
Delete this obsolete comment.
...
llvm-svn: 100858
2010-04-09 14:12:01 +00:00
Gabor Greif
ce6dd889ec
const-ize a predicate
...
llvm-svn: 100856
2010-04-09 10:57:00 +00:00
Chandler Carruth
825989ab63
Add a missing dependency to this library when building with CMake.
...
llvm-svn: 100852
2010-04-09 05:55:25 +00:00
Bob Wilson
d8eeb12120
Use getNumImplicitDefs() and getNumImplicitUses().
...
llvm-svn: 100850
2010-04-09 04:46:43 +00:00
Bob Wilson
406f270148
Fix up some comments.
...
llvm-svn: 100849
2010-04-09 04:34:03 +00:00
Dan Gohman
d2df643ddb
Refactor the code for computing the insertion point for an expression into
...
a separate function.
llvm-svn: 100845
2010-04-09 02:00:38 +00:00
Dan Gohman
9ba08a4631
Add several more lint checks.
...
llvm-svn: 100841
2010-04-09 01:39:53 +00:00
Dan Gohman
ee6451dca1
Fix a bug in IVUsers which was permitting non-affine addrecs to
...
be sent to LSR, which it isn't prepared to handle.
llvm-svn: 100839
2010-04-09 01:22:56 +00:00
Chris Lattner
c6c153be45
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
llvm-svn: 100837
2010-04-09 01:14:31 +00:00
Dan Gohman
9b5d0bb774
Avoid allocating a value of zero in a register if the initial formula
...
inputs happen to negate each other.
llvm-svn: 100828
2010-04-08 23:36:27 +00:00
Dan Gohman
7808d490d3
Add a few more lint checks.
...
llvm-svn: 100825
2010-04-08 23:05:57 +00:00
Dan Gohman
4ce1fb1448
Add variants of ult, ule, etc. which take a uint64_t RHS, for convenience.
...
llvm-svn: 100824
2010-04-08 23:03:40 +00:00
Chris Lattner
80c345927e
delete a forwarding function.
...
llvm-svn: 100815
2010-04-08 21:34:17 +00:00
Chris Lattner
5418dd5fda
move elf section uniquing to MCContext. Along the way
...
merge XCore's section into MCSectionELF
llvm-svn: 100812
2010-04-08 21:26:26 +00:00
Chris Lattner
433d40695b
remove the TargetLoweringObjectFileMachO::getMachoSection
...
api and update clients to use MCContext instead.
llvm-svn: 100808
2010-04-08 20:40:11 +00:00
Chris Lattner
2073112fc0
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.
llvm-svn: 100807
2010-04-08 20:30:37 +00:00
Evan Cheng
b083c47c21
Coalescer should not delete copy instructions whose defs are partially dead. e.g.
...
%RDI<def,dead> = MOV64rr %RAX<kill>, %EDI<imp-def>
llvm-svn: 100804
2010-04-08 20:02:37 +00:00
Ted Kremenek
7ffb294c5b
Update CMake build.
...
llvm-svn: 100802
2010-04-08 18:52:18 +00:00
Ted Kremenek
d87bd77586
Fix -Wsign-compare warning (issued by clang++).
...
llvm-svn: 100799
2010-04-08 18:49:30 +00:00
Dan Gohman
98bc4371c7
Add a -lint pass which checks for common sources of undefined or likely
...
unintended behavior.
llvm-svn: 100798
2010-04-08 18:47:09 +00:00
Devang Patel
359b013129
Rename a function.
...
llvm-svn: 100797
2010-04-08 18:43:56 +00:00
Chris Lattner
294a90d87a
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.
...
llvm-svn: 100792
2010-04-08 18:20:52 +00:00
Dan Gohman
cb45bd9cb3
Pointers to zero-sized objects don't point to overlapping objects.
...
llvm-svn: 100789
2010-04-08 18:11:50 +00:00
Dan Gohman
386e01e879
Print empty structs as {} rather than { }.
...
llvm-svn: 100787
2010-04-08 18:03:05 +00:00
Devang Patel
3ebd8931fb
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.
llvm-svn: 100781
2010-04-08 16:50:29 +00:00
Gabor Greif
64d8d1a022
clean up algorithm and remove operand order assumptions
...
llvm-svn: 100780
2010-04-08 16:46:24 +00:00
Dan Gohman
bc048307f3
Fix a comment.
...
llvm-svn: 100774
2010-04-08 15:57:10 +00:00
Devang Patel
2abed283e5
Remove dead code.
...
llvm-svn: 100771
2010-04-08 15:48:02 +00:00
Devang Patel
adfd4df12c
Delete out of date comment.
...
llvm-svn: 100769
2010-04-08 15:41:13 +00:00