Daniel Dunbar
83f705ac20
Add coverage tests of C and Obj-C language features.
...
- AST printing, dumping, serialization, codegen.
- HTML printing.
- Parser callbacks.
Several of these are XFAIL because they trigger unimplemented code.
llvm-svn: 57081
2008-10-04 23:47:28 +00:00
Daniel Dunbar
e773d5ff16
Set exit code properly on "Unexpected program action".
...
llvm-svn: 57080
2008-10-04 23:42:49 +00:00
Chris Lattner
2416896b3c
wrap some long lines and expand i32 mul's to libcalls, inspired by a
...
patch by Mikael Lepisto!
llvm-svn: 57077
2008-10-04 21:27:46 +00:00
Oscar Fuentes
b5abd78ab5
CMake: Reflected changes on source file structure. New plugin support
...
for llvmc2 incomplete.
llvm-svn: 57076
2008-10-04 21:18:50 +00:00
Daniel Dunbar
4777ba0102
Desensitize env-include-paths.c to the directory it is running in.
...
- It would probably be better if TestRunner.sh canonicalized this.
llvm-svn: 57075
2008-10-04 21:05:04 +00:00
Daniel Dunbar
fadbdb3062
Set svn:ignore on test/{Driver,Coverage}
...
llvm-svn: 57073
2008-10-04 21:00:40 +00:00
Daniel Dunbar
3ca0a634c2
Bug fix, CPATH="" does not add '.' to search path.
...
llvm-svn: 57072
2008-10-04 20:58:18 +00:00
Daniel Dunbar
23bd6cc156
Add test/Driver.
...
- env-include-paths.c is XFAIL as it exposed a bug.
Add test/Coverage.
- For tests which achieve code coverage but don't validate anything.
llvm-svn: 57070
2008-10-04 20:46:41 +00:00
Daniel Dunbar
fdfb0a0d5e
De-XFAIL test/Parser/pragma-pack.c
...
llvm-svn: 57069
2008-10-04 19:45:56 +00:00
Chris Lattner
464e17ab20
switch to using -verify
...
llvm-svn: 57068
2008-10-04 19:43:25 +00:00
Chris Lattner
cc498392a2
Move the expected-warning lines to a place that clang -verify will pick them
...
up. Speculatularly hacktastic, but strangely beautiful?
Daniel, lines 20/21 are rejected, please investigate.
llvm-svn: 57067
2008-10-04 19:38:15 +00:00
Daniel Dunbar
921b968841
Add Parser support for #pragma pack
...
- Uses Action::ActOnPragmaPack
- Test case is XFAIL pending verifier fixes.
llvm-svn: 57066
2008-10-04 19:21:03 +00:00
Daniel Dunbar
405965323d
Add Preprocessor::RemovePragmaHandler.
...
- No functionality change.
llvm-svn: 57065
2008-10-04 19:17:46 +00:00
Dan Gohman
cc3132e5ed
Update the documentation for first-class aggregates changes,
...
and remove getresult and references thereto.
llvm-svn: 57064
2008-10-04 19:00:07 +00:00
Steve Naroff
4017d15fed
Add indirection required for byref BlockDeclRefExpr's.
...
llvm-svn: 57063
2008-10-04 18:52:47 +00:00
Chris Lattner
d552826d6e
add a note about inline asm
...
llvm-svn: 57062
2008-10-04 18:36:02 +00:00
Chris Lattner
d2597d71d4
improve description of param/ret attrs
...
llvm-svn: 57061
2008-10-04 18:33:34 +00:00
Chris Lattner
fbf60a4f72
improve descriptions of function attrs
...
llvm-svn: 57060
2008-10-04 18:23:17 +00:00
Chris Lattner
cbc4d2a164
notes are gone.
...
llvm-svn: 57059
2008-10-04 18:10:21 +00:00
Chris Lattner
780a2ecd4f
comment cleanups
...
llvm-svn: 57058
2008-10-04 18:08:00 +00:00
Chris Lattner
7e438ede4d
Make GenLibDeps.pl more robust in the face of broken piping problems.
...
Patch by Kenneth Boyd!
llvm-svn: 57057
2008-10-04 18:03:46 +00:00
Steve Naroff
564e97a2de
Handle bookkeeping for imported blocks (in SynthesizeBlockImpl).
...
This code was "lost" with my recent changes to SynthesizeBlockFunc.
llvm-svn: 57056
2008-10-04 18:00:11 +00:00
Ted Kremenek
c23dcdbb7f
Add MemRegion.cpp to VS project.
...
llvm-svn: 57055
2008-10-04 17:55:52 +00:00
Steve Naroff
87b9d298b8
Cut/paste error...need to use the expression "name" for member references (or other complex expressions that can embed a block pointer type)
...
llvm-svn: 57054
2008-10-04 17:45:51 +00:00
Steve Naroff
756efbc7f7
Clear the map that associated the rewritten block with it's corresponding BlockExpr.
...
llvm-svn: 57053
2008-10-04 17:10:02 +00:00
Steve Naroff
5f96e4dffc
Moved main control flow functions to bottom of file.
...
Reworked control flow to:
- rewrite the block expr body "in place".
- used Chris's new rewriter hook "getRewritenText" to "lift" the text for later use.
- finally, we do the block expr text replacement.
llvm-svn: 57052
2008-10-04 17:06:23 +00:00
Duncan Sands
1d35e9aebe
Ignore loads from and stores to local memory (i.e. allocas)
...
when deciding whether to mark a function readnone/readonly.
Since the pass is currently run before SROA, this may be
quite helpful. Requested by Chris on IRC.
llvm-svn: 57050
2008-10-04 13:24:24 +00:00
Nick Lewycky
fc9bc3cf23
Allow the construction of SCEVs with SCEVCouldNotCompute operands, by
...
implementing folding. Fixes PR2857.
llvm-svn: 57049
2008-10-04 11:19:07 +00:00
Anton Korobeynikov
b52ef06c8c
Revert r56675 - it breaks unwinding runtime everywhere.
...
llvm-svn: 57048
2008-10-04 11:09:36 +00:00
Argyrios Kyrtzidis
a6f9bb7905
Add implementations for sys::Memory::setWritable and sys::Memory::setExecutable on Win32 platform.
...
llvm-svn: 57047
2008-10-04 08:15:32 +00:00
Argyrios Kyrtzidis
68fec886ed
Fix compilation error on MSVC.
...
llvm-svn: 57046
2008-10-04 08:11:49 +00:00
Ted Kremenek
d1036be0ef
Updated checker build.
...
llvm-svn: 57045
2008-10-04 06:53:56 +00:00
Ted Kremenek
5ca90a244f
This is a big patch, but the functionality change is small and the rest of the patch consists of deltas due to API changes.
...
This patch overhauls the "memory region" abstraction that was prototyped (but never really used) as part of the Store.h. This patch adds MemRegion.h and MemRegion.cpp, which defines the class MemRegion and its subclasses. This classes serve to define an abstract representation of memory, with regions being layered on other regions to to capture the relationships between fields and variables, variables and the address space they are allocated in, and so on.
The main motivation of this patch is that key parts of the analyzer assumed that all value bindings were to VarDecls. In the future this won't be the case, and this patch removes lval::DeclVal and replaces it with lval::MemRegionVal. Now all pieces of the analyzer must reason about abstract memory blocks instead of just variables.
There should be no functionality change from this patch, but it opens the door for significant improvements to the analyzer such as field-sensitivity and object-sensitivity, both which were on hold until the memory abstraction got generalized.
The memory region abstraction also allows type-information to literally be affixed to a memory region. This will allow the some now redundant logic to be removed from the retain/release checker.
llvm-svn: 57042
2008-10-04 05:50:14 +00:00
Zhongxing Xu
8d1928a4ca
Reverse the RHSBlock of LogicalOp && and ||
...
llvm-svn: 57041
2008-10-04 05:48:38 +00:00
Dan Gohman
13b048268b
Fix fast-isel's handling of atomic instructions. They may
...
expand to multiple basic blocks, in which case fast-isel
needs to informed of which block to use as it resumes
inserting instructions.
llvm-svn: 57040
2008-10-04 00:56:36 +00:00
Dan Gohman
78bb44fcd4
Fix a bug in the local allocator's liveness computation where it
...
was setting kill flags on tied uses in two-address instructions.
The kill flags were causing the allocator to think it could
allocate the use and its tied def in different registers.
llvm-svn: 57039
2008-10-04 00:31:14 +00:00
Chris Lattner
879876d26a
add a disclaimer
...
llvm-svn: 57038
2008-10-03 23:31:37 +00:00
Chris Lattner
7c306a70b9
add a new Rewriter::getRewritenText method that returns the text for a range
...
that includes any edits in the range.
llvm-svn: 57037
2008-10-03 23:31:16 +00:00
Steve Naroff
3d5a11c622
Remove an old/vacuous if clause.
...
llvm-svn: 57036
2008-10-03 23:00:50 +00:00
Dale Johannesen
8c36a1c09c
Make atomic Swap work, 64-bit on x86-32.
...
Make it all work in non-pic mode.
llvm-svn: 57034
2008-10-03 22:25:52 +00:00
Dan Gohman
e21903987f
Clean up some multiple-return-value code that is no longer
...
applicable.
llvm-svn: 57033
2008-10-03 22:21:24 +00:00
Daniel Dunbar
b9e03a65cd
Change PointerType::get -> getUnqual
...
llvm-svn: 57032
2008-10-03 22:17:25 +00:00
Mikhail Glushenkov
8517dfad9d
Rename llvmc2/core to llvmc2/driver.
...
Makefiles try to remove 'core' by default, so it wasn't a very good name.
llvm-svn: 57031
2008-10-03 21:26:27 +00:00
Daniel Dunbar
4b928f6550
Another dependency fix, prevent ObjDir from having trailing slash.
...
- It turns out this is enough to completely break dependency file
(.d) usage (at least for my gmake).
llvm-svn: 57030
2008-10-03 21:24:52 +00:00
Devang Patel
e4924e1026
Fix function attribute verification check.
...
Thanks Duncan!
llvm-svn: 57029
2008-10-03 21:11:02 +00:00
Steve Naroff
e3e45a8c43
More fun & games with the block rewriter.
...
llvm-svn: 57028
2008-10-03 20:28:15 +00:00
Dale Johannesen
5d60c1ebb1
Pass MemOperand through for 64-bit atomics on 32-bit,
...
incidentally making the case where the memop is a
pointer deref work. Fix cmp-and-swap regression.
llvm-svn: 57027
2008-10-03 19:41:08 +00:00
Daniel Dunbar
78caa02ef4
Add IS_CLEANING_TARGET Makefile variable.
...
- Fixes bug in dependency inclusions where make with unspecified
target wouldn't include dependency files, eek!
llvm-svn: 57026
2008-10-03 19:11:19 +00:00
Devang Patel
f963403b58
Nick Lewycky's patch.
...
While hosting instruction check PHI node.
llvm-svn: 57025
2008-10-03 18:57:37 +00:00
Nuno Lopes
251e16cc41
update svn:ignore
...
llvm-svn: 57024
2008-10-03 18:13:54 +00:00