Jim Grosbach
d3674f0b4e
ARM: Tidy up IntrinsicsARM.td a bit.
...
Make the TargetPrefix setting one big setting instead of being spread out
everywhere. No functional change.
llvm-svn: 164265
2012-09-19 23:39:03 +00:00
Bill Wendling
a46e596d7c
Add predicates for queries on whether an attribute exists.
...
llvm-svn: 164264
2012-09-19 23:35:21 +00:00
Micah Villmow
cb0e426061
Add in new data types that are used by AMDIL/ANL among others.
...
llvm-svn: 164261
2012-09-19 22:47:07 +00:00
Owen Anderson
46c3ebc1a6
Implement a correct copy constructor for Record. Now that we're using the ID number as a key in maps (for determinism), it is imperative that ID numbers be globally unique, even when we copy construct a Record.
...
This fixes some obscure failure cases involving registers defined inside multiclasses or foreach constructs that would not receive a unique ID, and would end up being omitted from the AsmMatcher tables.
llvm-svn: 164251
2012-09-19 21:34:18 +00:00
Andrew Kaylor
960981f691
This patch adds memory support functions which will later be used to implement section-specific protection handling in MCJIT.
...
llvm-svn: 164249
2012-09-19 20:46:12 +00:00
Preston Gurd
79d6f55f89
Add support for macro parameters/arguments delimited by spaces,
...
to improve compatibility with GNU as.
Based on a patch by PaX Team.
Fixed assertion failures on non-Darwin and added additional test cases.
llvm-svn: 164248
2012-09-19 20:36:12 +00:00
Duncan Sands
1dce9e098d
Add support for accessing an MDNode's operands via the C binding. Patch by
...
Anthony Bryant.
llvm-svn: 164247
2012-09-19 20:29:39 +00:00
Michael Ilseman
462b51585f
Document the interface for integer expansion, using doxygen-style comments
...
llvm-svn: 164231
2012-09-19 16:03:57 +00:00
Michael Ilseman
c064f031ff
Forward declarations
...
llvm-svn: 164230
2012-09-19 15:55:03 +00:00
Will Dietz
6c3d864486
Fix minor typo in IntervalPartition.h
...
llvm-svn: 164222
2012-09-19 13:45:43 +00:00
Rafael Espindola
8926dd6aeb
Make MapVector a bit more expensive but harder to misuse. We now only
...
provide insertion order iteration, instead of the old option of
DenseMap order iteration over keys and insertion order iteration over
values.
This is implemented by keeping two copies of each key.
llvm-svn: 164221
2012-09-19 13:42:51 +00:00
Benjamin Kramer
13bd00c244
InlineCost: Make TotalAllocaSizeRecursiveCaller unsigned to avoid sign-compare warnings.
...
It's a size, not a cost.
llvm-svn: 164219
2012-09-19 13:22:27 +00:00
Benjamin Kramer
96b6f5646b
Remove unused and broken CloneFunction wrapper.
...
It converted the CodeInfo argument to bool implicitly.
llvm-svn: 164215
2012-09-19 13:03:01 +00:00
Nadav Rotem
f6de6e1e82
Prevent inlining of callees which allocate lots of memory into a recursive caller.
...
Example:
void foo() {
... foo(); // I'm recursive!
bar();
}
bar() { int a[1000]; // large stack size }
rdar://10853263
llvm-svn: 164207
2012-09-19 08:08:04 +00:00
Sean Silva
eedf4ffbcb
Refactor Record* by-ID comparator to Record.h
...
This is a generally useful utility; there's no reason to have it hidden
in CodeGenDAGPatterns.cpp.
Also, rename it to fit the other comparators in Record.h
Review by Jakob.
llvm-svn: 164189
2012-09-19 01:47:00 +00:00
Michael Ilseman
2555741dad
New utility for expanding integer division for targets that don't support it.
...
Implementation derived from compiler-rt's implementation of signed and unsigned integer division.
llvm-svn: 164173
2012-09-18 22:02:40 +00:00
Rafael Espindola
528ca88d0c
Add a MapVector class. It provides a regular set iteration, but
...
also provides a insertion order iteration over the values.
llvm-svn: 164157
2012-09-18 18:43:21 +00:00
Roman Divacky
bb7740900c
Avoid symbol name clash when filling TOC.
...
Patch by Adhemerval Zanella.
llvm-svn: 164141
2012-09-18 17:10:37 +00:00
Roman Divacky
1e332ec870
Add PowerPC64 relocation definitions. Patch by Adhemerval Zanella!
...
llvm-svn: 164137
2012-09-18 16:38:02 +00:00
Roman Divacky
e91b4521bf
When creating MCAsmBackend pass the CPU string as well. In X86AsmBackend
...
store this and use it to not emit long nops when the CPU is geode which
doesnt support them.
Fixes PR11212.
llvm-svn: 164132
2012-09-18 16:08:49 +00:00
Tom Stellard
7839a3cf23
Make MachinePostDominatorTree::DT private
...
llvm-svn: 164125
2012-09-18 13:49:54 +00:00
Andrew Trick
6cba50cbb4
Replaced ReInitMCSubtargetInfo with InitMCProcessor.
...
Now where we used to call ReInitMCSubtargetInfo, we actually recompute
the same information as InitMCSubtargetInfo instead of only setting
the feature bits.
llvm-svn: 164105
2012-09-18 05:33:15 +00:00
Craig Topper
04a52acb1d
Fix a typo. No functional change.
...
llvm-svn: 164100
2012-09-18 04:43:05 +00:00
Andrew Trick
1a1e7664ae
Let NULL slip through again.
...
llvm-svn: 164099
2012-09-18 04:18:39 +00:00
Andrew Trick
e3e6fae309
TargetSchedModel API. Implement latency lookup, disabled.
...
llvm-svn: 164098
2012-09-18 04:03:34 +00:00
Andrew Trick
c2ee4420fd
TableGen subtarget emitter. Remove unnecessary header dependence.
...
llvm-svn: 164094
2012-09-18 03:32:57 +00:00
Craig Topper
06c859569e
Mark unimplemented operator new as LLVM_DELETED_FUNCTION.
...
llvm-svn: 164093
2012-09-18 03:25:49 +00:00
Andrew Trick
65c7aae93f
TableGen subtarget emitter. Initialize MCSubtargetInfo with the new machine model.
...
llvm-svn: 164092
2012-09-18 03:18:56 +00:00
Craig Topper
e65078e3c3
Mark constructors, destructors, and operator new commented as 'do not implement' with LLVM_DELETED_FUNCTION instead.
...
llvm-svn: 164091
2012-09-18 02:05:45 +00:00
Craig Topper
5a3d1cefa5
Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION.
...
llvm-svn: 164090
2012-09-18 02:01:41 +00:00
Jakob Stoklund Olesen
b761721812
Merge into undefined lanes under -new-coalescer.
...
Add LIS::pruneValue() and extendToIndices(). These two functions are
used by the register coalescer when merging two live ranges requires
more than a trivial value mapping as supported by LiveInterval::join().
The pruneValue() function can remove the part of a value number that is
going to conflict in join(). Afterwards, extendToIndices can restore the
live range, using any new dominating value numbers and updating the SSA
form.
Use this complex value mapping to support merging a register into a
vector lane that has a conflicting value, but the clobbered lane is
undef.
llvm-svn: 164074
2012-09-17 23:03:25 +00:00
Andrew Trick
150c97940b
Revert r164061-r164067. Most of the new subtarget emitter.
...
I have to work out the Target/CodeGen header dependencies
before putting this back.
llvm-svn: 164072
2012-09-17 23:00:42 +00:00
Richard Smith
f96c884c89
Remove redundant semicolons to fix -pedantic-errors build break with older Clangs.
...
llvm-svn: 164071
2012-09-17 22:52:05 +00:00
NAKAMURA Takumi
71a6ab5ec1
llvm/Target/TargetSubtargetInfo.h: Fix case in #include, s#llvm/Codegen/#llvm/CodeGen#.
...
llvm-svn: 164070
2012-09-17 22:34:56 +00:00
Andrew Trick
cc6a5dbc2b
Don't use NULL as a fake keyword
...
llvm-svn: 164067
2012-09-17 22:26:34 +00:00
Andrew Trick
9400ee3c79
InitMCProcessor
...
llvm-svn: 164066
2012-09-17 22:19:12 +00:00
Andrew Trick
3d3f796f3f
TargetSchedModel API. Implement latency lookup, disabled.
...
llvm-svn: 164065
2012-09-17 22:19:08 +00:00
Andrew Trick
7403ff5282
TableGen subtarget emitter. Generate resolveSchedClass generated hook for resolving instruction variants.
...
llvm-svn: 164062
2012-09-17 22:18:58 +00:00
Andrew Trick
8a499d1f62
TableGen subtarget emitter. Initialize MCSubtargetInfo with the new machine model.
...
llvm-svn: 164061
2012-09-17 22:18:55 +00:00
Tom Stellard
a909d69703
Add a MachinePostDominator pass
...
This is used in the AMDIL and R600 backends.
llvm-svn: 164029
2012-09-17 14:08:37 +00:00
Sid Manning
18c80378fb
Add Michael Spencer's iterator class for stepping through relocations. Add method that, given a symbol index, will return the symbol's data.
...
llvm-svn: 164026
2012-09-17 12:27:39 +00:00
Craig Topper
24f46609c1
Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION.
...
llvm-svn: 164017
2012-09-17 07:16:40 +00:00
Craig Topper
ef3c8f8807
Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION.
...
llvm-svn: 164016
2012-09-17 06:59:23 +00:00
Craig Topper
1d55f3f906
Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION.
...
llvm-svn: 164015
2012-09-17 06:43:55 +00:00
Craig Topper
f2e8b27fbc
Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION.
...
llvm-svn: 164014
2012-09-17 06:31:17 +00:00
Craig Topper
7ace4c590b
Remove a couple unused fields. Not detected by Wunused-private-field because of unimplemented copy constructor and copy assignment operator that make the class look incomplete. Upcoming patch will mark them deleted.
...
llvm-svn: 164013
2012-09-17 06:05:39 +00:00
Craig Topper
c956a94300
Add include of Compiler.h to fix build bot failures.
...
llvm-svn: 164009
2012-09-16 21:56:23 +00:00
Craig Topper
a654200309
Add includes of Compiler.h to fix build bot failures.
...
llvm-svn: 164008
2012-09-16 21:50:09 +00:00
Craig Topper
13109b709d
Use LLVM_DELETED_FUNCTION for copy constructors and copy assignment operators that aren't implemented.
...
llvm-svn: 164007
2012-09-16 21:43:09 +00:00
Craig Topper
d34712230a
Use LLVM_DELETED_FUNCTION for copy constructors and copy assignment operators that aren't implemented.
...
llvm-svn: 164006
2012-09-16 21:37:56 +00:00