Mikhail Glushenkov
1cb041242f
Add a bit of lazy evaluation to PopulateCompilationGraph().
...
Only the tools that are mentioned in the compilation graph definition
are now inserted by PopulateCompilationGraph(). This should cut down
plugin loading time a little.
llvm-svn: 59097
2008-11-12 00:05:17 +00:00
Mikhail Glushenkov
c1e7dbb1f7
Some cosmetic changes.
...
llvm-svn: 59096
2008-11-12 00:04:46 +00:00
Daniel Dunbar
8307290f35
Use createBasicBlock here too.
...
llvm-svn: 59095
2008-11-12 00:02:07 +00:00
Daniel Dunbar
851eec11a7
Disable generation of basic block names in NDEBUG mode.
...
Revert to enabling generation of instruction names when not in NDEBUG
mode.
llvm-svn: 59094
2008-11-12 00:01:12 +00:00
Devang Patel
4f02a0b740
Remove
...
llvm-svn: 59093
2008-11-11 23:58:15 +00:00
Devang Patel
bf0835706c
Undo previous check-in.
...
llvm-svn: 59092
2008-11-11 23:57:33 +00:00
Andrew Lenharth
7d8b884b12
This shouldn't be necessary
...
llvm-svn: 59090
2008-11-11 23:19:51 +00:00
Daniel Dunbar
5c7e3935f1
Rework IRgen invariant w.r.t. current insert point.
...
- EmitStmt is no longer required to finish with a current insertion
point defined (i.e. it does not need to make dummy
blocks). Instead, it can clear the insertion point in the builder
which indicates that the current insertion point is unreachable.
- CodeGenFunction provides HaveInsertPoint and EnsureInsertPoint
which respectively test if there is an insert point and ensure an
insertion point exists (by making a dummy block).
- Clearly mark functions in CodeGenFunction which can be called with
no insertion point defined. Currently this is a limited set, and
EmitStmt simply EnsureInsertPoint()s before emitting subsequent IR.
Remove EmitDummyBlock, which is no longer needed. Clients who haven't
already cleared the insertion point (typically via EmitBranch) can do
so by hand.
Remove isDummyBlock, which has effectively been renamed to
HaveInsertPoint.
The main thrust of this change is that we no longer have create dummy
blocks just to destroy them a short time later in EmitBlock in the
common case that there is no unreachable code following something like
a goto.
Additionally, this means that we are not using the hokey condition in
isDummyBlock that a block without a name is a dummy block. Guess how
well that works when we never emit block names!
llvm-svn: 59089
2008-11-11 23:11:34 +00:00
Evan Cheng
97ccab888a
Fix FMDRR encoding.
...
llvm-svn: 59088
2008-11-11 22:46:12 +00:00
Evan Cheng
ad519bbe54
Handle floating point constpool_entry's.
...
llvm-svn: 59087
2008-11-11 22:19:31 +00:00
Owen Anderson
fd395eb801
Don't walk into predecessors in which the vreg is not live when doing shrinkwrapping.
...
This lets several failing tests get farther along, but doesn't completely fix any of them.
llvm-svn: 59086
2008-11-11 22:11:27 +00:00
Daniel Dunbar
ab197ebb1a
Change EmitBranch to always clear the insert point to clarify irgen
...
invariants.
llvm-svn: 59085
2008-11-11 22:06:59 +00:00
Evan Cheng
8cbbcb1f2f
Encode VFP load / store instructions.
...
llvm-svn: 59084
2008-11-11 21:48:44 +00:00
Dan Gohman
e52e0897e2
In ScheduleDAGRRList::CopyAndMoveSuccessors, create the SUnit for the load
...
before creating the SUnit for the operation that it was unfolded from. This
allows each SUnit to have all of its predecessor SUnits available at the time
it is created. I don't know yet if this will be absolutely required, but it
is a little tidier to do it this way.
llvm-svn: 59083
2008-11-11 21:34:44 +00:00
Dan Gohman
fb78ef9fd3
Avoid relying on the SelectionDAG for initializing the MachineFunction and
...
TargetLoweringInfo variables for the scheduler.
llvm-svn: 59082
2008-11-11 21:31:56 +00:00
Daniel Dunbar
fab3f936dd
Emit debug region end in unified return block.
...
llvm-svn: 59081
2008-11-11 20:59:54 +00:00
Anton Korobeynikov
fdf389b9e4
Codegen support for fastcall & stdcall CC.
...
Patch by Ilya Okonsky!
llvm-svn: 59080
2008-11-11 20:21:14 +00:00
Oscar Fuentes
7ae7d91ee0
CMake: Updated library dependency info used for MSVC++.
...
llvm-svn: 59079
2008-11-11 20:04:40 +00:00
Oscar Fuentes
2353ef3e91
CMake: Updated list of source files for lib/Transforms/Utils.
...
llvm-svn: 59077
2008-11-11 19:51:36 +00:00
Ted Kremenek
7a18858bcf
Flow-sensitive uninitialized values analysis:
...
- Added support for ObjCForCollectionStmt
- Fixed bug where expression values would be always set to uninitialized when loops were involved
llvm-svn: 59076
2008-11-11 19:41:42 +00:00
Ted Kremenek
3b4e1d5cc6
Accesses to a collection within a fast enumeration 'for' statement constitute a 'use'.
...
llvm-svn: 59075
2008-11-11 19:40:47 +00:00
Evan Cheng
38c9a14a88
Encode VFP conversion instructions.
...
llvm-svn: 59074
2008-11-11 19:40:26 +00:00
Ted Kremenek
1d7f2fcda8
Add fine-grain methods for control which bits are set/reset in ExprDeclBitVector.
...
llvm-svn: 59073
2008-11-11 19:39:47 +00:00
Chris Lattner
7db0a21b7b
last validation errors
...
llvm-svn: 59072
2008-11-11 19:36:31 +00:00
Devang Patel
50759f2dad
Remove incomplete lto-bugpoint tool. If there is an interest then we can resurrect this tool later on and finish implementation.
...
llvm-svn: 59071
2008-11-11 19:35:38 +00:00
Chris Lattner
97a5bb1157
fix some validation errors <it> -> <i>
...
llvm-svn: 59070
2008-11-11 19:35:15 +00:00
Chris Lattner
5f04ce98f2
fix some validation errors.
...
llvm-svn: 59069
2008-11-11 19:34:28 +00:00
Devang Patel
6096f26bd4
Add utility pass to remove dbg info.
...
llvm-svn: 59068
2008-11-11 19:33:39 +00:00
Chris Lattner
6ce09d73f0
remove an extraneous tag
...
llvm-svn: 59067
2008-11-11 19:31:26 +00:00
Chris Lattner
d402cc7b6a
Make this document *substantially* better and cover a lot more territory.
...
Document written by Mason Woo (http://www.woo.com )!
llvm-svn: 59066
2008-11-11 19:30:41 +00:00
Devang Patel
38d2c7e0e8
Silence unused variable warning.
...
llvm-svn: 59064
2008-11-11 19:17:41 +00:00
Devang Patel
95b18126ee
Use actual function name in comments.
...
llvm-svn: 59063
2008-11-11 19:16:41 +00:00
Chris Lattner
d53e23328e
Try to not emit the dead side of ?: if the condition is a constant.
...
llvm-svn: 59061
2008-11-11 18:56:45 +00:00
Chris Lattner
c3b41e31fb
"a patch telling cmake to install clang headers in the target
...
install directory"
Patch by Lukasz Janyst!
llvm-svn: 59059
2008-11-11 18:39:10 +00:00
Sebastian Redl
6f28289aca
Introduce a single AST node SizeOfAlignOfExpr for all sizeof and alignof expressions, both of values and types.
...
llvm-svn: 59057
2008-11-11 17:56:53 +00:00
Dan Gohman
5499e89d06
Change the scheduler accessor methods to accept an explicit TargetMachine
...
argument instead of taking the SelectionDAG's TargetMachine. This is
needed for some upcoming scheduler changes.
llvm-svn: 59055
2008-11-11 17:50:47 +00:00
Ted Kremenek
fbd2f4006b
Add transfer function support for ObjCForCollectionStmt to LiveVariables.
...
llvm-svn: 59053
2008-11-11 17:42:10 +00:00
Evan Cheng
2d1937ede5
Add a README entry.
...
llvm-svn: 59052
2008-11-11 17:35:52 +00:00
Oscar Fuentes
93bf988701
CMake: forces rebuild of llvm-config's library dependency info when a
...
library is added or changed.
llvm-svn: 59051
2008-11-11 17:10:58 +00:00
Oscar Fuentes
a08c2905ad
CMake: corrected split of Alpha and Sparc AsmPrinters.
...
llvm-svn: 59050
2008-11-11 17:10:13 +00:00
Ted Kremenek
9d56e64543
Add CFG support for Objective-C 2.0 fast enumeration 'for' statement:
...
http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Articles/chapter_7_section_2.html#//apple_ref/doc/uid/TP30001163-CH18-SW3
Need to modify GRExprEngine, LiveVariables, and UninitializedValues to understand this construct.
llvm-svn: 59049
2008-11-11 17:10:00 +00:00
Oscar Fuentes
90cf22e013
CMake: Removed unnecessary library path setting that was breaking the
...
build on OS X.
Fix by Jjgod Jiang!
llvm-svn: 59048
2008-11-11 16:56:52 +00:00
Anton Korobeynikov
03e084d482
Separate sparc asmprinter. This should unbreak the native build
...
llvm-svn: 59047
2008-11-11 16:42:57 +00:00
Anton Korobeynikov
f4caceb668
Separate alpha asmprinter. This should unbreak native build.
...
llvm-svn: 59046
2008-11-11 16:42:17 +00:00
Dan Gohman
059c4fa8d8
The 32-bit displacement field in an x86 address is signed. Arrange for it
...
to be sign-extended when it is promoted to 64 bits for intermediate
offset calculations. The offset calculations are done as uint64_t so that
overflow conditions are well defined.
This fixes a problem which is currently hidden by the x86 AsmPrinter but
which was exposed by r58917 (which is temporarily reverted). See PR3027
for details.
llvm-svn: 59044
2008-11-11 15:52:29 +00:00
Dan Gohman
3987b17e28
Add svn:ignore properties for srcdir = objdir builds.
...
llvm-svn: 59043
2008-11-11 15:36:42 +00:00
Sebastian Redl
c470476420
Implement C++ 'typeid' parsing and sema.
...
llvm-svn: 59042
2008-11-11 11:37:55 +00:00
Cedric Venet
8cb2e28e43
Update CMakeLists.txt
...
llvm-svn: 59039
2008-11-11 09:55:48 +00:00
Daniel Dunbar
c56e67644f
Add CodeGenFunction::EmitBranch.
...
- Emits an unconditional branch, with extra logic to avoid generating
spurious branches out of dummy blocks.
llvm-svn: 59037
2008-11-11 09:41:28 +00:00
Daniel Dunbar
a0821bf8a2
Fix cmake build, patch from Jjgod Jiang.
...
llvm-svn: 59036
2008-11-11 08:29:24 +00:00