Evan Cheng
84aec09fdb
Fix PR2138. Apparently any modification to a std::multimap (including remove entries for a different key) can invalidate multimap iterators.
...
llvm-svn: 48371
2008-03-14 20:44:01 +00:00
Chris Lattner
bb8c2406dc
this was removed from the Unix side.
...
llvm-svn: 48370
2008-03-14 20:41:50 +00:00
Dan Gohman
94f57c56f9
Update comments; getPassName no longer uses RTTI.
...
llvm-svn: 48369
2008-03-14 18:27:04 +00:00
Ted Kremenek
9abb59f9cc
Emit warnings for undefined control-flow.
...
llvm-svn: 48368
2008-03-14 18:14:50 +00:00
Dan Gohman
87ea2aba62
Move the PMStack class out of Pass.h and into PassManagers.h.
...
llvm-svn: 48367
2008-03-14 18:14:29 +00:00
Nate Begeman
b561de7455
Correctly error on arrays with automatic storage full of objects with
...
non-default address space, and fix comment.
Add a test for this.
llvm-svn: 48366
2008-03-14 18:07:10 +00:00
Dale Johannesen
0dfd3f33f7
Implement the real calling convention for ppc32 Altivec:
...
vectors go at the end of the memory area, after all
non-vector parameters.
llvm-svn: 48364
2008-03-14 17:41:26 +00:00
Ted Kremenek
7b00d15bc5
Path-sensitive analyses no longer take a FunctionDecl, but any Decl representing
...
a block of "code".
Patched various ASTConsumers (such as ASTDumper) to have more support for
processing ObjCMethodDecl. CFGVisitor now builds CFGs for ObjCMethodDecls.
llvm-svn: 48363
2008-03-14 17:31:00 +00:00
Chris Lattner
5ff2d5defa
add initial support for generating an llvm.globalctors list. Patch by David Chisnall
...
llvm-svn: 48362
2008-03-14 17:18:18 +00:00
Evan Cheng
5be52a6053
Fix some 80 col violations.
...
llvm-svn: 48361
2008-03-14 07:46:48 +00:00
Evan Cheng
96bdbd6c5d
Fix a number of encoding bugs. SSE 4.1 instructions MPSADBWrri, PINSRDrr, etc. have 8-bits immediate field (ImmT == Imm8).
...
llvm-svn: 48360
2008-03-14 07:39:27 +00:00
Evan Cheng
77c8da7f00
Add debugging stuff.
...
llvm-svn: 48359
2008-03-14 07:13:42 +00:00
Chris Lattner
e8ec280627
Only compute targetinfo once and don't leak it. Patch by Sam Bishop!
...
llvm-svn: 48358
2008-03-14 06:12:05 +00:00
Chris Lattner
221929310b
Make the preprocessor own its PPCallbacks, fixing a memory leak.
...
Patch by Sam Bishop!
llvm-svn: 48357
2008-03-14 06:07:05 +00:00
Chris Lattner
477d0f5294
Add an issue that is preventing instcombine from doing a simplification.
...
llvm-svn: 48356
2008-03-14 06:00:19 +00:00
Duncan Sands
a06e4f3050
Simplify using getIntPtrConstant.
...
llvm-svn: 48355
2008-03-14 05:23:57 +00:00
Bill Wendling
68a930b33e
The inst combining of inttoptr into GEP with one index was using the bit size of
...
the type instead of the byte size. This was causing troublesome mis-compilations.
True to form, this took 2 days to find and is a one-line fix. :-P
llvm-svn: 48354
2008-03-14 05:12:19 +00:00
Evan Cheng
3108798ecb
Add an MO_Undef MachineOperandType, intended for INSERT_SUBREG. Next up MO_Undead.
...
llvm-svn: 48353
2008-03-14 01:47:49 +00:00
Nate Begeman
63eb03f800
Tabs -> spaces
...
Use getIntPtrConstant in a couple places to shorten stuff up
Handle splitting vector shuffles with undefs in the mask
llvm-svn: 48351
2008-03-14 00:53:31 +00:00
Nate Begeman
144625ef9b
ISO/IEC TR 18037
...
An address space name cannot be used to qualify an object that has automatic
storage duration. Still not catching ASQual'd allocas of array type, just
scalars at the moment.
llvm-svn: 48350
2008-03-14 00:22:18 +00:00
Evan Cheng
05d41356d0
Forgot this.
...
llvm-svn: 48349
2008-03-14 00:17:29 +00:00
Evan Cheng
db443ca377
Livein copy scheduling fixes: do not coalesce physical register copies, correctly determine the safe location to insert the copies.
...
llvm-svn: 48348
2008-03-14 00:14:55 +00:00
Nate Begeman
65b0a6423f
Fix comment
...
llvm-svn: 48347
2008-03-13 23:56:36 +00:00
Dan Gohman
eac0c96371
Use SDTNone instead of duplicating it.
...
llvm-svn: 48346
2008-03-13 23:07:40 +00:00
Dan Gohman
7350880641
Fix a typo in a comment.
...
llvm-svn: 48345
2008-03-13 23:04:27 +00:00
Dan Gohman
b72127ac4c
More APInt-ification.
...
llvm-svn: 48344
2008-03-13 22:13:53 +00:00
Owen Anderson
7a69e3aef3
Fix a bug in GVN that Duncan noticed, where we potentially need to insert a
...
pointer bitcast when performing return slot optimization.
llvm-svn: 48343
2008-03-13 22:07:10 +00:00
Tanya Lattner
c21cfe37ec
Fix error in testing for END. notation.
...
Patch by Julien Lerouge. Thanks!
llvm-svn: 48342
2008-03-13 22:02:51 +00:00
Evan Cheng
e21a68bca7
Undo tweak. It had no obvious benefit.
...
llvm-svn: 48341
2008-03-13 17:42:48 +00:00
Devang Patel
af305d2342
Remove unused GetAddressOfSymbol()
...
Thanks Daniel Dunbar!
llvm-svn: 48340
2008-03-13 16:55:34 +00:00
Ted Kremenek
1fdd0a480e
The LiveVariables analysis no longer requires a FunctionDecl&; this allows it
...
to be run on other declarations of blocks of code (e.g., Objective-C methods.)
llvm-svn: 48339
2008-03-13 16:55:07 +00:00
Evan Cheng
442d708bfb
New test case.
...
llvm-svn: 48338
2008-03-13 08:05:02 +00:00
Evan Cheng
57bb088542
Typo.
...
llvm-svn: 48337
2008-03-13 08:04:35 +00:00
Evan Cheng
8f8a8b28e9
Don't try to sink 3-address instruction if convertToThreeAddress created more than one instructions.
...
llvm-svn: 48336
2008-03-13 07:56:58 +00:00
Evan Cheng
ecde45ecb5
A test case I forgot to check in.
...
llvm-svn: 48335
2008-03-13 06:42:46 +00:00
Evan Cheng
21449c76bc
Remove an unused command line option.
...
llvm-svn: 48334
2008-03-13 06:38:28 +00:00
Evan Cheng
5c26bde55e
TwoAddressInstructionPass enhancement. After it converts a two address instruction into a 3-address one, sink it past the instruction that kills the read-mod-write register if its definition is used past the kill. This reduces the number of live register by one.
...
llvm-svn: 48333
2008-03-13 06:37:55 +00:00
Chris Lattner
fdc0748940
handle __extension__ properly at block scope.
...
llvm-svn: 48332
2008-03-13 06:32:11 +00:00
Chris Lattner
b943aa8c6c
instead of passing in null end location info, pass in the same as start.
...
This still isn't right, but is slightly nicer.
llvm-svn: 48331
2008-03-13 06:29:54 +00:00
Chris Lattner
2e23209df1
improve DeclStmt to be able to store SourceRange info correctly.
...
Set the start of DeclStmt range. Right now the end is meaningless
though.
llvm-svn: 48330
2008-03-13 06:29:04 +00:00
Christopher Lamb
dd55d3f1b2
Get rid of a pseudo instruction and replace it with subreg based operation on real instructions, ridding the asm printers of the hack used to do this previously. In the process, update LowerSubregs to be careful about eliminating copies that have side affects.
...
Note: the coalescer will have to be careful about this too, when it starts coalescing insert_subreg nodes.
llvm-svn: 48329
2008-03-13 05:47:01 +00:00
Chris Lattner
02e727ff88
Fix Path::GetMainExecutable on cygwin, patch by Sam Bishop.
...
llvm-svn: 48328
2008-03-13 05:22:05 +00:00
Chris Lattner
4dec91222a
remove extraneous namespace qualifier, PR2142
...
llvm-svn: 48327
2008-03-13 05:17:59 +00:00
Chris Lattner
c994c0295a
move a bunch of trivial methods to be inline.
...
llvm-svn: 48326
2008-03-13 05:00:21 +00:00
Chris Lattner
4d650c4bee
Various improvements suggested by Duncan
...
llvm-svn: 48325
2008-03-13 04:33:03 +00:00
Anders Carlsson
8ec6a6ffe9
Add note about asm constraints.
...
llvm-svn: 48324
2008-03-13 03:45:48 +00:00
Chris Lattner
723f2a1646
Fix an incorrect comment, PR2147.
...
llvm-svn: 48323
2008-03-13 03:29:42 +00:00
Ted Kremenek
b64d183803
Added bandaid support in CFG construction for ObjCForEachStmt and ObjCAtTryStmt:
...
we gracefully back out and return NULL for the CFG, allowing clients to skip
analyzing functions with these CFGs. We will add support later.
Modified base ASTConsumer "CFGVisitor" to detect when a CFG is not constructed
and to emit a warning.
llvm-svn: 48322
2008-03-13 03:04:22 +00:00
Evan Cheng
0ceb8eb150
Improve VarInfo::removeKill() by using std::find instead of linear search.
...
llvm-svn: 48321
2008-03-13 02:42:55 +00:00
Nick Lewycky
7698bfbe16
Update -mem2reg to use succ_iterator instead of iterating across TerminatorInst
...
successors. This makes it support nounwind.
llvm-svn: 48320
2008-03-13 02:42:41 +00:00