Commit Graph

45308 Commits

Author SHA1 Message Date
Chris Lattner
eda2ec35a1 fix PR3785, a valgrind error on test/CodeGen/ARM/pr3502.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66660 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-11 16:14:25 +00:00
Duncan Sands
9e8bd0b362 Add parentheses to pacify gcc-4.3.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66653 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-11 09:04:34 +00:00
Duncan Sands
5f4ee1fc5d Remove the one-definition-rule version of extern_weak
linkage: this linkage type only applies to declarations,
but ODR is only relevant to globals with definitions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66650 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-11 08:08:06 +00:00
Nate Begeman
841c6a4345 Allow cross-process JIT to handle MachineRelocations of the ExternalSymbol
variety.  For example, an i64 div might turn into a call to __divdi3 during
legalization.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66646 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-11 07:03:43 +00:00
Mon P Wang
37b9a19653 Fixed a v8i16 shuffle case that should generate a pshufb instead of a pshuflw/hw.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66645 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-11 06:35:11 +00:00
Chris Lattner
47b4ce8529 formatting change, reduce indentation. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66642 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-11 05:48:52 +00:00
Chris Lattner
600fec3cea reapply my previous patch (r66358) with a tweak to set the
alignment of the generated constant pool entry to the
desired alignment of a type.  If we don't do this, we end up
trying to do movsd from 4-byte alignment memory.  This fixes
450.soplex and 456.hmmer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66641 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-11 05:08:08 +00:00
Bill Wendling
1362f97018 Put the assignment back at the top of this method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66611 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-11 00:03:50 +00:00
Evan Cheng
a2e6435e48 Two coalescer fixes in one.
1. Use the same value# to represent unknown values being merged into sub-registers.
2. When coalescer commute an instruction and the destination is a physical register, update its sub-registers by merging in the extended ranges.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66610 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-11 00:03:21 +00:00
Bill Wendling
dd44632498 Make ivars private. Other cleanup. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66607 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 23:57:09 +00:00
Mon P Wang
535f390bc3 Changed Allocate to use size_t instead of unsigned.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66602 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 23:48:49 +00:00
Dan Gohman
7f3030c471 Add an explicit keyword.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66595 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 23:10:46 +00:00
Mon P Wang
cabb383aba Fixed rounding up EltSize
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66594 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 23:04:40 +00:00
Gabor Greif
20cb46287c Give Op<N>() AppleScript-like semantics, i.e. for negative N it indexes relative to op_end.
This is a preliminary to changes to come. No intended functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66593 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 23:02:13 +00:00
Bill Wendling
68edf5f68a Just make the Dwarf timer group static inside of the getter function. No need to alloc/dealloc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66591 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 22:58:53 +00:00
Bill Wendling
fc232b08f3 Don't put static functions in anonymous namespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66589 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 22:36:31 +00:00
Dale Johannesen
8aa90feb3d Don't consider debug intrinsics when checking
whether a callee to be inlined is a leaf.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66588 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 22:20:02 +00:00
Bill Wendling
7b69720ff4 These should *stop* the timer, not start it again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66586 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 22:02:13 +00:00
Bill Wendling
e9e960ff55 - Fix misspelled method name.
- Remove unused method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66585 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 21:59:25 +00:00
Bill Wendling
c8615e4d39 - Create GetOrCreateSourceID from getOrCreateSourceID. GetOrCreateSourceID is
the untimed version of getOrCreateSourceID. getOrCreateSourceID calls
  GetOrCreateSourceID, of course.

- Move some methods into the "private" section. Constify at least one method.

