Commit Graph

53730 Commits

Author SHA1 Message Date
Chris Lattner ed8903e45a add a method to BumpPtrAllocator that allows allocating elements
with a specified alignment.

llvm-svn: 63629
2009-02-03 07:39:50 +00:00
Chris Lattner c8233df64b switch SourceManager from using an std::map and std::list of
ContentCache objects to using a densemap and list, and allocating
the ContentCache objects from a bump pointer.  This does not speed
up or slow down things substantially, but gives us control over 
their alignment.

llvm-svn: 63628
2009-02-03 07:30:45 +00:00
Chris Lattner 79f6de0fd0 true is pass, false is success.
llvm-svn: 63627
2009-02-03 07:28:12 +00:00
Chris Lattner 96960c82db disable this test too
llvm-svn: 63626
2009-02-03 07:25:43 +00:00
Chris Lattner a8be8de596 make this fail faster.
llvm-svn: 63625
2009-02-03 07:24:53 +00:00
Chris Lattner a77cad1012 add #include to make more self-contained.
llvm-svn: 63624
2009-02-03 07:20:54 +00:00
Nick Lewycky fb643e4d9f Add LLVM plugin for gold.
llvm-svn: 63623
2009-02-03 07:13:24 +00:00
Nick Lewycky a2cf0ed2c7 Regenerate configure.
llvm-svn: 63622
2009-02-03 07:10:30 +00:00
Nick Lewycky edd8946bec Add the ability to pass the path to binutils source to configure. This is
needed to build the LLVM gold plugin.

llvm-svn: 63621
2009-02-03 07:10:08 +00:00
Chris Lattner 80810b4c2d add another case of undefined behavior without crashing, PR3466.
llvm-svn: 63620
2009-02-03 07:08:57 +00:00
Daniel Dunbar 32931eb21d Change ABIInfo to compute information for a full signature at a time
(the main point of this restructing).

llvm-svn: 63619
2009-02-03 06:51:18 +00:00
Nick Lewycky 05daea5d32 Revert r63600. It didn't fix the bug, it just moved it a bit.
llvm-svn: 63618
2009-02-03 06:30:37 +00:00
Daniel Dunbar 0136282a9c Remove ABIArgInfo::Default kind, ABI is now responsible for specifying
acceptable kind with more precise semantics.

llvm-svn: 63617
2009-02-03 06:30:17 +00:00
Owen Anderson f755c2b7a4 Teach AliasAnalysis that a bunch of the atomic intrinsics only dereference their arguments.
llvm-svn: 63616
2009-02-03 06:27:22 +00:00
Daniel Dunbar 67dace890f Add ABIArgInfo::Direct kind, which passes arguments using whatever the
native IRgen type is. This is like Default, but without any extra
semantics (like automatic tweaking of structures or void).

llvm-svn: 63615
2009-02-03 06:17:37 +00:00
Chris Lattner 5b0de55045 remove some overly-crazy ideas.
llvm-svn: 63614
2009-02-03 06:05:34 +00:00
Daniel Dunbar 5a0acdc982 Add two FIXMEs.
llvm-svn: 63613
2009-02-03 06:02:10 +00:00
Daniel Dunbar b52d077d8b Always use CGFunctionInfo to access ABI information.
llvm-svn: 63612
2009-02-03 05:59:18 +00:00
Daniel Dunbar 313321ea23 Move ABIArgInfo into CGFunctionInfo, computed on creation.
- Still have to convert some consumers over.

llvm-svn: 63610
2009-02-03 05:31:23 +00:00
Nick Lewycky 12a130bd06 Update the callgraph when replacing InvokeInst with CallInst when inlining.
llvm-svn: 63600
2009-02-03 04:34:40 +00:00
Bill Wendling 67cd395d45 Explicitly pass in debug location information to BuildMI.
llvm-svn: 63599
2009-02-03 02:29:34 +00:00
Bill Wendling 135227a060 Pass in something sensible for the debug location information when creating the
initial PHI nodes of the machine function.

llvm-svn: 63598
2009-02-03 02:20:52 +00:00
Chris Lattner fa4e35aca7 fix a bitcode reader bug where it can't handle extractelement correctly:
the index of the value being extracted is always an i32.  This fixes PR3465

llvm-svn: 63597
2009-02-03 02:11:28 +00:00
Chris Lattner 6aa6b1f263 Teach ConvertUsesToScalar to handle memset, allowing it to handle
crazy cases like:

struct f {  int A, B, C, D, E, F; };
short test4() {
  struct f A;
  A.A = 1;
  memset(&A.B, 2, 12);
  return A.C;
}

llvm-svn: 63596
2009-02-03 02:01:43 +00:00
Dale Johannesen db39362c90 Fill in some missing DL propagation in getNode()s.
llvm-svn: 63595
2009-02-03 01:55:44 +00:00
Bill Wendling 143a2c3470 Use SDL->getCurDebugLoc() instead of unknown loc for landing pads.
llvm-svn: 63594
2009-02-03 01:55:42 +00:00
Bill Wendling fa50a23f8a Explicitly pass in the "unknown" debug location. This is probably not
correct. We need more infrastructure before we can get the DebugLoc info for
these instructions.

llvm-svn: 63593
2009-02-03 01:33:28 +00:00
Dan Gohman 7aa0c17cff Delete these two tests. They are specific to x86-64, and there's no
reliable way to do this with the current dejagnu infrastructure.
If someone can figure out how to fix these tests so that they test
what they are intended to test without spuriously failing on any
popular platforms, they are invited to reinstate them.

