Gabor Greif
b469818279
fix two cases where the arguments were extracted from the wrong range out of the InvokeInst
...
spotted by baldrick -- thanks\!
llvm-svn: 99914
2010-03-30 19:20:53 +00:00
Eric Christopher
6ad8167714
Remove the pmulld intrinsic and autoupdate it as a vector multiply.
...
Rewrite the pmulld patterns, and make sure that they fold in loads of
arguments into the instruction.
llvm-svn: 99910
2010-03-30 18:49:01 +00:00
Chris Lattner
9897043928
Rip out the 'is temporary' nonsense from the MCContext interface to
...
create symbols. It is extremely error prone and a source of a lot
of the remaining integrated assembler bugs on x86-64.
This fixes rdar://7807601.
llvm-svn: 99902
2010-03-30 18:10:53 +00:00
Evan Cheng
85eea4e031
Funky indentation.
...
llvm-svn: 99901
2010-03-30 18:08:53 +00:00
Devang Patel
67d94ab0f8
There is no need to fall through after processing DBG_VALUE machine instruction.
...
llvm-svn: 99899
2010-03-30 18:07:00 +00:00
Douglas Gregor
72683ff495
Switch isa_impl from a function template to a class template with a
...
static inline member function doit(). This enables the use of partial
specialization to override the last stage of the "isa" check.
llvm-svn: 99898
2010-03-30 18:05:52 +00:00
Daniel Dunbar
692d165c3b
Fix -Asserts warning.
...
llvm-svn: 99895
2010-03-30 17:57:42 +00:00
Douglas Gregor
83fd0156a9
Introduce namespace-scope functions to enable LLVM statistics without
...
passing the command-line parameter "-stats" and to print the resulting
statistics without calling llvm_shutdown().
llvm-svn: 99893
2010-03-30 17:32:08 +00:00
Ted Kremenek
9f8176a721
Change PointerUnionX::getFromOpaqueValue() to be declared 'static inline' instead of 'static'.
...
llvm-svn: 99892
2010-03-30 16:20:03 +00:00
Benjamin Kramer
0c1dcb083e
XFAIL some PIC16 tests when running under valgrind-leaks. I don't expect these
...
to be fixed any time soon.
llvm-svn: 99888
2010-03-30 14:34:13 +00:00
Benjamin Kramer
7cc264bf19
PIC16: Plug a leak in PIC16Section by allocating name & address strings in the
...
MCContext. There is still one leak left in PIC16Section (the Items vector).
llvm-svn: 99887
2010-03-30 13:28:42 +00:00
Torok Edwin
cc1db61180
Don't overwrite previous value, if it succeeded.
...
llvm-svn: 99886
2010-03-30 12:52:03 +00:00
Torok Edwin
61b798a5ac
Honour addGlobalMapping() in the interpreter, if it was used to add mappings for
...
external Functions (the JIT does honour this).
llvm-svn: 99885
2010-03-30 12:31:58 +00:00
Torok Edwin
8061bb141e
Reapply r99881 with some fixes: only call destructor in releaseMemory!
...
llvm-svn: 99883
2010-03-30 11:17:48 +00:00
Torok Edwin
a2d1dc42e1
Revert 99881, it brooke smooshlab's llvm-gcc-i386-darwin9.
...
llvm-svn: 99882
2010-03-30 10:25:08 +00:00
Torok Edwin
ba6d13c0ea
Introduce another Reset() method in BumpPtrAllocator that calls a destructor
...
on all objects it has allocated, if they are all of the same size and alignment.
Use this to destruct all VNInfos allocated in LiveIntervalAnalysis (PR6653).
valnos is not reliable for this purpose, as seen in r99400
(which still leaked, and sometimes caused double frees).
llvm-svn: 99881
2010-03-30 10:08:26 +00:00
Evan Cheng
cbcccce420
Avoid being influenced by the presence of dbg_value instructions.
...
llvm-svn: 99879
2010-03-30 05:49:07 +00:00
Chris Lattner
39e56a05f7
stringref'ize Timer apis
...
llvm-svn: 99877
2010-03-30 05:34:02 +00:00
Chris Lattner
90fe73dc92
finally, maintain a global list of timer groups, allowing us to
...
implement TimerGroup::printAll, which prints and resets all active
timers.
llvm-svn: 99876
2010-03-30 05:27:58 +00:00
Chris Lattner
4cd6571fef
add a new TimerGroup::print method, and refactor away the bogus
...
TimerGroup copy ctor and assignment operator.
llvm-svn: 99875
2010-03-30 05:20:02 +00:00
Chris Lattner
6cbd8d118e
rename GetLibSupportInfoOutputFile -> CreateInfoOutputFile and
...
have it always return a new stream to simplify clients.
llvm-svn: 99874
2010-03-30 05:01:08 +00:00
Chris Lattner
dcd68b7a65
if a timergroup is destroyed before its timers, print times.
...
llvm-svn: 99873
2010-03-30 04:58:26 +00:00
Chris Lattner
9a608d248e
change TimerGroup to keep a linked list of active timers
...
instead of just a count of them, and refactor the guts of
report printing out of removeTimer into its own method.
Refactor addTimerToPrint away.
llvm-svn: 99872
2010-03-30 04:40:01 +00:00
Chris Lattner
707431cf26
reapply my timer rewrite with a change for PassManager to store
...
timers by pointer instead of by-value.
llvm-svn: 99871
2010-03-30 04:03:22 +00:00
Chris Lattner
ec8ef9b643
revert r99862 which is causing FNT failures.
...
llvm-svn: 99870
2010-03-30 03:57:00 +00:00
Chris Lattner
57a0542397
fairly major rewrite of various timing related stuff.
...
llvm-svn: 99862
2010-03-30 02:38:19 +00:00
Eric Christopher
c1ddaaf5b1
Add FIXME for operand promotion.
...
llvm-svn: 99859
2010-03-30 01:04:59 +00:00
Jakob Stoklund Olesen
486aa2eadc
Be gentle to MSVC. C++ is hard, after all.
...
llvm-svn: 99855
2010-03-30 00:09:32 +00:00
Daniel Dunbar
c95156262d
MC/Mach-O/x86_64: Support @GOTPCREL on symbols, even for non-PCrel relocations!
...
llvm-svn: 99853
2010-03-29 23:56:40 +00:00
Bill Wendling
b2799edaf6
Re-add back in the slow way of determining of a clean-up should become a
...
catch-all. The "dominates" way won't catch all of the selectors which must be
changed.
llvm-svn: 99850
2010-03-29 23:37:07 +00:00
Jakob Stoklund Olesen
b551aa4da5
Basic implementation of SSEDomainFix pass.
...
Cross-block inference is primitive and wrong, but the pass is working otherwise.
llvm-svn: 99848
2010-03-29 23:24:21 +00:00
Bill Wendling
decbb74d68
A more general (and simpler!) implementation of r99671. It performs a similar
...
transform. I.e., if a clean-up eh.selector call dominates the invoke of an
_Unwind_Resume_or_Rethrow, then we convert the eh.selector into a
catch-all. This patch, however, uses the DominatorTree information, and doesn't
go through the whole rigmarole of starting at the eh.exception call, finding the
corresponding URoR and eh.selector calls, and trying to trace through any number
of instruction types to get to them.
llvm-svn: 99846
2010-03-29 23:02:46 +00:00
Devang Patel
23b2ae621c
Encode start location of debug value, communicated through DBG_VALUE machine instruction, in a variable's DIE.
...
llvm-svn: 99845
2010-03-29 22:59:58 +00:00
Chris Lattner
dcd7f927bd
move a function into a more logical place in the file
...
llvm-svn: 99842
2010-03-29 21:34:06 +00:00
Chris Lattner
09a4074869
remove support for per-time peak memory tracking, this
...
isn't used by anyone and is better exposed as a non-per-timer
thing. Also, stop including System/Mutex.h in Timer.h
llvm-svn: 99841
2010-03-29 21:28:41 +00:00
Evan Cheng
742db6874a
Fix PR4975. Avoid referencing empty vector.
...
llvm-svn: 99840
2010-03-29 21:27:30 +00:00
Chris Lattner
b355db7877
various timer fixes: move operator= out of line,
...
eliminate the per-timer lock (timers should be
externally locked if needed), the info-output-stream
can never be dbgs(), so drop the check. Make some
stuff private.
llvm-svn: 99839
2010-03-29 21:24:52 +00:00
Benjamin Kramer
2788f797ca
Make isInt?? and isUint?? template specializations of the generic versions. This
...
makes calls a little bit more consistent and allows easy removal of the
specializations in the future. Convert all callers to the templated functions.
llvm-svn: 99838
2010-03-29 21:13:41 +00:00
Evan Cheng
4d1aa2a1c6
Pool allocate SDDbgValue nodes.
...
llvm-svn: 99836
2010-03-29 20:48:30 +00:00
Eric Christopher
9bdadf0d99
We'll never match these as instructions, just as intrinsics so remove
...
the SDNodes.
llvm-svn: 99835
2010-03-29 20:41:51 +00:00
Chris Lattner
5092a6de8e
s/.../.
...
llvm-svn: 99834
2010-03-29 20:40:19 +00:00
Chris Lattner
6efa201f7f
use RAII for ExceptionTimer too
...
llvm-svn: 99833
2010-03-29 20:39:38 +00:00
Chris Lattner
4787975994
fix a variety of issues were we'd start DebugTimer but
...
not stop it by using RAII.
llvm-svn: 99832
2010-03-29 20:38:20 +00:00
Chris Lattner
fafa57a82a
move code around and improve indentation, no functionality change.
...
llvm-svn: 99831
2010-03-29 20:35:01 +00:00
Benjamin Kramer
f633ba8213
Remove a bunch of integer width predicate functions in favor of MathExtras.
...
Most of these were unused, some of them were wrong and unused (isS16Constant<short>,
isS10Constant<short>).
llvm-svn: 99827
2010-03-29 19:07:58 +00:00
Chris Lattner
bdaa43225f
some other notes.
...
llvm-svn: 99826
2010-03-29 18:42:42 +00:00
Chris Lattner
e1c1eda3cd
apparently llvm 2.7 now has great armv4 support, from
...
John Tytgat
llvm-svn: 99825
2010-03-29 18:39:28 +00:00
Chris Lattner
ef2e573d28
update the vmkit blurb
...
llvm-svn: 99824
2010-03-29 18:34:13 +00:00
Chris Lattner
b4a02798a7
add tce
...
llvm-svn: 99820
2010-03-29 17:50:39 +00:00
Chris Lattner
f60c556b91
From Kalle Raiskila:
...
"the bigstack patch for SPU, with testcase. It is essentially the patch committed as 97091, and reverted as 97099, but with the following additions:
-in vararg handling, registers are marked to be live, to not confuse the register scavenger
-function prologue and epilogue are not emitted, if the stack size is 16. 16 means it is empty - there is only the register scavenger emergency spill slot, which is not used as there is no stack."
llvm-svn: 99819
2010-03-29 17:38:47 +00:00