Craig Topper
0cda5b9a3c
Rename virtual table anchors from Anchor() to anchor() for consistency with the rest of the tree.
...
llvm-svn: 164666
2012-09-26 06:36:36 +00:00
Craig Topper
84c135d4bb
Mark extended type querying methods as 'readonly' to reduce compile size.
...
llvm-svn: 164663
2012-09-26 06:28:26 +00:00
Michael Ilseman
3e79cb01e7
Expansions for u/srem, using the udiv expansion. More unit tests for udiv and u/srem.
...
Fixed issue with Release build.
llvm-svn: 164654
2012-09-26 01:55:01 +00:00
Bill Wendling
de1aa2d563
Move remaining methods inside the Attributes class. Merge the 'Attribute' namespaces.
...
llvm-svn: 164631
2012-09-25 20:57:48 +00:00
Bill Wendling
14c8072a79
Move Attribute::typeIncompatible inside of the Attributes class.
...
llvm-svn: 164629
2012-09-25 20:38:59 +00:00
Sebastian Pop
270e075dec
TargetLowering interface to set/get minimum block entries for jump tables.
...
Provide interface in TargetLowering to set or get the minimum number of basic
blocks whereby jump tables are generated for switch statements rather than an
if sequence.
getMinimumJumpTableEntries() defaults to 4.
setMinimumJumpTableEntries() allows target configuration.
This patch changes the default for the Hexagon architecture to 5
as it improves performance on some benchmarks.
llvm-svn: 164628
2012-09-25 20:35:36 +00:00
Chad Rosier
28c95ff726
Revert r164614 to appease the buildbots.
...
llvm-svn: 164627
2012-09-25 19:57:20 +00:00
Michael Ilseman
16fda61fbf
Expansions for u/srem, using the udiv expansion. More unit tests for udiv and u/srem.
...
llvm-svn: 164614
2012-09-25 17:56:47 +00:00
Chad Rosier
c1cc5aaace
Typo.
...
llvm-svn: 164570
2012-09-24 23:04:25 +00:00
Chad Rosier
4c89e0343a
Rather then have a wrapper function, have tblgen instantiate the implementation.
...
Also remove an unused argument.
llvm-svn: 164567
2012-09-24 22:57:55 +00:00
Craig Topper
36f4bfec12
Add LLVM_OVERRIDE to methods that override their base classes.
...
llvm-svn: 164471
2012-09-23 02:12:10 +00:00
Andrew Trick
7a73f9d7f4
Machine Model (-schedmodel only). Added SchedAliases.
...
Allow subtargets to tie SchedReadWrite types to processor specific
sequences or variants.
llvm-svn: 164451
2012-09-22 02:24:21 +00:00
Jordan Rose
322d2a4afc
Add llvm::getOrdinalSuffix to get the appropriate -st, -nd, -rd, -th suffix.
...
Used by clang to print parameter indexes.
llvm-svn: 164440
2012-09-22 01:24:21 +00:00
Jordan Rose
f8bd27333f
Casting: assert that pointer arguments to isa<> are non-null.
...
This silences several analyzer warnings within LLVM, and provides a slightly
nicer crash experience when someone calls isa<>, cast<>, or dyn_cast<> with
a null pointer.
llvm-svn: 164439
2012-09-22 01:24:18 +00:00
Jordan Rose
8632457a1a
DenseMap: assert that we have found a bucket before we try to insert into it.
...
This silences literally dozens of analyzer warnings on LLVM (since DenseMap
is such a commonly-used class).
llvm-svn: 164438
2012-09-22 01:24:16 +00:00
Eric Christopher
8172c32318
Add an --enable-backtraces option to configure to determine
...
whether or not we want to print out backtrace information. Useful
for libraries that don't need backtrace information on a crash.
rdar://11844710
llvm-svn: 164426
2012-09-21 23:03:29 +00:00
Dan Gohman
d9c407a8be
Add an MDBuilder utility for creating !tbaa.struct nodes.
...
llvm-svn: 164425
2012-09-21 23:00:37 +00:00
Chad Rosier
fd5e542cea
[ms-inline asm] Expose the mnemonicIsValid() function in the AsmParser.
...
llvm-svn: 164420
2012-09-21 22:21:26 +00:00
Bill Wendling
be9626d5d1
Encapsulate the "construct*AlignmentFromInt" functions.
...
llvm-svn: 164373
2012-09-21 16:07:28 +00:00
Bill Wendling
38bffadcad
Make the 'get*AlignmentFromAttr' functions into member functions within the Attributes class. Now with fix.
...
llvm-svn: 164370
2012-09-21 15:26:31 +00:00
Alexey Samsonov
ad52a8844e
Fix SymbolRef::getAddress implementation for ELF. The 'value' field in symbol table entry should be treated differently for relocatable and relocated files. This patch fixes symbol addresses printed by llvm-nm for executables and shared objects.
...
llvm-svn: 164365
2012-09-21 07:08:08 +00:00
Jim Grosbach
135898ebe3
ARM: Use a dedicated intrinsic for vector bitwise select.
...
The expression based expansion too often results in IR level optimizations
splitting the intermediate values into separate basic blocks, preventing
the formation of the VBSL instruction as the code author intended. In
particular, LICM would often hoist part of the computation out of a loop.
rdar://11011471
llvm-svn: 164340
2012-09-21 00:18:20 +00:00
Bill Wendling
65a9731d9c
Revert r164308 to fix buildbots.
...
llvm-svn: 164309
2012-09-20 16:59:57 +00:00
Bill Wendling
89e5c2d955
Make the 'get*AlignmentFromAttr' functions into member functions within the Attributes class.
...
llvm-svn: 164308
2012-09-20 16:27:05 +00:00
Bill Wendling
4eab333c69
Remove more bare uses of the different Attribute enums.
...
llvm-svn: 164307
2012-09-20 15:20:36 +00:00
Bill Wendling
84e637cf62
Make the 'getAsString' function a method of the Attributes class.
...
llvm-svn: 164305
2012-09-20 14:44:42 +00:00
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