- Sep 25, 2012
-
-
Nick Lewycky authored
Chandler, it's not obvious that it's okay that this alloca gets into the list twice to begin with. Please review and see whether this is the fix you really want, but I wanted to get a fix checked in quickly. llvm-svn: 164634
-
Sebastian Pop authored
llvm-svn: 164633
-
Bill Wendling authored
llvm-svn: 164631
-
Sean Silva authored
llvm-svn: 164630
-
Bill Wendling authored
llvm-svn: 164629
-
Sebastian Pop authored
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
-
Chad Rosier authored
llvm-svn: 164627
-
Argyrios Kyrtzidis authored
llvm-svn: 164626
-
Argyrios Kyrtzidis authored
a function decl inside the ASTNodeImporter::VisitFunctionDecl function. llvm-svn: 164625
-
Dmitri Gribenko authored
It does a conservative estimate on the size of numbers that can fit into uint64_t. This bound is improved. llvm-svn: 164624
-
Jordan Rose authored
There are very few tests here because SValBuilder is fairly aggressive about not building SymExprs that we can't evaluate, which saves memory and CPU but also makes it very much tied to the current constraint manager. We should probably scale back here and let things decay to UnknownVal later on. bitwise-ops.c tests that for the SymExprs we do create, we persist our assumptions about them. traversal-path-unification.c tests that we do clean out constraints on arbitrary SymExprs once they have actually died. llvm-svn: 164623
-
Jordan Rose authored
Previously, we'd just keep constraints around forever, which means we'd never be able to merge paths that differed only in constraints on dead symbols. Because we now allow constraints on symbolic expressions, not just single symbols, this requires changing SymExpr::symbol_iterator to include intermediate symbol nodes in its traversal, not just the SymbolData leaf nodes. This depends on the previous commit to be correct. Originally applied in r163444, reverted in r164275, now being re-applied. llvm-svn: 164622
-
Jordan Rose authored
No tests, but this allows the optimization of removing dead constraints. We can then add tests that we don't do this prematurely. <rdar://problem/12333297> Note: the added FIXME to investigate SymbolRegionValue liveness is tracked by <rdar://problem/12368183>. This patch does not change the existing behavior. llvm-svn: 164621
-
rdar://problem/10805775Douglas Gregor authored
top-level frameworks can actually be symlinked over to embedded frameworks, and accessed via the top-level framework's headers. In this case, we need to determine that the framework was *actually* an embedded framework, so we can load the appropriate top-level module. llvm-svn: 164620
-
Greg Clayton authored
llvm-svn: 164619
-
Sid Manning authored
of this is derived from the Mach-O writer. Reviewed by: Nick Kledzik. * Adds loop to SectionChunk::write traverse references calling the writer's fixup handler, applyFixup. * Adds method, ELFWriter::buildAtomToAddressMap to that creates a mapping from an atom to its runtime address. * Adds method, ELFWriter::addressOfAtom to return the runtime address of the atom. llvm-svn: 164618
-
Nick Lewycky authored
doesn't transform the trivially unsafe case. llvm-svn: 164617
-
Michael Liao authored
- Turn on atomic6432.ll and add specific test case as well llvm-svn: 164616
-
Jim Grosbach authored
When a BL/BLX references a symbol in the same translation unit that is out of range, use an external relocation. The linker will use this to generate a branch island rather than a direct reference, allowing the relocation to resolve correctly. rdar://12359919 llvm-svn: 164615
-
Michael Ilseman authored
llvm-svn: 164614
-
Bob Wilson authored
llvm-svn: 164611
-
Alexander Kornienko authored
Macro history (de-)serialization. Deserialization currently reads only the latest macro definition. Needs more work. Summary: Passes all tests (+ the new one with code completion), but needs a thorough review in part related to modules. Reviewers: doug.gregor Reviewed By: alexfh CC: cfe-commits, rsmith Differential Revision: http://llvm-reviews.chandlerc.com/D41 llvm-svn: 164610
-
Bob Wilson authored
If an MS-style inline asm is matched to multiple instructions, e.g., with a a WAIT-prefix, then we need to examine the operands of the last instruction instruction, not the prefix instruction. llvm-svn: 164608
-
Douglas Gregor authored
llvm-svn: 164607
-
Douglas Gregor authored
specific module (__building_module(modulename)) and to get the name of the current module as an identifier (__MODULE__). Used to help headers behave differently when they're being included as part of building a module. Oh, the irony. llvm-svn: 164605
-
Alexander Kornienko authored
llvm-svn: 164601
-
Alexey Samsonov authored
llvm-svn: 164600
-
Hans Wennborg authored
Currently Sema/wchar.c fails because WCHAR_T_TYPE is defined as int, however on ARM wchar_t is unsigned int. This patch changes that, so this test passes for ARM. Patch by Joey Gouly! llvm-svn: 164598
-
John McCall authored
be sure to delete the complete object pointer, not the original pointer. This is necessary if the base being deleted is at a non-zero offset in the complete object. This is only required for objects with virtual destructors because deleting an object via a base-class subobject when the base does not have a virtual destructor is undefined behavior. Noticed while reviewing the last four years of cxx-abi-dev activity. llvm-svn: 164597
-
Chandler Carruth authored
to chains or cycles between PHIs and/or selects. Also add a couple of really nice test cases reduced from Kostya's reports in PR13905 and PR13906. Both are fixed by this patch. llvm-svn: 164596
-
Duncan Sands authored
Previously it was only be able to detect problems if the pointer was a numerical value (eg inttoptr i32 1 to i32*), but not if it was an alloca or globa. The reason was the use of ComputeMaskedBits: imagine you have "alloca i8, align 2", and ask ComputeMaskedBits what it knows about the bits of the alloca pointer. It can tell you that the bottom bit is known zero (due to align 2) but it can't tell you that bit 1 is known one. That's because the address could be an even multiple of 2 rather than an odd multiple, eg it might be a multiple of 4. Thus trying to use KnownOne is ineffective in the case of an alloca as it will never have any bits set. Instead look explicitly for constant offsets from allocas and globals. llvm-svn: 164595
-
NAKAMURA Takumi authored
llvm-svn: 164594
-
John McCall authored
llvm-svn: 164593
-
John McCall authored
llvm-svn: 164592
-
John McCall authored
Patch by Andy Gibbs! llvm-svn: 164591
-
John McCall authored
Patch by Andy Gibbs! llvm-svn: 164590
-
John McCall authored
into the enclosing scope; this is a more accurate model but is (I believe) unnecessary in my test case due to other flaws. However, one of those flaws is now intentional: blocks which appear in return statements can be trivially observed to not extend in lifetime past the return, and so we can allow a jump past them. Do the necessary magic in IR-generation to make this work. llvm-svn: 164589
-
Evan Cheng authored
Fix an illegal tailcall opt where the callee returns a double via xmm while caller returns x86_fp80 via st0. rdar://12229511 llvm-svn: 164588
-
Nico Weber authored
llvm-svn: 164587
-
Richard Smith authored
function being instantiated. An error recovery codepath was recursively performing name lookup (and triggering an unbounded stack of template instantiations which blew out the stack before hitting the depth limit). Patch by Wei Pan! llvm-svn: 164586
-