- General clean-ups.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66582 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 21:47:45 +00:00
Bill Wendling
aad49feb6a Readd test, but XFAIL it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66581 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 21:31:00 +00:00
Bill Wendling
163ba3fa39 Refine the Dwarf writer timers so that they measure exception writing and debug
writing individually.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66577 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 21:23:25 +00:00
Dale Johannesen
ff278b11bf Removing a dead debug intrinsic shouldn't trigger
another instcombine pass if we weren't going to make
one without debug info.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66576 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 21:19:49 +00:00
Evan Cheng
41d88d2ac0 Revert 66358 for now. It's breaking povray, 450.soplex, and 456.hmmer on x86 / Darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66574 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 20:47:18 +00:00
Bill Wendling
91b8b8010a Add a timer to the DwarfWriter pass that measures the total time it takes to
emit exception and debug Dwarf info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66571 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 20:41:52 +00:00
Daniel Dunbar
111def86f7 Add -disable-bindings for utils/NewNightlyTest.pl
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66566 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 19:33:13 +00:00
Dan Gohman
4832f8893b Change these sed lines to behave correctly when the input string
contains commas. This fixes PR3727.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66565 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 19:01:23 +00:00
Dan Gohman
ac57b128c4 Use WriteAsOperand instead of manually decorating the name for this
debug output. This improves the printing of anonymous values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66561 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 18:47:59 +00:00
Dan Gohman
1274ced8a3 Fix a post-RA scheduling liveness bug. When a basic block is being
scheduled in multiple regions, liveness data used by the
anti-dependence breaker is carried from one region to the next, however
the information reflects the state of the instructions before scheduling.
After scheduling, there may be new live range overlaps. Handle this by
pessimizing the liveness data carried between regions to the point where
it will be conservatively correct now matter how the earlier region is
scheduled. This fixes a miscompilation in 176.gcc with the post-RA
scheduler enabled.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66558 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 18:10:43 +00:00
Devang Patel
9200c89968 Ignore dbg info, while estimating size of jump through block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66554 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 18:00:05 +00:00
Rafael Espindola
075630a158 Fix rebuilding after a .td file is modified. This was broken since revision
65834.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66553 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 17:58:54 +00:00
Chris Lattner
1b030a116d don't pass -Wl,-exported_symbol -Wl,_main to the linker when building on
Tiger.  PR3743


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66550 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 17:15:56 +00:00
Stuart Hastings
ab5acba347 Tweak the DejaGNU voodoo to match Bill's advice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66547 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 16:44:45 +00:00
Daniel Dunbar
e77e434bc9 PR3478: raw_ostream should not buffer stderr
- Add unbuffered flag to raw_ostream, forwarded by raw_fd_ostream and
   used by raw_stderr_ostream.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66545 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 16:21:55 +00:00
Daniel Dunbar
7af9248391 Add C++ marker.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66543 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 15:56:48 +00:00
John Criswell
090c0a2ffd Do not attempt to do parial redundancy elimination on void values.
Also fixed a punctuation error in the header comment.
This fixes PR3775.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66542 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 15:04:53 +00:00
Torok Edwin
ff7d0e9509 Global variables don't have a corresponding llvm.dbg.declare, yet it is possible
to obtain debug info about them.
Introduce helpers to access debug info for global variables. Also introduce a
helper that works for both local and global variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66541 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 13:41:26 +00:00
Sanjiv Gupta
c29f0c7dde Mark the Defs and Uses of STATUS register correctly, plus some reformatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66540 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 10:35:34 +00:00
Evan Cheng
8c7848f17f If a function is marked alwaysinline, it must be inlined (possibly for correctness). Do so even if the callee has dynamic alloca and the caller doesn't.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66539 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 07:57:50 +00:00
Bill Wendling
3528e38fdf Add radar number.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66534 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 06:53:54 +00:00
Chris Lattner
3e0cc2634e wire up support for emitting "special" values from inline asm
format strings with the standard ${:foo} syntax.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66527 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 05:37:13 +00:00
Dan Gohman
3328adda6b Add more information to the EFLAGS note.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66515 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 00:26:23 +00:00
Stuart Hastings
1f2f31493e Check for warnings about inappropriate weak_imports.
Darwin-specific; marked XFAIL for others.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66514 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 00:17:39 +00:00
Dan Gohman
ad93e1e5fc Add a note about EFLAGS optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66508 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-09 23:47:02 +00:00
Devang Patel
412a446974 Ignore debug info while evaluating function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66490 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-09 23:04:12 +00:00
Dan Gohman
9d10086797 Don't record the increment instruction; just recompute it from the Phi
if needed. This simplifies the code a little, and is needed for an
upcoming refactoring.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66479 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-09 22:04:01 +00:00
Chris Lattner
96c96b46e9 Fix PR3724 by searching for the largest free block when
allocating memory in the JIT.  This is insanely inefficient, but
hey, most people implement their own memory managers anyway.

Patch by Eric Yew!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66472 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-09 21:34:10 +00:00
Devang Patel
d07128c906 Remove llvm.dbg.global_variables also.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66471 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-09 21:32:28 +00:00
Dan Gohman
3cfe6a4bc2 Fix a few more places where induction variable types were used
where memory access types are needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66470 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-09 21:22:12 +00:00
Dan Gohman
bb5b49cb8d Use ReplacedTy instead of recomputing the same value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66469 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-09 21:19:58 +00:00