Chris Lattner
889a6217fa
add jump tables, constant pools and some trivial global
...
lowering stuff. We can now compile hello world to:
_main:
stm ,
mov r7, sp
sub sp, sp, #4
mov r0, #0
str r0,
ldr r0,
bl _printf
ldr r0,
mov sp, r7
ldm ,
Almost looks like arm code :)
llvm-svn: 84542
2009-10-19 21:53:00 +00:00
Victor Hernandez
5c704d505c
Malloc calls are marked NoAlias, so the code below the isMalloc() check makes it redundant. Removing the isMalloc() check.
...
llvm-svn: 84541
2009-10-19 21:47:22 +00:00
Chris Lattner
e3796a0fee
pass mangler in as a reference instead of a pointer.
...
llvm-svn: 84540
2009-10-19 21:45:31 +00:00
Ted Kremenek
428c637ada
The constructor for ASTUnit now takes a DiagnosticClient*, allowing uses of ASTUnit to specify
...
alternate DiagnosticClients. To match this API, ASTUnit::LoadFromPCHFile() now takes a corresponding
DiagnosticClient* argument as well. The DiagnosticClient object is destroyed when the ASTUnit object
is destroyed.
The CIndex library now uses this API to create a 'IgnoreDiagnosticsClient' that simply silences
diagnostics when using the clang_createTranslationUnitFromSourceFile() function. This fixes
<rdar://problem/7312058>. This API can change in the future as we add more flexibility for clients.
llvm-svn: 84539
2009-10-19 21:44:57 +00:00
Fariborz Jahanian
b9e8c42ee6
Add the built-in candidate set reduction hueristic
...
to '+=', '-=', '*=' and '/=' builtin operators and
fixes a logic bug exposed by doing this.
llvm-svn: 84538
2009-10-19 21:30:45 +00:00
Mikhail Glushenkov
9abd706881
More refactoring...
...
llvm-svn: 84537
2009-10-19 21:24:28 +00:00
Chris Lattner
8bd9b9d3fa
reduce #includes
...
llvm-svn: 84536
2009-10-19 21:23:15 +00:00
Chris Lattner
89d47205b5
add printing support for SOImm operands, getting us to:
...
_main:
stm ,
mov r7, sp
sub sp, sp, #4
mov r0, #0
str r0,
llvm-svn: 84535
2009-10-19 21:21:39 +00:00
Ted Kremenek
9dd89ba393
Re-order includes so that the logic involving '#ifdef LLVM_ON_WIN32' appears after the main #includes. The ultimate solution is to just use LLVM-portable methods in llvm/System.
...
llvm-svn: 84534
2009-10-19 21:17:25 +00:00
Owen Anderson
1059b5b32d
Simplify some code.
...
llvm-svn: 84533
2009-10-19 21:14:57 +00:00
Chris Lattner
93e3ef6536
wire up some basic printOperand goodness, giving us stuff like this before
...
we abort:
_main:
stm ,
mov r7, sp
sub sp, sp,
mov r0,
str r0,
llvm-svn: 84532
2009-10-19 20:59:55 +00:00
Chris Lattner
78393d79a0
add the files that go with the previous rev
...
llvm-svn: 84531
2009-10-19 20:21:05 +00:00
Chris Lattner
71eb077c15
wire up skeletal support for having llc print instructions
...
through mcinst lowering -> mcinstprinter, when llc is passed
the -enable-arm-mcinst-printer flag. Currently this
is very "aborty".
llvm-svn: 84530
2009-10-19 20:20:46 +00:00
Owen Anderson
5dab84ca9c
Banish ConstantsLock. It's serving no purpose other than slowing things down
...
at the moment.
llvm-svn: 84529
2009-10-19 20:11:52 +00:00
Chris Lattner
296544e15f
wire up ARM's printMCInst method. Now llvm-mc should be able to produce
...
"something" when printing MCInsts, it will just be missing all the
operand info.
llvm-svn: 84528
2009-10-19 19:59:05 +00:00
Chris Lattner
a290778859
stub out a minimal ARMInstPrinter.
...
llvm-svn: 84527
2009-10-19 19:56:26 +00:00
Chris Lattner
5db7b6a5d4
remove strings from instructions who are never asmprinted.
...
All of these "subreg32" modifier instructions are handled
explicitly by the MCInst lowering phase. If they got to
the asmprinter, they would explode. They should eventually
be replace with correct use of subregs.
llvm-svn: 84526
2009-10-19 19:51:42 +00:00
Fariborz Jahanian
996a6aa3f1
Copy conversion of an expression to its base class
...
is a standard convesion and not a user-defined
conversion.
llvm-svn: 84525
2009-10-19 19:18:20 +00:00
Jeffrey Yasskin
7d2edada7f
Clean up the JITResolver stub/callsite<->function maps.
...
The JITResolver maps Functions to their canonical stubs and all callsites for
lazily-compiled functions to their target Functions. To make Function
destruction work, I'm going to need to remove all callsites on destruction, so
this patch also adds the reverse mapping for that.
There was an incorrect assumption in here that the only stub for a function
would be the one caused by needing to lazily compile it, while x86-64 far calls
and dlsym-stubs could also cause such stubs, but I didn't look for a test case
that the assumption broke.
This also adds DenseMapInfo<AssertingVH> so I can use DenseMaps instead of
std::maps.
llvm-svn: 84522
2009-10-19 18:49:59 +00:00
Chris Lattner
8d2e3a28d6
simplify code, reducing string thrashing.
...
llvm-svn: 84521
2009-10-19 18:49:14 +00:00
Chris Lattner
3334deb19b
switch hidden gv stubs to use MachineModuleInfoMachO instead of a custom map.
...
llvm-svn: 84520
2009-10-19 18:44:38 +00:00
Chris Lattner
6462adcd20
use MachineModuleInfoMachO for non-lazy gv stubs instead of a private map.
...
llvm-svn: 84519
2009-10-19 18:38:33 +00:00
Anders Carlsson
0999aafda5
Handle emitting the assignment operator when the lhs is a reference. Fixes PR5227.
...
llvm-svn: 84518
2009-10-19 18:28:22 +00:00
Chris Lattner
0ed889521b
convert to filecheck syntax and make a lot more aggressive.
...
llvm-svn: 84517
2009-10-19 18:27:56 +00:00
Anton Korobeynikov
8383c3d7f3
Revert r84295, this unbreaks llvm-gcc bootstrap on x86-64/linux
...
llvm-svn: 84516
2009-10-19 18:21:09 +00:00
Chris Lattner
7ea0c35ba0
rename test
...
llvm-svn: 84515
2009-10-19 18:18:07 +00:00
Anders Carlsson
027732b5b9
Set the cast kind to CK_NoOp for C-style casts that are really const casts. Fixes PR5248.
...
llvm-svn: 84514
2009-10-19 18:14:28 +00:00
Chris Lattner
24fcb826bd
remove dead map
...
llvm-svn: 84513
2009-10-19 18:11:25 +00:00
Chris Lattner
84a493ca21
don't bother trying to avoid emitting redundant constant pool alignment directives.
...
llvm-svn: 84512
2009-10-19 18:08:02 +00:00
Chris Lattner
66ebfab3ab
remove accidental comment.
...
llvm-svn: 84510
2009-10-19 18:03:41 +00:00
Chris Lattner
e6da1826e8
emit .subsections_via_symbols through MCStreamer instead of textually.
...
llvm-svn: 84509
2009-10-19 18:03:08 +00:00
Chris Lattner
ee9399acaa
cleanup doFinalization -> EmitEndOfAsmFile.
...
llvm-svn: 84508
2009-10-19 17:59:19 +00:00
Stuart Hastings
a19596bf64
Tweak top-level Makefile to facilitate Apple-style build.
...
llvm-svn: 84507
2009-10-19 17:53:54 +00:00
Nate Begeman
5ca7b345b9
PR 5245 - The imediate size target flag was not set on 3A-prefixed SSSE3 instructions.
...
llvm-svn: 84506
2009-10-19 17:31:16 +00:00
Dan Gohman
8f986672a1
Fix SplitBlockPredecessors' LoopInfo updating code to handle the case
...
where a loop's header is being split and it has predecessors which are not
contained by the most-nested loop which contains the loop.
This fixes PR5235.
llvm-svn: 84505
2009-10-19 16:04:50 +00:00
Dan Gohman
b0db9917af
Fix a typo in a comment.
...
llvm-svn: 84504
2009-10-19 14:56:05 +00:00
Dan Gohman
20a327b31f
Change a few instance variables to be local variables.
...
llvm-svn: 84503
2009-10-19 14:52:05 +00:00
Dan Gohman
511d2e26dd
Change instnamer to name arguments "arg" instead of "tmp" for clarity, and
...
to name basic blocks "bb" instead of "BB", for consistency.
llvm-svn: 84502
2009-10-19 14:47:32 +00:00
Steve Naroff
505fb84ed9
Move Diagnostic/DiagClient/FileManager from Indexer => ASTUnit.
...
Removing this shared data should enable clang_createTranslationUnit/clang_createTranslationUnitFromSourceFile to be run from multiple threads (related to <rdar://problem/7303432>).
llvm-svn: 84499
2009-10-19 14:34:22 +00:00
Steve Naroff
2f78a6f368
Change indenting for case/compound statements to conform to the rest of clang.
...
llvm-svn: 84498
2009-10-19 13:41:39 +00:00
Daniel Dunbar
1c20540ca5
NNT: Add -parallel-test option, which runs llvm-test with
...
ENABLE_PARALLEL_REPORT.
llvm-svn: 84497
2009-10-19 13:20:56 +00:00
Daniel Dunbar
74e154d5d1
NNT: Don't hard code -l3.0 argument to make, this is very server dependent. Users who care can use -compileflags for this.
...
Also, fix make clean call and a few other tweaks.
llvm-svn: 84496
2009-10-19 13:20:50 +00:00
Daniel Dunbar
714457f2b1
NNT: Fix refactoro, I dropped the list of all (llvm-test) tests. I'm sure it was named dejagnu_test_list for a good reason.
...
llvm-svn: 84495
2009-10-19 13:20:44 +00:00
Daniel Dunbar
4ca4a76a39
NNT: Lift conditional logic out of test steps.
...
llvm-svn: 84494
2009-10-19 13:20:38 +00:00
Daniel Dunbar
1f0bfb335c
NNT: Now that build & test steps are factored out, coalesce all the logic together.
...
llvm-svn: 84493
2009-10-19 13:20:31 +00:00
Daniel Dunbar
4e8afa9096
NNT: Sink code for running nightly test into subroutine.
...
llvm-svn: 84492
2009-10-19 13:20:25 +00:00
Daniel Dunbar
b9d15d60b1
NNT: Tweaks and simplifications.
...
- Split out configure log.
- Kill off GetRegexNum.
- Fix GetRegex to not return previous match on failure.
- Remove dead code.
llvm-svn: 84491
2009-10-19 13:20:19 +00:00
Daniel Dunbar
8fd172e0eb
NNT: Move build code into subroutine.
...
llvm-svn: 84490
2009-10-19 13:20:13 +00:00
Daniel Dunbar
98d5036183
NNT: Move source checkout code into subroutine.
...
llvm-svn: 84489
2009-10-19 13:20:06 +00:00
Daniel Dunbar
47d021bc25
NNT: Remove .{o,a} size info, this is better tracked elsewhere.
...
llvm-svn: 84488
2009-10-19 13:20:00 +00:00