Commit Graph

37911 Commits

Author SHA1 Message Date
Anton Korobeynikov 550b98e147 Fix indent
llvm-svn: 43941
2007-11-09 12:34:20 +00:00
Anton Korobeynikov 98638aede6 Forget to commit users part of value mapper interface
llvm-svn: 43940
2007-11-09 12:27:04 +00:00
Anton Korobeynikov 8eeca1c252 And delete this one
llvm-svn: 43939
2007-11-09 12:22:04 +00:00
Anton Korobeynikov 7a96822f32 Make this header public
llvm-svn: 43938
2007-11-09 12:16:58 +00:00
Duncan Sands e7a9ac929f Fix some load/store logic that would be wrong for
apints on big-endian machines if the bitwidth is
not a multiple of 8.  Introduce a new helper,
MVT::getStoreSizeInBits, and use it.

llvm-svn: 43934
2007-11-09 08:57:19 +00:00
Duncan Sands bab9dc9433 Add terminating newline.
llvm-svn: 43933
2007-11-09 08:30:21 +00:00
Duncan Sands 0c7fba914d Check that the first and third characters, s and u,
are accessed with an alignment of 2 not 1.

llvm-svn: 43932
2007-11-09 07:47:29 +00:00
Duncan Sands 1445725759 Check that accesses to the second short, t, have
an alignment of 2 rather than 4.

llvm-svn: 43931
2007-11-09 07:46:02 +00:00
Bill Wendling 71df1dd59e Initial commit of files that support building LLVM the "Apple" way.
llvm-svn: 43929
2007-11-09 06:59:33 +00:00
Nick Lewycky 70248c92cf Add a link to the tutorial.
llvm-svn: 43928
2007-11-09 05:45:51 +00:00
Evan Cheng 797d56ff17 Much improved pic jumptable codegen:
Then:
        call    "L1$pb"
"L1$pb":
        popl    %eax
		...
LBB1_1: # entry
        imull   $4, %ecx, %ecx
        leal    LJTI1_0-"L1$pb"(%eax), %edx
        addl    LJTI1_0-"L1$pb"(%ecx,%eax), %edx
        jmpl    *%edx

        .align  2
        .set L1_0_set_3,LBB1_3-LJTI1_0
        .set L1_0_set_2,LBB1_2-LJTI1_0
        .set L1_0_set_5,LBB1_5-LJTI1_0
        .set L1_0_set_4,LBB1_4-LJTI1_0
LJTI1_0:
        .long    L1_0_set_3
        .long    L1_0_set_2

Now:
        call    "L1$pb"
"L1$pb":
        popl    %eax
		...
LBB1_1: # entry
        addl    LJTI1_0-"L1$pb"(%eax,%ecx,4), %eax
        jmpl    *%eax

		.align  2
		.set L1_0_set_3,LBB1_3-"L1$pb"
		.set L1_0_set_2,LBB1_2-"L1$pb"
		.set L1_0_set_5,LBB1_5-"L1$pb"
		.set L1_0_set_4,LBB1_4-"L1$pb"
LJTI1_0:
        .long    L1_0_set_3
        .long    L1_0_set_2

llvm-svn: 43924
2007-11-09 01:32:10 +00:00
Evan Cheng f14006f4d6 Didn't mean to check these in.
llvm-svn: 43923
2007-11-09 01:28:33 +00:00
Evan Cheng 1bf166312b Bug fix. Passive nodes are not in SUnitMap.
llvm-svn: 43922
2007-11-09 01:27:11 +00:00
Chuck Rose III 0e7937654c Adding some recently added files to the VStudio projects
llvm-svn: 43919
2007-11-09 00:48:27 +00:00
Dale Johannesen 04fd82088e Rewrite Dwarf number handling per review comments.
llvm-svn: 43918
2007-11-09 00:47:10 +00:00
Ted Kremenek 908f96a2cf Changed method call to reflect updated serialization API.
llvm-svn: 43917
2007-11-09 00:43:55 +00:00
Ted Kremenek 1d9406c1ca Updated Deserializer class to provide more information about the current
block that is being visited in the bitstream.  The client can also now
skip blocks before reading them, and query the current abbreviation number
as seen from the perspective of the Deserializer.  This allows the client
to be more interactive in the deserialization process (if they so choose).

llvm-svn: 43916
2007-11-09 00:43:51 +00:00
Fariborz Jahanian 56ff146ec4 First patch toward rewriting of method definitions. This is work in progress.
llvm-svn: 43915
2007-11-08 23:49:49 +00:00
Devang Patel 94785aa1c7 Run this test only on darwin.
llvm-svn: 43912
2007-11-08 22:26:46 +00:00
Owen Anderson 65d2fcdd2a This preserves critical edge breaking.
llvm-svn: 43911
2007-11-08 22:23:57 +00:00
Owen Anderson 3bc8124a66 Make BreakCriticalMachineEdges available as a pass that can be depended on.
llvm-svn: 43910
2007-11-08 22:20:23 +00:00
Chris Lattner f546408406 remove some temporary code.
llvm-svn: 43906
2007-11-08 20:53:07 +00:00
Chris Lattner b74f6e82e4 add a getAtOffset() member to simplify some code.
llvm-svn: 43905
2007-11-08 20:51:02 +00:00
Ted Kremenek da4c6c183d Rewrote serialization of IdentifierInfo and IdentifierTable to use methods Emit
and Materialize/Read instead of using specializations of SerializeTrait<>. The
resulting code is much cleaner. We are also setting the stage so that only the
parts of the IdentifierTable that are ever referenced within the ASTs are
serialized, and not the whole table.

