Richard Osborne
021b589253
Optimize sprintf -> siprintf if there are no floating point arguments
...
and siprintf is available on the target.
llvm-svn: 126937
2011-03-03 14:09:28 +00:00
Richard Osborne
df829ddcb7
Optimize printf -> iprintf if there are no floating point arguments
...
and iprintf is available on the target. Currently iprintf is only
marked as being available on the XCore.
llvm-svn: 126935
2011-03-03 13:17:51 +00:00
Tilmann Scheller
ab6450ec63
Use X86_thiscall calling convention for Win64 as well.
...
llvm-svn: 126934
2011-03-03 07:49:07 +00:00
Jakob Stoklund Olesen
d0930e03c1
Represent sentinel slot indexes with a null pointer.
...
This is much faster than using a pointer to a ManagedStatic object accessed with
a function call. The greedy register allocator is 5% faster overall just from
the SlotIndex default constructor savings.
llvm-svn: 126925
2011-03-03 05:40:04 +00:00
Jakob Stoklund Olesen
2e6407e9aa
Avoid comparing invalid slot indexes, and assert that it doesn't happen.
...
The SlotIndex created by the default construction does not represent a position
in the function, and it doesn't make sense to compare it to other indexes.
llvm-svn: 126924
2011-03-03 05:18:19 +00:00
Jakob Stoklund Olesen
2a12e5adba
Optimize SlotIndex equality tests.
...
IndexListEntries have unique indexes, so it is not necessary to dereference
pointers to them.
llvm-svn: 126923
2011-03-03 05:18:15 +00:00
Chris Lattner
e82c10f5df
add some slice helper methods.
...
llvm-svn: 126878
2011-03-02 20:55:51 +00:00
Duncan Sands
a7c3ebafe4
Remove DIFactory. Patch by Devang.
...
llvm-svn: 126871
2011-03-02 20:30:37 +00:00
Tilmann Scheller
c557d1eeb4
Add Win64 thiscall calling convention.
...
llvm-svn: 126862
2011-03-02 19:29:22 +00:00
Rafael Espindola
7f301833ee
Add a special streamer to libLTO that just records symbols definitions and
...
uses.
The result produced by the streamer is used to give the linker more accurate
information and to add to llvm.compiler.used. The second improvement removes
the need for the user to add __attribute__((used)) to functions only used in
inline asm. The first one lets us build firefox with LTO on Darwin :-)
llvm-svn: 126830
2011-03-02 04:14:42 +00:00
Dan Gohman
b62daa9ec3
Make pred_iterator DefaultConstructible, and add an accessor to
...
retrieve the underlying getOperandNo() value.
llvm-svn: 126804
2011-03-02 00:11:28 +00:00
Jakob Stoklund Olesen
4d3c996555
Move LiveIntervalMap::extendTo into LiveInterval itself.
...
This method could probably be used by LiveIntervalAnalysis::shrinkToUses, and
now it can use extendIntervalEndTo() which coalesces ranges.
llvm-svn: 126803
2011-03-02 00:06:15 +00:00
Devang Patel
5c7b3c4228
Today, the language front ends produces llvm.dbg.* intrinsics, used to encode arguments' debug info, in order any way, most of the times. However, if a front end mix-n-matches llvm.dbg.declare and llvm.dbg.value intrinsics to encode debug info for arguments then code generator needs a way to find argument order.
...
Use 8 bits from line number field to keep track of argument ordering while encoding debug info for an argument. That leaves 24 bit for line no, DebugLoc also allocates 24 bit for line numbers. If a function has more than 255 arguments then rest of the arguments will be ordered by llvm.dbg.* intrinsics' ordering in IR.
llvm-svn: 126793
2011-03-01 22:58:13 +00:00
Dan Gohman
4694b04817
Escape graph edge labels.
...
llvm-svn: 126788
2011-03-01 22:12:24 +00:00
Dan Gohman
ec55e3d750
Remove the showline argument from the SMDiagnostic constructor
...
which constructs a diagnostic with no line to show.
llvm-svn: 126787
2011-03-01 22:11:52 +00:00
Dan Gohman
bf282415a2
Code simplification.
...
llvm-svn: 126786
2011-03-01 22:07:55 +00:00
Dan Gohman
304de5bc17
Simplify this code.
...
llvm-svn: 126785
2011-03-01 22:07:32 +00:00
Dan Gohman
c6cda9defe
Change directory_entry::path() to return a const std::string & instead of
...
a StringRef, for the benefit of clients that want the result as a
nul-terminated string. Clients that expect a StringRef will get one via
the implicit conversion.
llvm-svn: 126784
2011-03-01 22:07:09 +00:00
Dan Gohman
8626e387c3
Revert PathV2 changes, as sys::fs::unique_file is not finished yet.
...
llvm-svn: 126773
2011-03-01 19:50:55 +00:00
Chris Lattner
877ce8549d
add a missing const qualifier for consistency.
...
llvm-svn: 126742
2011-03-01 08:36:21 +00:00
Jim Grosbach
fbdcd70f4b
Generalize the register matching code in DAGISel a bit.
...
llvm-svn: 126731
2011-03-01 01:37:19 +00:00
Talin
753b7ce425
Add an END_WITH_NULL accessor for ConstantStruct.
...
llvm-svn: 126714
2011-02-28 23:53:27 +00:00
Owen Anderson
9d0944d6bd
Fix warning when building with clang++.
...
llvm-svn: 126679
2011-02-28 19:58:06 +00:00
Dan Gohman
91de965338
Delete the GEPSplitter experiment.
...
llvm-svn: 126671
2011-02-28 19:47:47 +00:00
Dan Gohman
db646bfdad
Delete the SimplifyHalfPowrLibCalls pass, which was unused, and
...
only existed as the result of a misunderstanding.
llvm-svn: 126669
2011-02-28 19:41:14 +00:00
Dan Gohman
1ee6941aca
Delete the LiveValues pass. I won't get get back to the project it
...
was started for in the foreseeable future.
llvm-svn: 126668
2011-02-28 19:37:59 +00:00
Stuart Hastings
539d4e1460
Support for byval parameters on ARM. Will be enabled by a forthcoming
...
patch to the front-end. Radar 7662569.
llvm-svn: 126655
2011-02-28 17:17:53 +00:00
Chris Lattner
7513f07004
add the ability to walk the scope tree and insert at not-the-current
...
scope.
llvm-svn: 126591
2011-02-27 22:51:57 +00:00
Chris Lattner
3fac41ace4
add a data() method.
...
llvm-svn: 126590
2011-02-27 22:51:37 +00:00
Cameron Zwarich
764320383d
Fix PR9324 / <rdar://problem/9052489> by handling the case where a PHI has no uses.
...
llvm-svn: 126567
2011-02-27 08:06:01 +00:00
Tobias Grosser
7cb4ec5d69
cmake: Add xdot.py support as it already exists in autoconf.
...
llvm-svn: 126563
2011-02-27 04:11:05 +00:00
Tobias Grosser
789fab6b30
Pass the graph to the DOTGraphTraits.getEdgeAttributes().
...
This follows the interface of getNodeAttributes.
llvm-svn: 126562
2011-02-27 04:11:03 +00:00
Daniel Dunbar
d4a7704765
Support: Add llvm::AreStatisticsEnabled().
...
llvm-svn: 126558
2011-02-26 23:17:12 +00:00
Owen Anderson
bd26993873
Allow targets to specify a the type of the RHS of a shift parameterized on the type of the LHS.
...
llvm-svn: 126518
2011-02-25 21:41:48 +00:00
Cameron Zwarich
974208a607
Roll out r126425 and r126450 to see if it fixes the failures on the buildbots.
...
llvm-svn: 126488
2011-02-25 16:30:32 +00:00
Nick Lewycky
ed7f556f44
Update the NoFolder to work with current IRBuilder.
...
llvm-svn: 126479
2011-02-25 07:13:35 +00:00
Joerg Sonnenberger
9c30c492df
Restore r125595 (reverted in r126336) with modifications:
...
Introduce a variable in the AsmParserExtension whether [] is valid in an
expression. If it is true, parse them like (). Enable this for ELF only.
llvm-svn: 126443
2011-02-24 21:59:22 +00:00
Devang Patel
f2b2417c2c
Enable DebugInfo support for COFF object files.
...
Patch by Nathan Jeffords!
llvm-svn: 126425
2011-02-24 21:04:00 +00:00
Richard Osborne
a8df984a31
Add XCore intrinsic for eeu instruction.
...
llvm-svn: 126384
2011-02-24 13:39:18 +00:00
Duncan Sands
760d1a03ba
Rewrite the vector part of getExtendedTypeAction to make it more
...
understandable (at least I find it easier to understand like this).
No intended functionality change.
llvm-svn: 126382
2011-02-24 11:54:18 +00:00
Cameron Zwarich
724eb8706a
Merge information about the number of zero, one, and sign bits of live-out
...
registers at phis. This enables us to eliminate a lot of pointless zexts during
the DAGCombine phase. This fixes <rdar://problem/8760114>.
llvm-svn: 126380
2011-02-24 10:00:25 +00:00
Cameron Zwarich
af4779907f
Add a getNumSignBits() method to APInt.
...
llvm-svn: 126379
2011-02-24 10:00:20 +00:00
Cameron Zwarich
e79a75febe
Add a mechanism for invalidating the LiveOutInfo of a PHI, and use it whenever
...
a block is visited before all of its predecessors.
llvm-svn: 126378
2011-02-24 10:00:16 +00:00
Cameron Zwarich
5c9384705f
Track blocks visited in reverse postorder.
...
llvm-svn: 126377
2011-02-24 10:00:13 +00:00
Cameron Zwarich
3d2f99227a
Refactor the LiveOutInfo interface into a few methods on FunctionLoweringInfo
...
and make the actual map private.
llvm-svn: 126376
2011-02-24 10:00:08 +00:00
Michael J. Spencer
3c784e25d6
Depricate PathV1::isAbsolute.
...
llvm-svn: 126348
2011-02-24 01:02:32 +00:00
Richard Osborne
d9564589f6
Add XCore intrinsic for clre instruction.
...
llvm-svn: 126322
2011-02-23 18:52:05 +00:00
Richard Osborne
4a55817288
Add llvm.xcore.waitevent intrinsic. The effect of this intrinsic is to enable
...
events on the thread and wait until a resource is ready to event. The vector
of the resource that is ready is returned.
llvm-svn: 126320
2011-02-23 18:35:59 +00:00
Richard Osborne
aaac1b01fd
Add XCore intrinsic for the setv instruction.
...
llvm-svn: 126315
2011-02-23 16:46:37 +00:00
Richard Osborne
aa39bf94b4
Add XCore intrinsic for settw instruction.
...
llvm-svn: 126313
2011-02-23 14:45:03 +00:00