Nick Lewycky
11168326f8
Make IRBuilder support StringRef for building strings.
...
Also document that the global variables produced are mergable.
llvm-svn: 129330
2011-04-12 00:29:07 +00:00
Ted Kremenek
e0d2b8c58c
Teach GRState::getSValAsScalarOrLoc() about C++ references.
...
llvm-svn: 129329
2011-04-12 00:28:12 +00:00
Jim Grosbach
3ed03f18d1
Tidy up a bit now that we're using the MemoryManager interface.
...
llvm-svn: 129328
2011-04-12 00:23:32 +00:00
Johnny Chen
f130b7f0f5
Add one test case (svc).
...
llvm-svn: 129327
2011-04-12 00:21:48 +00:00
Eric Christopher
ffc0e1f6e6
Match case for invalid constant error messages and add a new
...
test for invalid hexadecimals.
llvm-svn: 129326
2011-04-12 00:18:03 +00:00
Johnny Chen
672ef14a62
A8.6.16 B
...
Encoding T1 (tBcc)
if cond == '1110' then UNDEFINED;
rdar://problem/9268681
llvm-svn: 129325
2011-04-12 00:14:49 +00:00
Dan Gohman
1c6c34834b
Fix reassociate to use a worklist instead of recursing when new
...
reassociation opportunities are exposed. This fixes a bug where
the nested reassociation expects to be the IR to be consistent,
but it isn't, because the outer reassociation has disconnected
some of the operands. rdar://9167457
llvm-svn: 129324
2011-04-12 00:11:56 +00:00
Eric Christopher
0a68959604
Test for invalid constant expr addition - bad octal constant.
...
llvm-svn: 129323
2011-04-12 00:03:38 +00:00
Eric Christopher
104af0619e
To avoid printing out multiple error messages for cases like:
...
.long 80+08
go ahead and assume that if we've got an Error token that we handled it
already. Otherwise if it's a token we can't handle then go ahead and
return the default error.
llvm-svn: 129322
2011-04-12 00:03:13 +00:00
Jakob Stoklund Olesen
507992e909
Reuse live interval union between functions. This saves a bit of compile time
...
when compiling many small functions.
llvm-svn: 129321
2011-04-11 23:57:14 +00:00
Johnny Chen
dc8bf9ec08
Thumb disassembler was erroneously rejecting "blx sp" instruction.
...
rdar://problem/9267838
llvm-svn: 129320
2011-04-11 23:33:30 +00:00
Chris Lattner
7d4cdae564
comment cleanup, use moveBefore instead of removeFromParent+insertBefore.
...
llvm-svn: 129319
2011-04-11 23:24:57 +00:00
NAKAMURA Takumi
408c228367
TableGen: Keep the order of DECL_CONTEXT() for DeclNodes.td. RecordVector may be used instead of RecordSet.
...
The result of DeclNodes.inc was unstable on msys, Windows 7 x64.
llvm-svn: 129317
2011-04-11 23:20:28 +00:00
Chris Lattner
e81d045d94
remove the StructRetPromotion pass. It is unused, not maintained and
...
has some bugs. If this is interesting functionality, it should be
reimplemented in the argpromotion pass.
llvm-svn: 129314
2011-04-11 23:09:44 +00:00
Wesley Peck
f30a0e2d80
Fix an error in the MBlaze delay slot filler.
...
llvm-svn: 129313
2011-04-11 22:45:02 +00:00
Daniel Dunbar
0625b1f860
build: Add support for a SHOW_DIAGNOSTICS build variable.
...
If enabled, this will attempt to use the CC_LOG_DIAGNOSTICS feature I dropped
into Clang to print a log of all the diagnostics generated during an individual
build (from the top-level). Not sure if this will actually be useful, but for
now it is handy for testing the option.
llvm-svn: 129312
2011-04-11 22:37:39 +00:00
Wesley Peck
1914c39bd4
Add scheduling information for the MBlaze backend.
...
llvm-svn: 129311
2011-04-11 22:31:52 +00:00
Eric Christopher
64749f2a89
Lex, and then fail on invalid constants.
...
Testcase forthcoming.
rdar://8490596
llvm-svn: 129309
2011-04-11 22:24:56 +00:00
Ted Kremenek
8ef59e5c03
C++ static analysis: also invalidate fields of objects that are the callees in C++ method calls.
...
llvm-svn: 129308
2011-04-11 22:22:05 +00:00
Nick Lewycky
0f85789800
Just because a GlobalVariable's initializer is [N x { i32, void ()* }] doesn't
...
mean that it has to be ConstantArray of ConstantStruct. We might have
ConstantAggregateZero, at either level, so don't crash on that.
Also, semi-deprecate the sentinal value. The linker isn't aware of sentinals so
we end up with the two lists appended, each with their "sentinals" on them.
Different parts of LLVM treated sentinals differently, so make them all just
ignore the single entry and continue on with the rest of the list.
llvm-svn: 129307
2011-04-11 22:11:20 +00:00
Rafael Espindola
82065cb6cf
Implement cfi_rel_offset
...
llvm-svn: 129306
2011-04-11 21:49:50 +00:00
Jakob Stoklund Olesen
0f175ebc32
Speed up eviction by stopping collectInterferingVRegs as soon as the spill
...
weight limit has been exceeded.
llvm-svn: 129305
2011-04-11 21:47:01 +00:00
Rafael Espindola
4f46abc15e
Add test for previous commit.
...
llvm-svn: 129304
2011-04-11 21:41:34 +00:00
Wesley Peck
e3685217d0
Don't crash on invalid instructions when disassembling MBlaze code.
...
This fixes http://llvm.org/bugs/show_bug.cgi?id=9653
llvm-svn: 129303
2011-04-11 21:35:21 +00:00
Bill Wendling
1e1f1c9ce1
The default of the dispatch switch statement was to branch to a BB that executed
...
the 'unwind' instruction. However, later on that instruction was converted into
a jump to the basic block it was located in, causing an infinite loop when we
get there.
It turns out, we get there if the _Unwind_Resume_or_Rethrow call returns (which
it's not supposed to do). It returns if it cannot find a place to unwind
to. Thus we would get what appears to be a "hang" when in reality it's just that
the EH couldn't be propagated further along.
Instead of infinitely looping (or calling `unwind', which none of our back-ends
support (it's lowered into nothing...)), call the @llvm.trap() intrinsic
instead. This may not conform to specific rules of a particular language, but
it's rather better than infinitely looping.
<rdar://problem/9175843&9233582>
llvm-svn: 129302
2011-04-11 21:32:34 +00:00
Fariborz Jahanian
1248df43bf
Typo.
...
llvm-svn: 129301
2011-04-11 21:26:35 +00:00
Fariborz Jahanian
fae2e8df37
Fixup more objc rwriter bug having to do with
...
rewriting of blocks which have objective-c
stuff which need be rewritten as well. // rdar://9254348
llvm-svn: 129300
2011-04-11 21:17:02 +00:00
Chris Lattner
20b90d061a
fix the path to ld.so for darwin/ppc, resolving PR9677. Patch
...
by Jeremy Huddleston!
llvm-svn: 129299
2011-04-11 21:15:37 +00:00
Johnny Chen
f79d5365de
Fix the bug where the immediate shift amount for Thumb logical shift instructions are incorrectly disassembled.
...
rdar://problem/9266265
llvm-svn: 129298
2011-04-11 21:14:35 +00:00
Evan Cheng
ef42bea704
Look pass copies when determining whether hoisting would end up inserting more copies. rdar://9266679
...
llvm-svn: 129297
2011-04-11 21:09:18 +00:00
Rafael Espindola
ffd2e5163b
implement .cfi_adjust_cfa_offset.
...
llvm-svn: 129296
2011-04-11 20:29:16 +00:00
Eli Friedman
2c81975bae
Get rid of useless comment; if a file uses functions from a given header,
...
it is obvious that it should be included.
llvm-svn: 129295
2011-04-11 20:16:05 +00:00
Owen Anderson
5140802cd9
Fix another using-CPSR-twice bug in my ADCS/SBCS cleanups, and make proper use of the Commutable bit.
...
llvm-svn: 129294
2011-04-11 20:12:19 +00:00
Jakob Stoklund Olesen
b16e948029
Skip a binary search when possible.
...
llvm-svn: 129293
2011-04-11 20:01:44 +00:00
Jakob Stoklund Olesen
7d05bce70c
Use a faster algorithm for computing MBB live-in registers after register allocation.
...
LiveIntervals::findLiveInMBBs has to do a full binary search for each segment.
llvm-svn: 129292
2011-04-11 20:01:41 +00:00
Garrison Venn
56c5ca2ee1
Because some systems have reported that this example would not build the
...
header file cstdio was added as an include.
llvm-svn: 129291
2011-04-11 19:52:49 +00:00
Stephen Wilson
71c21d18c3
Order of initialization lists.
...
This patch fixes all of the warnings due to unordered initialization lists.
Patch by Marco Minutoli.
llvm-svn: 129290
2011-04-11 19:41:40 +00:00
Stephen Wilson
2b899767e1
Fix struct vs. class warning.
...
ParserVars is declared using the class keyword. This solves the warning.
llvm-svn: 129289
2011-04-11 19:38:03 +00:00
Johnny Chen
74adbddade
Trivial comment fix.
...
llvm-svn: 129288
2011-04-11 18:51:50 +00:00
Evan Cheng
fe917efc8b
Fix a couple of places where changes are made but not tracked.
...
llvm-svn: 129287
2011-04-11 18:47:20 +00:00
Johnny Chen
66fab75920
Check invalid register encodings for LdFrm/StFrm ARM instructions and flag them as
...
invalid instructions.
llvm-svn: 129286
2011-04-11 18:34:12 +00:00
Howard Hinnant
a23551cad4
Fix bug in Sseq constraints found by Seth Cantrell
...
llvm-svn: 129285
2011-04-11 18:22:12 +00:00
Kevin Enderby
9377a52c12
Adding support for printing operands symbolically to llvm's public 'C'
...
disassembler API. Hooked this up to the ARM target so such tools as Darwin's
otool(1) can now print things like branch targets for example this:
blx _puts
instead of this:
blx #-36
And even print the expression encoded in the Mach-O relocation entried for
things like this:
movt r0, :upper16:((_foo-_bar)+1234)
llvm-svn: 129284
2011-04-11 18:08:50 +00:00
Jakob Stoklund Olesen
f8beafe207
Don't add live ranges for sub-registers when clobbering a physical register.
...
Both coalescing and register allocation already check aliases for interference,
so these extra segments are only slowing us down.
This speeds up both linear scan and the greedy register allocator.
llvm-svn: 129283
2011-04-11 18:08:10 +00:00
Caroline Tice
88544c5f2c
Implement ARM emulation function to handle "SUBS PC, LR and related instructions".
...
llvm-svn: 129279
2011-04-11 15:51:10 +00:00
Jakob Stoklund Olesen
4fbbe3689d
Speed up LiveIntervalUnion::unify by handling end insertion specially.
...
This particularly helps with the initial transfer of fixed intervals.
llvm-svn: 129277
2011-04-11 15:00:44 +00:00
Jakob Stoklund Olesen
bfabc494f5
Time the initial seeding of live registers
...
llvm-svn: 129276
2011-04-11 15:00:42 +00:00
Jakob Stoklund Olesen
96d04c8e00
Don't shrink live ranges after dead code elimination unless it is going to help.
...
In particular, don't repeatedly recompute the PIC base live range after rematerialization.
llvm-svn: 129275
2011-04-11 15:00:39 +00:00
Oscar Fuentes
c6f2d0a4cf
CMake: remove some unnecesary code and ToDos.
...
Patch by arrowdodger!
llvm-svn: 129274
2011-04-11 14:52:39 +00:00
Anders Carlsson
0c63350b0b
If there's an invoke destination, we should use invoke instead of call when calling the __cxa_bad_typeid function. Fixes PR7400.
...
llvm-svn: 129273
2011-04-11 14:13:40 +00:00