llvm-svn: 43904
2007-11-08 19:52:41 +00:00
Ted Kremenek 67135ebaff Added typedef "SerializedPtrID" to represent the pointer handle written to disk
instead of just using "unsigned".  This gives us more flexibility in changing
the definition of the handle later, and is more self-documenting.

Added tracking of block stack in the Deserializer.  Now clients can query
if they are still within a block using the methods GetCurrentBlockLocation()
and FinishedBlock().

llvm-svn: 43903
2007-11-08 19:50:46 +00:00
Chris Lattner 34660fb75a add a fixme.
llvm-svn: 43902
2007-11-08 19:40:23 +00:00
Chris Lattner bedd411589 significantly simplify the implementation of RewriteRope by changing the
implementation to be list<RopePiece> instead of vector<RopePiece*>.

llvm-svn: 43901
2007-11-08 19:39:57 +00:00
Fariborz Jahanian 8e632940fc Refactored parsing of main function body for reuse by objective-c methods.
llvm-svn: 43898
2007-11-08 19:01:26 +00:00
Andrew Lenharth 19ca5c7021 Better check
llvm-svn: 43897
2007-11-08 18:45:15 +00:00
Chris Lattner 3eb670721f improve MakeRopeString to avoid doing a malloc for every 2-character string
that gets inserted.  This speeds up the rewriter another 10%.

llvm-svn: 43896
2007-11-08 18:32:01 +00:00
Chris Lattner 9a00d3ec90 Simplify interface to MakeRopeString.
llvm-svn: 43895
2007-11-08 17:59:48 +00:00
Chris Lattner 3a21bd50e7 Fix backwards assert.
llvm-svn: 43894
2007-11-08 17:56:40 +00:00
Andrew Lenharth 8cf11aa330 Fix PR1780
llvm-svn: 43893
2007-11-08 17:39:28 +00:00
Lauro Ramos Venancio f6a67bf700 [ARM] Implement __builtin_thread_pointer.
llvm-svn: 43892
2007-11-08 17:20:05 +00:00
Ted Kremenek f2d68452c6 Implemented serialization of AddrLabelExpr.
Implemented serialization of ConditionalOperator.
Implemented serialization of StmtExpr.
Fixed bug in serialization of IndirectGoto (did not properly serialize subexpression).

llvm-svn: 43891
2007-11-08 16:32:00 +00:00
Steve Naroff 265a6b9693 Rewrite RewriteObjCStringLiteral(). This version is simpler (and unlike the previous one, works:-)
llvm-svn: 43890
2007-11-08 14:30:50 +00:00
Evan Cheng ece4c68b82 If both parts of smul_lohi, etc. are used, don't simplify. If only one part is used, try simplify it.
llvm-svn: 43888
2007-11-08 09:25:29 +00:00
Owen Anderson 0be8c1dafe Add the majority of machine-level critical edge breaking pass. Most of this was written by Fernando, cleanup and updating to TOT by me.
This still needs a bit of work, particularly to handle jump tables properly.

llvm-svn: 43885
2007-11-08 07:55:43 +00:00
Chris Lattner e90ce8def3 Add a new RewriteRope data structure which is a smarter way to represent the text
backing a rewrite buffer than using an std::vector<char>.  This class was hacked
together very quickly and needs to be cleaned up, but it seems to work.  It speeds
up rewriting a a 7M file from 6.43s to 0.24s on my machine.  The impl could also
be made to be a lot more algorithmically sound.

This produces identical output to using vector on this testcase, if it causes a
problems or bugs are encountered, it can be disabled by changing the 
RewriteBuffer::Buffer typedef back.

llvm-svn: 43884
2007-11-08 07:35:14 +00:00
Chris Lattner 7a7da75916 abstract out buffer type a bit better
llvm-svn: 43883
2007-11-08 05:42:25 +00:00
Chris Lattner dc0cfc9fe3 use insert instead of replacing 0 bytes with text :)
llvm-svn: 43882
2007-11-08 04:41:51 +00:00
Chris Lattner edebdb5b29 minor cleanups
llvm-svn: 43881
2007-11-08 04:41:04 +00:00
Chris Lattner 9fd5890e52 use std::copy instead of memcpy for abstraction.
Disable rewrite-tabs.  This speeds up processing of the commentified huge
crazy testcase steve gave me from 20s to 6.6s in a release build.

llvm-svn: 43880
2007-11-08 04:27:23 +00:00
Chris Lattner 4573cc708a Fix a rewriter bug that fariborz hit, when an @interface was the very very very
first thing in the file.

The trick is that text replacement should go after the insert point, 
not before it, because it will be replacing text after the point, not before 
it.

llvm-svn: 43879
2007-11-08 04:09:59 +00:00
Owen Anderson bfbc12973d Take another stab at getting isLiveIn() and isLiveOut() right.
llvm-svn: 43869
2007-11-08 01:32:45 +00:00
Owen Anderson 4ac4ec215f Fix MachineDominators' getAnalysisUsage.
llvm-svn: 43868
2007-11-08 01:22:53 +00:00
Owen Anderson 17296e74b1 Oops, forgot to commit this file.
llvm-svn: 43867
2007-11-08 01:22:24 +00:00
Owen Anderson 9d86ef12c8 Bring UsedBlocks back. StrongPHIElimination needs this information.
llvm-svn: 43866
2007-11-08 01:20:48 +00:00
Ted Kremenek a34b057762 Revised serialization of CaseStmt to emit all of the owned pointers (its
subexpressions) all together in one block at the end.

llvm-svn: 43862
2007-11-08 00:56:26 +00:00
Ted Kremenek 89704afa43 Revised BatchEmitOwnedPtrs to work better with constant pointers.
llvm-svn: 43861
2007-11-08 00:55:31 +00:00