Commit Graph

123806 Commits

Author SHA1 Message Date
Anna Zaks 9a008bb7f8 Call Graph: Only the root node is allowed to have an invalid Decl*.
llvm-svn: 152350
2012-03-08 23:16:26 +00:00
Richard Smith bf79fc49b3 Remove a test FIXME for a case which is already fixed.
llvm-svn: 152349
2012-03-08 23:08:29 +00:00
Richard Smith 7d182a7909 Fix a couple of issues with literal-operator-id parsing, and provide recovery
for a few kinds of error. Specifically:

Since we're after translation phase 6, the "" token might be formed by multiple
source-level string literals. Checking the token width is not a correct way of
detecting empty string literals, due to escaped newlines. Diagnose and recover
from a missing space between "" and suffix, and from string literals other than
"", which are followed by a suffix.

llvm-svn: 152348
2012-03-08 23:06:02 +00:00
Kostya Serebryany f7fc1d4859 [asan]: fix off-by-one error in stack unwinder (asan issue #44; reproduced thanks to 'csmith' fuzzer)
llvm-svn: 152347
2012-03-08 22:25:08 +00:00
Benjamin Kramer 3bc40c5fee Silence unused function warning when graphviz is not available.
llvm-svn: 152346
2012-03-08 22:15:23 +00:00
John McCall 85110b47c8 Don't crash when a statement in a block is ill-formed but
introduces cleanups anyway.

llvm-svn: 152345
2012-03-08 22:00:17 +00:00
Richard Smith 812924502b When checking the encoding of an 8-bit string literal, don't just check the
first codepoint! Also, don't reject empty raw string literals for spurious
"encoding" issues. Also, don't rely on undefined behavior in ConvertUTF.c.

llvm-svn: 152344
2012-03-08 21:59:28 +00:00
Benjamin Kramer 0ef86b0ea3 Remove the no longer existent psp triple from a test.
The test fell back to the C backend, making it useless and it started to fail
on configurations that don't build the C backend.

llvm-svn: 152342
2012-03-08 21:22:27 +00:00
Kostya Serebryany c7835f301e [asan] don't use dl_iterate_phdr on linux, go back to using /proc/self/maps. Hopefully fixes the problem reported by our mozilla friends.
llvm-svn: 152341
2012-03-08 21:19:07 +00:00
Sebastian Redl 04fe1bf52e Turn explicit construction of temporaries using initializer list syntax into CXXTemporaryObjectExprs, not just CXXConstructExprs, which have a worrying tendency to vanish. Fixes PR12167.
llvm-svn: 152340
2012-03-08 21:05:45 +00:00
Benjamin Kramer ba0495a3e1 Untangle getUnderlyingDeclImpl, no functionality change.
llvm-svn: 152339
2012-03-08 21:00:45 +00:00
Howard Hinnant e6de8df54e Enable -Wstrict-aliasing=2 -Wstrict-overflow=4.
llvm-svn: 152338
2012-03-08 20:55:13 +00:00
Johnny Chen 5d34629daf Fixed a crasher when Xcode calls into ScriptInterpreterPython::ResetOutputFileHandle().
The Locker should only perform acquire/free lock operation, but no enter/leave session
at all.  Also added sanity checks for items passed to the PyDict_SetItemString() calls.

llvm-svn: 152337
2012-03-08 20:53:04 +00:00
Howard Hinnant 8292678017 Enable/silence -Wsign-compare.
llvm-svn: 152336
2012-03-08 20:51:01 +00:00
Howard Hinnant 71c4857a07 Enable/silence -Wsign-compare.
llvm-svn: 152335
2012-03-08 20:50:28 +00:00
Howard Hinnant 37c247c13c Enable/silence -Wmissing-field-initializers.
llvm-svn: 152334
2012-03-08 20:32:50 +00:00
Argyrios Kyrtzidis 8b0f3e0525 [utils/FuzzTest] Add '--stop-on-fail' to stop the script on the first failure
without reverting the changes.

llvm-svn: 152333
2012-03-08 20:29:39 +00:00
Daniel Dunbar 47c32287d9 [AST] Clean up NamedDecl::getUnderlyingDecl() change a bit.
llvm-svn: 152332
2012-03-08 20:29:02 +00:00
Daniel Dunbar eb72532098 Remove stray semi-colon.
llvm-svn: 152331
2012-03-08 20:28:59 +00:00
Daniel Dunbar b743157df3 [AST] APValue: Split the fast path of MakeUninit to be inline.
- This change seems to be a tiny loss on 403.gcc/combine.c (.2%), but I think
   it is the right thing to do.

llvm-svn: 152330
2012-03-08 20:28:55 +00:00
Howard Hinnant 7cafb87441 Enable/silence -Wunused-variable.
llvm-svn: 152329
2012-03-08 20:23:24 +00:00
Howard Hinnant d121eb2c24 Enable/silence -Wconversion.
llvm-svn: 152328
2012-03-08 20:16:45 +00:00
Argyrios Kyrtzidis 941d092933 [utils/FuzzTest] The help message says that if you don't specify --max-tests
"the script will run forever continually picking new tests to run", make it so.

llvm-svn: 152327
2012-03-08 20:11:06 +00:00
Howard Hinnant 11dd38dab0 Enable/silence -Wshadow.
llvm-svn: 152325
2012-03-08 19:34:58 +00:00
Argyrios Kyrtzidis 05d2212db3 [utils/FuzzTest] For --filelist the option type is string, not integer.
llvm-svn: 152324
2012-03-08 18:56:59 +00:00
Howard Hinnant 41bcf33c63 Enable/silence -Wsign-conversion.
llvm-svn: 152323
2012-03-08 18:45:24 +00:00
Daniel Dunbar b29f685d3c [Basic] PartialDiagnostic: Manual split out the cold part of freeStorage(), the
hot path will typically profitably get inlined (based on what I see from the
users of PartialDiagnostic).

llvm-svn: 152322
2012-03-08 18:43:59 +00:00
Daniel Dunbar 166ea9ad8b [AST] Change NamedDecl::getUnderlyingDecl() to inline the fast (and incredibly common) path.
llvm-svn: 152321
2012-03-08 18:20:41 +00:00
Rafael Espindola df88f6fe98 Replace MarkVarRequired with a more generic
HandleCXXStaticMemberVarInstantiation. Suggested by Argyrios.

llvm-svn: 152320
2012-03-08 15:51:03 +00:00
Tobias Grosser 3cbe5cfff3 Remove FinalRead
The FinalRead statement represented a virtual read that is executed after the
SCoP. It was used when we verified the correctness of a schedule by checking if
it yields the same FLOW dependences as the original code. This is only works, if
we have a final read that reads all memory at the end of the SCoP.
We now switched to just checking if a schedule does not introduce negative
dependences and also consider WAW WAR dependences. This restricts the schedules
a little bit more, but we do not have any optimizer that would calculate a more
complex schedule. Hence, for now final reads are obsolete.

llvm-svn: 152319
2012-03-08 15:21:51 +00:00
Tobias Grosser 45ed487a9c Dependences: Fix typo
llvm-svn: 152318
2012-03-08 15:21:42 +00:00
Rafael Espindola f5140611fc Also test pr12104 with pch.
llvm-svn: 152317
2012-03-08 15:07:42 +00:00
Rafael Espindola c41db927f3 Implement -fno-dwarf2-cfi-asm on linux too.
llvm-svn: 152316
2012-03-08 14:39:55 +00:00
Duncan Sands 48992554cc Have llvm-mc --version print the list of registered targets like llc does.
Patch by jey.

llvm-svn: 152315
2012-03-08 14:24:32 +00:00
Tobias Grosser 9ffa550dd9 www: Really fix it
llvm-svn: 152311
2012-03-08 12:02:59 +00:00
Tobias Grosser 9206404faf www: Fix link to image
llvm-svn: 152310
2012-03-08 12:02:10 +00:00
Tobias Grosser f67424ef96 www: Move the Polly architecture to the documentation
llvm-svn: 152309
2012-03-08 11:59:43 +00:00
Tobias Grosser 3495b42f9d www: Point to the memaccess documentation
llvm-svn: 152308
2012-03-08 11:55:27 +00:00
Tobias Grosser 7a82da99b1 www: Simplify bugs text
llvm-svn: 152307
2012-03-08 11:45:49 +00:00
Tobias Grosser e586f0ec5c www: Merge Examples with Documentation section
llvm-svn: 152306
2012-03-08 11:37:39 +00:00
Tobias Grosser f9250a1cb0 www: Update todo page
llvm-svn: 152305
2012-03-08 11:31:54 +00:00
Duncan Sands d8e918be4c Revert commit 152300 (ddunbar) since it still seems to be breaking
buildbots.  Original commit message:

[ADT] Change the trivial FoldingSetNodeID::Add* methods to be inline, reapplied
with a fix for the longstanding over-read of 32-bit pointer values.

llvm-svn: 152304
2012-03-08 09:32:21 +00:00
Richard Smith 75025ba487 Ensure we don't print 123ULL_foo when printing a user-defined integer literal.
llvm-svn: 152303
2012-03-08 09:02:38 +00:00
Richard Smith 39570d0020 Add support for cooked forms of user-defined-integer-literal and
user-defined-floating-literal. Support for raw forms of these literals
to follow.

llvm-svn: 152302
2012-03-08 08:45:32 +00:00
Craig Topper 5a4bcc749a Use uint16_t to store instruction implicit uses and defs. Reduces static data.
llvm-svn: 152301
2012-03-08 08:22:45 +00:00
Daniel Dunbar 544637937a [ADT] Change the trivial FoldingSetNodeID::Add* methods to be inline, reapplied
with a fix for the longstanding over-read of 32-bit pointer values.

llvm-svn: 152300
2012-03-08 07:42:18 +00:00
Stepan Dyatkovskiy 85fcc2daf5 Taken into account Duncan's comments for r149481 dated by 2nd Feb 2012:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120130/136146.html

Implemented CaseIterator and it solves almost all described issues: we don't need to mix operand/case/successor indexing anymore. Base iterator class is implemented as a template since it may be initialized either from "const SwitchInst*" or from "SwitchInst*".

ConstCaseIt is just a read-only iterator.
CaseIt is read-write iterator; it allows to change case successor and case value.

Usage of iterator allows totally remove resolveXXXX methods. All indexing convertions done automatically inside the iterator's getters.

Main way of iterator usage looks like this:
SwitchInst *SI = ... // intialize it somehow

for (SwitchInst::CaseIt i = SI->caseBegin(), e = SI->caseEnd(); i != e; ++i) {
  BasicBlock *BB = i.getCaseSuccessor();
  ConstantInt *V = i.getCaseValue();
  // Do something.
}

If you want to convert case number to TerminatorInst successor index, just use getSuccessorIndex iterator's method.
If you want initialize iterator from TerminatorInst successor index, use CaseIt::fromSuccessorIndex(...) method.

There are also related changes in llvm-clients: klee and clang.

llvm-svn: 152298
2012-03-08 07:06:48 +00:00
Stepan Dyatkovskiy 5b648afb4d Taken into account Duncan's comments for r149481 dated by 2nd Feb 2012:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120130/136146.html

Implemented CaseIterator and it solves almost all described issues: we don't need to mix operand/case/successor indexing anymore. Base iterator class is implemented as a template since it may be initialized either from "const SwitchInst*" or from "SwitchInst*".

ConstCaseIt is just a read-only iterator.
CaseIt is read-write iterator; it allows to change case successor and case value.

Usage of iterator allows totally remove resolveXXXX methods. All indexing convertions done automatically inside the iterator's getters.

Main way of iterator usage looks like this:
SwitchInst *SI = ... // intialize it somehow

for (SwitchInst::CaseIt i = SI->caseBegin(), e = SI->caseEnd(); i != e; ++i) {
  BasicBlock *BB = i.getCaseSuccessor();
  ConstantInt *V = i.getCaseValue();
  // Do something.
}

If you want to convert case number to TerminatorInst successor index, just use getSuccessorIndex iterator's method.
If you want initialize iterator from TerminatorInst successor index, use CaseIt::fromSuccessorIndex(...) method.

There are also related changes in llvm-clients: klee and clang.

llvm-svn: 152297
2012-03-08 07:06:20 +00:00
Craig Topper d31658d44c Re-commit r152202 hopefully fixing the MSVC linker error.
Original commit message:
Use uint16_t to store InstrNameIndices in MCInstrInfo. Add asserts to protect all 16-bit string table offsets. Also make sure the string to offset table string is not larger than 65536 characters since larger string literals aren't portable.

llvm-svn: 152296
2012-03-08 06:55:27 +00:00
Daniel Dunbar 5ecfd7fd12 Revert r152288, "[ADT] Change the trivial FoldingSetNodeID::Add* methods to be
inline.", which is breaking the bots in a way I don't understand.

llvm-svn: 152295
2012-03-08 04:17:15 +00:00