Bill Wendling
63ab99829a
Use proper type for the index.
...
llvm-svn: 173646
2013-01-28 01:30:29 +00:00
Bill Wendling
3217eb652b
Use proper return type for attribute index.
...
llvm-svn: 173639
2013-01-27 23:50:44 +00:00
Bill Wendling
1f786a7371
Push the calculation of the 'Raw' attribute mask down into the implementation. It in turn uses the correct list for calculating the 'Raw' value.
...
llvm-svn: 173637
2013-01-27 23:41:29 +00:00
Bill Wendling
71ead26439
Don't erase these methods. They're used during testing.
...
llvm-svn: 173636
2013-01-27 22:46:17 +00:00
Bill Wendling
4bbe9db48f
Add special 'get' methods to create an Attribute with an alignment. Also do some random cleanup. No functionality change.
...
llvm-svn: 173635
2013-01-27 22:43:04 +00:00
Bill Wendling
56b0b2a8e4
s/AttrList/pImpl/g in AttributeSet. No functionality change.
...
llvm-svn: 173628
2013-01-27 21:23:46 +00:00
Bill Wendling
f5c1f555cb
Fix miscompile. Add back the use of the ArrayRef version of the ::get method.
...
llvm-svn: 173613
2013-01-27 10:28:39 +00:00
Bill Wendling
a05f97c6e5
Rearrange some deckchairs. Moving the class before it's use.
...
llvm-svn: 173612
2013-01-27 10:00:13 +00:00
Bill Wendling
993604c747
Remove dead methods.
...
llvm-svn: 173611
2013-01-27 09:55:44 +00:00
Bill Wendling
53e191b2bc
Hide the method that creates an AttributeSet with AttributeWithIndexes.
...
This method will go away once AttributeWithIndex goes away. In the meantime,
hide it from general use.
llvm-svn: 173607
2013-01-27 03:35:32 +00:00
David Blaikie
9f4b70dde0
PR14566: Debug Info: Removing top level lexical blocks
...
This adds support for LLVM to accept metadata that doesn't include a top level
lexical block in a function. Specifically LLVM couldn't handle this when there
were file changes relating to these blocks. I've updated a few test cases to
ensure other functionality (such as inlining) isn't affected by this change, but
haven't pervasively updated all the test cases.
llvm-svn: 173592
2013-01-26 21:55:23 +00:00
David Blaikie
18a7776b93
IRBuilder: Remove redundant check around SetInstDebugLocation call.
...
llvm-svn: 173591
2013-01-26 21:55:19 +00:00
NAKAMURA Takumi
a44b1c2486
Object/RelocVisitor: Add minimal support, R_MIPS_32, for mips.
...
It fixes llvm-dwarfdump for mips and mipsel.
llvm-svn: 173567
2013-01-26 08:27:36 +00:00
NAKAMURA Takumi
3ba23555de
Object/RelocVisitor: Add minimal support, R_PPC64_ADDR32, for ppc64.
...
It fixes llvm-dwarfdump for ppc64-elf.
llvm-svn: 173566
2013-01-26 08:27:29 +00:00
NAKAMURA Takumi
a5b09ff6b9
RelocVisitor::visit(): Set hasError in the default path.
...
llvm-svn: 173565
2013-01-26 08:27:23 +00:00
Andrew Kaylor
9a8ff813f3
Add DIContext::getLineInfoForAddressRange() function and test. This function allows a caller to obtain a table of line information for a function using the function's address and size.
...
llvm-svn: 173537
2013-01-26 00:28:05 +00:00
Bill Wendling
201d7b2545
Convert BuildLibCalls.cpp to using the AttributeSet methods instead of AttributeWithIndex.
...
llvm-svn: 173536
2013-01-26 00:03:11 +00:00
Bill Wendling
0170cc7523
Remove dead method.
...
llvm-svn: 173524
2013-01-25 23:14:36 +00:00
Bill Wendling
57625a4966
Remove some introspection functions.
...
The 'getSlot' function and its ilk allow introspection into the AttributeSet
class. However, that class should be opaque. Allow access through accessor
methods instead.
llvm-svn: 173522
2013-01-25 23:09:36 +00:00
Andrew Kaylor
d55d7019fc
Add support for applying in-memory relocations to the .debug_line section and, in the case of ELF files, using symbol addresses when available for relocations to the .debug_info section. Also extending the llvm-rtdyld tool to add the ability to dump line number information for testing purposes.
...
llvm-svn: 173517
2013-01-25 22:50:58 +00:00
Reid Kleckner
1bda56ce55
Add parens to suppress an MSVC 2012 << precedence warning
...
It doesn't seem to like instantiating the isUInt<unsigned N> template
with 6+3, and then doing <<N.
llvm-svn: 173507
2013-01-25 22:12:45 +00:00
Nick Lewycky
476a6dab9f
Add an insert() method to MapVector. Adds the first MapVector unit test.
...
llvm-svn: 173505
2013-01-25 22:11:02 +00:00
Bill Wendling
25e65a61cc
Add an accessor method to get the slot's index. This will limit the use of AttributeWithIndex.
...
llvm-svn: 173495
2013-01-25 21:30:53 +00:00
David Blaikie
3ea696d73f
This is no trule.
...
llvm-svn: 173487
2013-01-25 20:47:58 +00:00
Eli Bendersky
7a94daa170
Add command-line flags for DWARF dumping.
...
Flags for dumping specific DWARF sections added in lib/DebugInfo and
llvm-dwarfdump.
llvm-svn: 173480
2013-01-25 20:26:43 +00:00
Hal Finkel
c7d4dc13a4
Add an addition operator to TableGen
...
This adds an !add(a, b) operator to tablegen; this will be used
to cleanup the PPC register definitions.
llvm-svn: 173445
2013-01-25 14:49:08 +00:00
Andrew Trick
ea9fd951a0
MachineScheduler support for viewGraph.
...
llvm-svn: 173432
2013-01-25 07:45:29 +00:00
Andrew Trick
b36388a1cb
ScheduleDAG: colorize the DOT graph and improve formatting.
...
llvm-svn: 173431
2013-01-25 07:45:25 +00:00
Andrew Trick
646eeb6675
ScheduleDAG: Added isBoundaryNode to conveniently detect a common corner case.
...
This fixes DAG subtree analysis at the boundary.
llvm-svn: 173427
2013-01-25 06:52:30 +00:00
Andrew Trick
ffc8097c60
SchedDFS: Complete support for nested subtrees.
...
Maintain separate per-node and per-tree book-keeping.
Track all instructions above a DAG node including nested subtrees.
Seperately track instructions within a subtree.
Record subtree parents.
llvm-svn: 173426
2013-01-25 06:52:27 +00:00
Andrew Trick
e2c3f5c982
MIsched: Improve the interface to SchedDFS analysis (subtrees).
...
Allow the strategy to select SchedDFS. Allow the results of SchedDFS
to affect initialization of the scheduler state.
llvm-svn: 173425
2013-01-25 06:33:57 +00:00
Andrew Trick
f443f11589
ArrayRef reverse iterators.
...
llvm-svn: 173424
2013-01-25 06:33:52 +00:00
Andrew Trick
030119bc3e
whitespace
...
llvm-svn: 173423
2013-01-25 06:33:50 +00:00
Andrew Trick
5b07eeb24a
SchedDFS: Initial support for nested subtrees.
...
This is mostly refactoring, along with adding an instruction count
within the subtrees and ensuring we only look at data edges.
llvm-svn: 173420
2013-01-25 06:02:44 +00:00
Andrew Trick
44f750a3e5
MISched: Add SchedDFSResult to ScheduleDAGMI to formalize the
...
interface and allow other strategies to select it.
llvm-svn: 173413
2013-01-25 04:01:04 +00:00
Andrew Trick
dca637ab36
SchedDFS: Constify interface.
...
llvm-svn: 173398
2013-01-25 00:12:55 +00:00
Renato Golin
d4c392e6ff
Moving Cost Tables up to share with other targets
...
llvm-svn: 173382
2013-01-24 23:01:00 +00:00
Richard Trieu
3ac907def8
Add asserts to SmallVector so that calls to front() and back() only succeed
...
if the vector is not empty. This will ensure that calls to these functions
will reference elements in the vector.
llvm-svn: 173321
2013-01-24 04:29:24 +00:00
Andrew Trick
d3b8629a53
MIsched: Added biasCriticalPath.
...
Allow schedulers to order DAG edges by critical path. This makes
DFS-based heuristics more stable and effective.
llvm-svn: 173317
2013-01-24 02:09:55 +00:00
Michael J. Spencer
0f515f898e
[ELF] Add R_X86_64_IRELATIVE.
...
llvm-svn: 173316
2013-01-24 02:08:25 +00:00
Bill Wendling
39a4c80570
Add a profile for uniquifying the AttributeSet with the AttributeSetNodes.
...
llvm-svn: 173313
2013-01-24 01:01:34 +00:00
Bill Wendling
d2e493bb65
Create a new class: AttributeSetNode.
...
This is a helper class for the AttributeSetImpl class. It holds a set of
attributes that apply to a single element: function, return type, or
parameter.
These are uniqued.
llvm-svn: 173310
2013-01-24 00:06:56 +00:00
Bill Wendling
9de4b973f1
Remove dead methods.
...
llvm-svn: 173302
2013-01-23 22:38:33 +00:00
Chad Rosier
49544b36f7
Initialize SSPBufferSize. PR14999. Patch by Vinson Lee.
...
llvm-svn: 173285
2013-01-23 19:32:37 +00:00
Bill Wendling
e8fa95f628
Remove unused methods and ivars.
...
llvm-svn: 173284
2013-01-23 19:06:01 +00:00
Eli Bendersky
32aab2216d
Clean up assignment of CalleeSaveStackSlotSize: get rid of the default and explicitly set this in every target that needs to change it from the default.
...
llvm-svn: 173270
2013-01-23 16:22:04 +00:00
Bill Wendling
d154e283f2
Add the IR attribute 'sspstrong'.
...
SSPStrong applies a heuristic to insert stack protectors in these situations:
* A Protector is required for functions which contain an array, regardless of
type or length.
* A Protector is required for functions which contain a structure/union which
contains an array, regardless of type or length. Note, there is no limit to
the depth of nesting.
* A protector is required when the address of a local variable (i.e., stack
based variable) is exposed. (E.g., such as through a local whose address is
taken as part of the RHS of an assignment or a local whose address is taken as
part of a function argument.)
This patch implements the SSPString attribute to be equivalent to
SSPRequired. This will change in a subsequent patch.
llvm-svn: 173230
2013-01-23 06:41:41 +00:00
Bill Wendling
49bc76cbb3
Remove the last of uses that use the Attribute object as a collection of attributes.
...
Collections of attributes are handled via the AttributeSet class now. This
finally frees us up to make significant changes to how attributes are structured.
llvm-svn: 173228
2013-01-23 06:14:59 +00:00
Bill Wendling
430fa9bfb3
Use the AttributeSet when removing multiple attributes. Use Attribute::AttrKind
...
when removing one attribute. This further encapsulates the use of the attributes.
llvm-svn: 173214
2013-01-23 00:45:55 +00:00
Michael J. Spencer
706eedb1b9
[Support][ErrorOr] Don't use nullptr :(
...
llvm-svn: 173212
2013-01-23 00:22:30 +00:00