llvm-svn: 63592
2009-02-03 01:33:26 +00:00
Bill Wendling 9862a64419 Alphabetize includes.
llvm-svn: 63591
2009-02-03 01:32:22 +00:00
Chris Lattner 09b65ab288 rearrange how SRoA handles promotion of allocas to vectors.
With the new world order, it can handle cases where the first
store into the alloca is an element of the vector, instead of
requiring the first analyzed store to have the vector type 
itself.  This allows us to un-xfail 
test/CodeGen/X86/vec_ins_extract.ll.

llvm-svn: 63590
2009-02-03 01:30:09 +00:00
Dan Gohman fb306c0a10 Move isIdentifiedObject and isNoAliasCall into AliasAnalysis.cpp since
they are useful to analyses other than BasicAliasAnalysis.cpp. Include
the full comment for isIdentifiedObject in the header file. Thanks to
Chris for suggeseting this.

llvm-svn: 63589
2009-02-03 01:28:32 +00:00
Chris Lattner a814d96116 Content Cache only needs to be 4-byte aligned. Since it is stored in
an std::set, we can't make a strong guarantee about what its alignment
will be.  Since I don't need the 3rd bit anyway yet, just change the
assertion.

llvm-svn: 63588
2009-02-03 01:28:04 +00:00
Chris Lattner a0ce5f060d this test produces an undefined value, we don't care
what it is, but we do want the alloca promoted.

llvm-svn: 63587
2009-02-03 01:13:52 +00:00
Daniel Dunbar 6d6b0d309a Move ABIInfo/ABIArgInfo classes into ABIInfo.h
llvm-svn: 63586
2009-02-03 01:05:53 +00:00
Bill Wendling 17450acc3b Propagate debug loc info during SDNode -> machine instr creation.
llvm-svn: 63585
2009-02-03 01:02:39 +00:00
Bill Wendling e3c78361d3 Create DebugLoc information in FastISel. Several temporary methods were
created. Specifically, those BuildMIs which use
"DebugLoc::getUnknownLoc()". I'll remove them soon.

llvm-svn: 63584
2009-02-03 00:55:04 +00:00
Dale Johannesen f1163e9a4d Propagation in TargetLowering. Includes passing a DL
into SimplifySetCC which gets called elsewhere.

llvm-svn: 63583
2009-02-03 00:47:48 +00:00
Bill Wendling b0ad6f9a6c It fails on Linux. XFAIL that machine.
llvm-svn: 63582
2009-02-03 00:35:11 +00:00
Douglas Gregor 8761da5f68 Simplify the way in which we inject the names of tag definitions and
elaborated-type-specifier declarations into outer scopes while
retaining their proper lexical scope. This way is simpler and more
consistent with the way DeclContexts work, and also fixes

  http://llvm.org/bugs/show_bug.cgi?id=3430

llvm-svn: 63581
2009-02-03 00:34:39 +00:00
Bill Wendling 423f3bc196 This is passing for us. Should it have been reenabled?
llvm-svn: 63580
2009-02-03 00:27:09 +00:00
Dan Gohman 7948ef5f87 Add explicit -march=x86 to these tests so that they don't
default to -march=x86-64 on 64-bit hosts.

llvm-svn: 63579
2009-02-03 00:20:22 +00:00
Fariborz Jahanian c88a70d885 objc2's ir-gen for nonfragile ivar access.
llvm-svn: 63578
2009-02-03 00:09:52 +00:00
Dan Gohman 76a07f59d4 Use the SubclassData field to hold ExtType, isTrunc, and MemIndexedMode
information. This eliminates the need for the Flags field in MemSDNode,
so this makes LoadSDNode and StoreSDNode smaller. Also, it makes
FoldingSetNodeIDs for loads and stores two AddIntegers smaller.

llvm-svn: 63577
2009-02-03 00:08:45 +00:00
Daniel Dunbar e0be82956b Memoize CGFunctionInfo construction.
llvm-svn: 63576
2009-02-03 00:07:12 +00:00
Dan Gohman 7403751e16 Change Feature64Bit to not imply FeatureSSE2. All x86-64 hardware has
SSE2, however it's possible to disable SSE2, and the subtarget support
code thinks that if 64-bit implies SSE2 and SSE2 is disabled then
64-bit should also be disabled. Instead, just mark all the 64-bit
subtargets as explicitly supporting SSE2.

Also, move the code that makes -march=x86-64 enable 64-bit support by
default to only apply when there is no explicit subtarget. If you
need to specify a subtarget and you want 64-bit code, you'll need to
select a subtarget that supports 64-bit code.

llvm-svn: 63575
2009-02-03 00:04:43 +00:00
Dale Johannesen 72ba6df1a9 Last DebugLoc propagation for this file.
llvm-svn: 63574
2009-02-02 23:46:53 +00:00
Mike Stump 99231d5c98 Formatting fix.
llvm-svn: 63573
2009-02-02 23:46:21 +00:00
Dan Gohman f58f0cbfd5 Fix another test to not use -mcpu=yonah with 64-bit code.
llvm-svn: 63572
2009-02-02 23:43:59 +00:00
Daniel Dunbar 3668cb2d3c Change CGFunctionInfo args iterator to not include the return type.
llvm-svn: 63571
2009-02-02 23:43:58 +00:00
Douglas Gregor 8bd3c2ebac Add a macro-based enumeration of all of the Decl nodes (like we do
with Stmt/Expr nodes), and convert some of the more mundane
switch-on-all-decl-kinds uses over to use this new file.

llvm-svn: 63570
2009-02-02 23:39:07 +00:00