Ted Kremenek
55e30be8ec
Added "random access" to the Deserializer to allow a client to jump to any
...
serialized block in the bitstream, including a block in an entirely different
nesting than the current block. This is useful for deserializing objects from
a bitstream in an order different from the order that they were serialized.
llvm-svn: 43973
2007-11-10 02:02:34 +00:00
Ted Kremenek
a7f49ce570
Made Deserializer a friend class of BitstreamReader.
...
Moved some of the logic in BitstreamReader::ExitBlock into a utility function
BitstreamReader::PopBlockScope. The latter is a private method. It will also
be called by Deserializer to manipulate the current "block scope."
llvm-svn: 43972
2007-11-10 02:00:38 +00:00
Evan Cheng
9e0216deab
Added -test-opts to specify test options.
...
llvm-svn: 43971
2007-11-10 01:33:27 +00:00
Chris Lattner
f9f08bf4b0
Update links.
...
llvm-svn: 43964
2007-11-09 21:49:08 +00:00
Evan Cheng
05b94b8c13
Fix tests.
...
llvm-svn: 43961
2007-11-09 20:46:00 +00:00
Hartmut Kaiser
67297144ab
Fixed a strange construct. Please review.
...
llvm-svn: 43960
2007-11-09 19:59:00 +00:00
Hartmut Kaiser
76886e1875
Updated VC++ build system
...
llvm-svn: 43959
2007-11-09 19:54:59 +00:00
Chris Lattner
da043b68ad
try again
...
llvm-svn: 43956
2007-11-09 19:24:54 +00:00
Evan Cheng
fb13fd6f93
Unbreak x86-64 jumptable.
...
llvm-svn: 43955
2007-11-09 19:11:23 +00:00
Anton Korobeynikov
5db5e352b9
Silence a warning
...
llvm-svn: 43954
2007-11-09 19:06:14 +00:00
Dale Johannesen
dfb85c7831
Revert previous rewrite per chris's comments.
...
llvm-svn: 43950
2007-11-09 18:07:11 +00:00
Chris Lattner
f9c0fd7488
Tighten up a check for folding away loads from (newly constant) globals. This
...
fixes a crash on Transforms/GlobalOpt/2007-11-09-GEP-GEP-Crash.ll and
rdar://5585488.
llvm-svn: 43949
2007-11-09 17:33:02 +00:00
Duncan Sands
303a5d6c8b
Thanks to the XTARGET line, this test should still
...
be run on darwin, but I have no way of checking...
llvm-svn: 43945
2007-11-09 13:50:25 +00:00
Duncan Sands
e795efea5b
Move MinAlign to MathExtras.h.
...
llvm-svn: 43944
2007-11-09 13:41:39 +00:00
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
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
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
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
Andrew Lenharth
19ca5c7021
Better check
...
llvm-svn: 43897
2007-11-08 18:45:15 +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
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
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
89704afa43
Revised BatchEmitOwnedPtrs to work better with constant pointers.
...
llvm-svn: 43861
2007-11-08 00:55:31 +00:00
Ted Kremenek
8f74abd34a
Revised implementation of BatchReadOwnedPtrs() that deserializes an
...
array of pointers to not allocate a second array to contain the pointer ids.
Fixed bug in the same member function where deserialized pointers were
not being registered with the backpatcher.
llvm-svn: 43855
2007-11-08 00:04:50 +00:00
Ted Kremenek
14b5fe537e
Fixed bug where we did not properly serialize owned objects due to a missing
...
dereference.
llvm-svn: 43853
2007-11-07 23:32:06 +00:00
Ted Kremenek
1125bfa648
Added version of BatchEmitOwnedPtrs and BatchReadOwnedPtrs that emits/reads
...
an array of pointers of the same type.
llvm-svn: 43852
2007-11-07 23:18:40 +00:00
Ted Kremenek
e079cb7b08
Added methods to batch emit and deserialize owned pointers. This allows
...
to group the pointer IDs together in the bitstream before their referenced
contents (which will lend itself to more efficient encoding).
llvm-svn: 43845
2007-11-07 22:30:29 +00:00
Dale Johannesen
1b9de4dd6f
Complete conditionalization of Dwarf reg numbers.
...
Would somebody not on Darwin please make sure this
doesn't break anything. Exception handling failures
would be the most likely symptom.
llvm-svn: 43844
2007-11-07 21:48:35 +00:00
Bill Wendling
6e976915a3
Add testcase
...
llvm-svn: 43839
2007-11-07 19:36:26 +00:00