Evan Cheng
058721d10b
Fix so_imm encoding bug; add support for MOVi2pieces.
...
llvm-svn: 58790
2008-11-06 02:25:39 +00:00
Evan Cheng
ca6759021b
Fix encoding of multiple instructions with 3 src operands; also handle smmul, smmla, and smmls.
...
llvm-svn: 58789
2008-11-06 01:21:28 +00:00
Evan Cheng
3e727721d0
Need a \n.
...
llvm-svn: 58788
2008-11-06 01:18:29 +00:00
Devang Patel
cea9dfa11f
InstructionNamer preserves everything.
...
llvm-svn: 58787
2008-11-06 01:00:16 +00:00
Devang Patel
ec135e1f33
Emit label for llvm.dbg.func.start of the inlined function.
...
llvm-svn: 58786
2008-11-06 00:30:09 +00:00
Steve Naroff
7d317e0593
Add post-build event for clangDriver (to copy clang.exe into "dstroot").
...
llvm-svn: 58783
2008-11-06 00:11:31 +00:00
Evan Cheng
7390b46342
Undo 58778 but makes the binary dump prettier.
...
llvm-svn: 58782
2008-11-05 23:44:08 +00:00
Bill Wendling
538cbf1e09
Add comments to function.
...
llvm-svn: 58781
2008-11-05 23:42:27 +00:00
Evan Cheng
ce97712aa6
Encode pic load / store instructions; fix some encoding bugs.
...
llvm-svn: 58780
2008-11-05 23:22:34 +00:00
Evan Cheng
c0a36d4aef
Add command line option -entry-funcion to override entry function (default is main).
...
llvm-svn: 58779
2008-11-05 23:21:52 +00:00
Evan Cheng
575f3150cf
Remove debug output that's not really useful.
...
llvm-svn: 58778
2008-11-05 23:21:11 +00:00
Dan Gohman
aeaf83cfb8
Make ISel ignore dead nodes. The DAGCombiner normally eliminates
...
dead nodes, but in this case its missing one. Fixing the DAGCombiner
is desirable, but it's somewhat involved.
llvm-svn: 58777
2008-11-05 22:56:47 +00:00
Andrew Lenharth
81ebe77943
opt was not exporting the Mangler symbols
...
llvm-svn: 58775
2008-11-05 22:42:50 +00:00
Devang Patel
9600e3e1b2
Add PR number.
...
llvm-svn: 58765
2008-11-05 18:41:15 +00:00
Evan Cheng
9970c31dcf
Restructure ARM code emitter to use instruction formats instead of addressing modes to determine how to encode instructions.
...
llvm-svn: 58764
2008-11-05 18:35:52 +00:00
Dan Gohman
022c4b719c
Use an assert to check that SelectCode isn't called on
...
nodes that are already selected.
llvm-svn: 58763
2008-11-05 18:30:52 +00:00
Dan Gohman
cd2c7f16c0
The HadDelete field is no longer used.
...
llvm-svn: 58761
2008-11-05 17:35:14 +00:00
Dan Gohman
1db84e57c5
Reintroduce a comment that was removed with the AddToISelQueue
...
changes.
llvm-svn: 58760
2008-11-05 17:16:24 +00:00
Dan Gohman
d308ef44f6
Update some comments to reflect the new code.
...
llvm-svn: 58759
2008-11-05 17:13:57 +00:00
Richard Osborne
efd7edc731
Test commit, add Makefile for XCore target, more to follow.
...
llvm-svn: 58755
2008-11-05 09:53:58 +00:00
Duncan Sands
f56e2fb5c2
Fix thinko in ppcf128 expansion of truncating store.
...
llvm-svn: 58753
2008-11-05 07:17:27 +00:00
Evan Cheng
1378d6c7a9
Add more vector move low and zero-extend patterns.
...
llvm-svn: 58752
2008-11-05 06:04:51 +00:00
Evan Cheng
1bde698192
Type of shuffle mask has changed.
...
llvm-svn: 58751
2008-11-05 06:04:18 +00:00
Evan Cheng
fdd6d65e39
Indentation.
...
llvm-svn: 58750
2008-11-05 06:03:38 +00:00
Dan Gohman
cd4b68bee9
Eliminate the ISel priority queue, which used the topological order for a
...
priority function. Instead, just iterate over the AllNodes list, which is
already in topological order. This eliminates a fair amount of bookkeeping,
and speeds up the isel phase by about 15% on many testcases.
The impact on most targets is that AddToISelQueue calls can be simply removed.
In the x86 target, there are two additional notable changes.
The rule-bending AND+SHIFT optimization in MatchAddress that creates new
pre-isel nodes during isel is now a little more verbose, but more robust.
Instead of either creating an invalid DAG or creating an invalid topological
sort, as it has historically done, it can now just insert the new nodes into
the node list at a position where they will be consistent with the topological
ordering.
Also, the address-matching code has logic that checked to see if a node was
"already selected". However, when a node is selected, it has all its uses
taken away via ReplaceAllUsesWith or equivalent, so it won't recieve any
further visits from MatchAddress. This code is now removed.
llvm-svn: 58748
2008-11-05 04:14:16 +00:00
Dan Gohman
215587186e
Use getTargetConstant instead of getConstant for nodes that should not be visited
...
by isel and potentially forced into registers.
llvm-svn: 58747
2008-11-05 02:06:09 +00:00
Evan Cheng
2702e22b83
Rename isGVLazyPtr to isGVNonLazyPtr relocation. This represents Mac OS X
...
indirect gv reference. Please don't call it lazy.
llvm-svn: 58746
2008-11-05 01:50:32 +00:00
Devang Patel
5ca10e5295
New test case.
...
llvm-svn: 58745
2008-11-05 01:40:30 +00:00
Devang Patel
de9b95965a
Do now allow InlineAlways pass to remove dead functions.
...
llvm-svn: 58744
2008-11-05 01:39:16 +00:00
Devang Patel
b55a78e553
Silence unused variable warnings.
...
llvm-svn: 58743
2008-11-05 01:37:40 +00:00
Devang Patel
bc6ef4c191
Check Attribute::NoInline.
...
llvm-svn: 58742
2008-11-05 01:37:05 +00:00
Bill Wendling
986e386794
Remove dead variable.
...
llvm-svn: 58741
2008-11-05 00:56:35 +00:00
Bill Wendling
8c86d20576
Simplify the allocated size calculation.
...
llvm-svn: 58740
2008-11-05 00:54:27 +00:00
Bill Wendling
2461aaa183
Fix comment
...
llvm-svn: 58739
2008-11-05 00:46:15 +00:00
Owen Anderson
df29b0d7b2
Use the new predicate to control when we do prealloc splitting. Fix a small bug.
...
llvm-svn: 58738
2008-11-05 00:32:13 +00:00
Evan Cheng
8a5c3c5cc3
Debugging output tweak.
...
llvm-svn: 58737
2008-11-05 00:22:28 +00:00
Oscar Fuentes
afb65a6c2a
CMake: updated list of source files.
...
llvm-svn: 58736
2008-11-05 00:11:22 +00:00
Bill Wendling
e73f31f526
Some code simplification. It now doesn't generate a prologue if the epilogue
...
isn't going to be generated.
llvm-svn: 58734
2008-11-05 00:00:21 +00:00
Dan Gohman
c162a200ad
Add a new pass to simplify specific half_powr function calls. This is
...
a specialized pass that it not likely to be generally useful.
llvm-svn: 58732
2008-11-04 23:41:45 +00:00
Devang Patel
bc0cbd20b0
On darwin, 32-bit x86 target is i386-apple-darwin...
...
llvm-svn: 58731
2008-11-04 23:13:50 +00:00
Nuno Lopes
a5d766c285
fix memory leak in pass manager when adding an analysis pass that already existed. as pass manager takes ownership of the added passes, it has to delete the pass if it isnt added to the pass list
...
tweak the opt tool so that it doesnt access a Pass after the ownership was taken by the pass manager
llvm-svn: 58730
2008-11-04 23:03:58 +00:00
Anton Korobeynikov
169173000f
Fix tests not to emit IR output
...
llvm-svn: 58729
2008-11-04 23:02:39 +00:00
Bill Wendling
214f515922
Small simplification of the stack guard type.
...
llvm-svn: 58728
2008-11-04 22:54:43 +00:00
Bill Wendling
79a8798e07
- Add a "getOrInsertGlobal" method to the Module class. This acts similarly to
...
"getOrInsertFunction" in that it either adds a new declaration of the global
and returns it, or returns the current one -- optionally casting it to the
correct type.
- Use the new getOrInsertGlobal in the stack protector code.
- Use "splitBasicBlock" in the stack protector code.
llvm-svn: 58727
2008-11-04 22:51:24 +00:00
Owen Anderson
2ed3bc9016
First pass at checking for the creation of a new join point when doing pre-alloc splitting. This is not turned on yet.
...
llvm-svn: 58726
2008-11-04 22:22:41 +00:00
Evan Cheng
59112bc108
Actually ARM / Mac OS X does have UINTTOFP_I64_F{64|32} libcalls.
...
llvm-svn: 58725
2008-11-04 22:19:55 +00:00
Bill Wendling
ae168b2c83
Update in response to feedback from Chris:
...
- Use enums instead of magic numbers.
- Rework algorithm to use the bytes size from the target to determine when to
emit stack protectors.
- Get rid of "propolice" in any comments.
- Renamed an option to its expanded form.
- Other miscellanenous changes.
More changes will come after this.
llvm-svn: 58723
2008-11-04 21:53:09 +00:00
Gabor Greif
efaf754a8c
fix two validation errors
...
llvm-svn: 58722
2008-11-04 21:50:59 +00:00
Gabor Greif
bb2aa36f81
fix typos, harmonize formatting
...
llvm-svn: 58721
2008-11-04 21:48:10 +00:00
Tanya Lattner
2c01b34040
Revert 58687. This breaks mingw.
...
llvm-svn: 58719
2008-11-04 21:06:11 +00:00