Argyrios Kyrtzidis
c793a61355
[preprocessor] Enhance the preprocessor callbacks:
...
-Add location parameter for the directives callbacks
-Skip callbacks if the directive is inside a skipped range.
-Make sure the directive callbacks are invoked in source order.
llvm-svn: 152017
2012-03-05 05:48:09 +00:00
Craig Topper
4b02a29eba
Convert more GenRegisterInfo tables from unsigned to uint16_t to reduce static data size.
...
llvm-svn: 152016
2012-03-05 05:37:41 +00:00
Jim Ingham
219ba1969b
Make it possible to set Exception breakpoints when the target doesn't yet
...
have a process, then fetch the right runtime resolver when the process is made.
llvm-svn: 152015
2012-03-05 04:47:34 +00:00
Eli Friedman
a5a6d6aa8f
Make aliases for shld and shrd match gas. PR12173.
...
llvm-svn: 152014
2012-03-05 04:31:54 +00:00
Richard Smith
2a1b1c68f3
More tests for r152012.
...
llvm-svn: 152013
2012-03-05 04:06:25 +00:00
Richard Smith
e18f0faff2
Lexing support for user-defined literals. Currently these lex as the same token
...
kinds as the underlying string literals, and we silently drop the ud-suffix;
those issues will be fixed by subsequent patches.
llvm-svn: 152012
2012-03-05 04:02:15 +00:00
Gregory Szorc
74226d3597
[clang.py] Return bool from Cursor.__eq__
...
llvm-svn: 152011
2012-03-05 00:42:15 +00:00
Jakob Stoklund Olesen
59bc8c437a
Stop fixing bad machine code in LiveIntervalAnalysis.
...
The first def of a virtual register cannot also read the register.
Assert on such bad machine code instead of trying to fix it.
TwoAddressInstructionPass should never create code like that.
llvm-svn: 152010
2012-03-04 19:19:10 +00:00
Jakob Stoklund Olesen
6759dd078a
Stop adding <imp-def> operands when coalescing sub-registers.
...
We are already setting <undef> flags, and that is good enough. The
<imp-def> operands don't mean anything any more.
llvm-svn: 152009
2012-03-04 19:19:07 +00:00
Jakob Stoklund Olesen
f729ceae04
Use <def,undef> operands when spilling NEON bundles.
...
MachineOperands that define part of a virtual register must have an
<undef> flag if they are not intended as read-modify-write operands.
The old trick of adding an <imp-def> operand doesn't work any longer.
Fixes PR12177.
llvm-svn: 152008
2012-03-04 18:40:30 +00:00
Erik Verbruggen
8c738bc98a
Remove a recursive visitation in ExprEngine that is no longer needed because the CFG is fully linearized.
...
llvm-svn: 152007
2012-03-04 18:12:21 +00:00
Duncan Sands
4d928e7dff
Nick pointed out on IRC that GVN's propagateEquality wasn't propagating
...
equalities into phi node operands for which the equality is known to
hold in the incoming basic block. That's because replaceAllDominatedUsesWith
wasn't handling phi nodes correctly in general (that this didn't give wrong
results was just luck: the specific way GVN uses replaceAllDominatedUsesWith
precluded wrong changes to phi nodes).
llvm-svn: 152006
2012-03-04 13:25:19 +00:00
Chandler Carruth
52b6ac2a78
Silence a GCC warning about a set-but-not-used variable in release builds.
...
llvm-svn: 152005
2012-03-04 12:16:40 +00:00
Chandler Carruth
71bd7d1e54
Replace the hashing functions on APInt and APFloat with overloads of the
...
new hash_value infrastructure, and replace their implementations using
hash_combine. This removes a complete copy of Jenkin's lookup3 hash
function (which is both significantly slower and lower quality than the
one implemented in hash_combine) along with a somewhat scary xor-only
hash function.
Now that APInt and APFloat can be passed directly to hash_combine,
simplify the rest of the LLVMContextImpl hashing to use the new
infrastructure.
llvm-svn: 152004
2012-03-04 12:02:57 +00:00
Chandler Carruth
ca99ad3f0d
Add generic support for hashing StringRef objects using the new hashing library.
...
llvm-svn: 152003
2012-03-04 10:55:27 +00:00
Bill Wendling
97b9359623
Do trivial CSE of dead BBs during codegen preparation.
...
Some BBs can become dead after codegen preparation. If we delete them here, it
could help enable tail-call optimizations later on.
<rdar://problem/10256573>
llvm-svn: 152002
2012-03-04 10:46:01 +00:00
Craig Topper
1d32658877
Use uint16_t to store register overlaps to reduce static data.
...
llvm-svn: 152001
2012-03-04 10:43:23 +00:00
Chandler Carruth
dc2cada889
Teach the hashing facilities how to hash std::string objects.
...
llvm-svn: 152000
2012-03-04 10:23:15 +00:00
Chandler Carruth
23df81aabe
Split this test up into two smaller, and more focused tests.
...
llvm-svn: 151999
2012-03-04 10:23:11 +00:00
Craig Topper
b35eacb0f0
Use uint16_t instead of unsigned to store registers in reg classes. Reduces static data size.
...
llvm-svn: 151998
2012-03-04 10:16:38 +00:00
Richard Smith
72eebee0cb
Add tests for [over.literal]. Fix a few bugs which were exposed by the tests.
...
llvm-svn: 151997
2012-03-04 09:41:16 +00:00
Craig Topper
420525ce3b
Use uint16_t to store registers in callee saved register tables to reduce size of static data.
...
llvm-svn: 151996
2012-03-04 03:33:22 +00:00
Craig Topper
6dedbae429
Use uint8_t instead of enums to store values in X86 disassembler table. Shaves 150k off the size of X86DisassemblerDecoder.o
...
llvm-svn: 151995
2012-03-04 02:16:41 +00:00
Chris Lattner
332673d39d
From his comment in PR12168, Eli seems confused about the alignment assumptions
...
we're making. We only ignore implicit casts. Add a testcase showing that
we get the right behavior with explicit casts.
llvm-svn: 151994
2012-03-04 00:56:24 +00:00
Chris Lattner
aaa18fad7d
add a testcase for PR12094 and fix a crash on pointer to incomplete type,
...
reported by Richard Smith.
llvm-svn: 151993
2012-03-04 00:52:12 +00:00
Richard Smith
522fa53703
Add a pile of tests for unrestricted unions, and advertise support for them.
...
llvm-svn: 151992
2012-03-03 23:51:05 +00:00
Richard Smith
2e312c8738
constexpr: Remove APValue/CCValue distinction. It is no longer useful given the
...
resolution of core issue 1454.
llvm-svn: 151991
2012-03-03 22:46:17 +00:00
Benjamin Kramer
15ceed9a9e
Remove unused variable.
...
llvm-svn: 151989
2012-03-03 21:52:22 +00:00
Benjamin Kramer
0764a3fb72
Perform the string table optimization for OperandMatchEntries too.
...
llvm-svn: 151986
2012-03-03 20:44:43 +00:00
Benjamin Kramer
5aeee5f854
Shrink the asm matcher tables.
...
- Shrink the opcode field to 16 bits.
- Shrink the AsmVariantID field to 8 bits.
- Store the mnemonic string in a string table, store a 16 bit index.
- Store a pascal-style length byte in the string instead of a null terminator,
so we can avoid calling strlen on every entry we visit during mnemonic search.
Shrinks X86AsmParser.o from 434k to 201k on x86_64 and eliminates relocs from the table.
llvm-svn: 151984
2012-03-03 19:13:26 +00:00
Benjamin Kramer
dbe7f3bf2e
StringToOffsetTable: Allow uniquing the first element, add an option to skip appending a terminating null.
...
llvm-svn: 151983
2012-03-03 19:13:20 +00:00
Enrico Granata
7a3b1d9757
Correct wrong values in the test case
...
llvm-svn: 151982
2012-03-03 18:29:21 +00:00
Benjamin Kramer
74f831b97f
Enable the small vector POD optimization for BitCodeAbbrevOp.
...
While at it bump the small vector size a bit, it's inside a heap-allocated class.
llvm-svn: 151980
2012-03-03 15:04:13 +00:00
Rafael Espindola
c7ecbfb07d
Correctly initialize LineSectionSymbol. Thanks to Duncan Sands for noticing it.
...
llvm-svn: 151979
2012-03-03 14:24:15 +00:00
Jean-Daniel Dupas
999892f0d0
Fix Typo in 'objc changes' anchor.
...
llvm-svn: 151978
2012-03-03 13:37:22 +00:00
Duncan Sands
d30d8c82cb
Honour --config-prefix also for lit.local.cfg.
...
llvm-svn: 151977
2012-03-03 13:30:56 +00:00
Francois Pichet
baea7e1117
Move the NonPOD struct out of the anonymous namespace instead of adding llvm:: everywhere to fix the HashingTest on MSVC .
...
chandlerc proposed this better solution on IRC.
llvm-svn: 151974
2012-03-03 09:39:54 +00:00
Duncan Sands
df39b7077d
Include cctype for isdigit. Patch by Stephen Hines.
...
llvm-svn: 151973
2012-03-03 09:36:58 +00:00
Francois Pichet
ce7e199dc6
Fixes the Hashing tests on MSVC by adding llvm:: prefix to hash_value function call.
...
llvm-svn: 151971
2012-03-03 07:56:49 +00:00
NAKAMURA Takumi
9aa1fbf314
unittests/ADT/HashingTest.cpp: Temporarily disable a new test introduced in r151891, to appease msvc.
...
llvm-svn: 151970
2012-03-03 07:00:58 +00:00
Jason Molenda
f7b4b56344
Remove "llvm" from list of things to ignore. This results in the
...
files in source/Plugins/Disassembler/llvm not being handled properly
by git.
llvm-svn: 151969
2012-03-03 06:43:59 +00:00
NAKAMURA Takumi
9b32e0f29f
llvm/docs/GarbageCollection.html: Prune utf8 BOM.
...
llvm-svn: 151968
2012-03-03 04:32:33 +00:00
Eli Friedman
5358a0ab5a
Avoid an unnecessary recursive loop between type canonicalization and NNS canonicalization which would (rarely) lead to memory corruption. While I'm here, simplify. Fixes PR12166. Not committing a testcase because it's impossible to reduce it.
...
llvm-svn: 151967
2012-03-03 04:09:56 +00:00
Enrico Granata
89fd064582
Currently TestDataFormatterPythonSynth is failing because of an issue with children capping. Splitting the test case in two so we better isolate the issue and also for better logical separation
...
llvm-svn: 151966
2012-03-03 03:13:03 +00:00
Jim Ingham
133e0fb3c6
First step to making an LanguageRuntime Exception breakpoint API.
...
<rdar://problem/10196277>
llvm-svn: 151965
2012-03-03 02:05:11 +00:00
Ted Kremenek
868dbda367
[analyzer] do not warn about returning stack-allocated memory when it comes from an ancestor stack frame.
...
llvm-svn: 151964
2012-03-03 01:22:03 +00:00
Richard Smith
906ccc167c
Factor bitfields of LangOptions out into a base class in order to make them
...
trivially-copyable. 50KiB reduction in clang binary size.
llvm-svn: 151963
2012-03-03 00:52:40 +00:00
Enrico Granata
385ad4e401
added a new formatter for CF(Mutable)BitVector
...
fixed a few potential NULL-pointer derefs in ValueObject
we have a way to provide docstrings for properties we add to the SWIG layer - a few of these properties have a docstring already, more will come in future commits
added a new bunch of properties to SBData to make it more natural and Python-like to access the data they contain
llvm-svn: 151962
2012-03-03 00:45:57 +00:00
Daniel Dunbar
ae77b3dfad
Frontend: Default to creating output files using temporary files + rename.
...
- This is a more reliable default, as it behaves better on failure and also
ensures that we create *new* files (instead of reusing existing inodes). This
is useful for other applications (like lldb) which want to cache inode's to
know when a file has been rewritten.
llvm-svn: 151961
2012-03-03 00:36:06 +00:00
Daniel Dunbar
b9c62c0773
Frontend: Don't automatically create missing directories when using temporary files with createOutputFile()
...
- This would otherwise happen as a side effect of llvm::sys::fs::unique_file creating parent directories.
llvm-svn: 151960
2012-03-03 00:36:02 +00:00