1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
Commit Graph

42401 Commits

Author SHA1 Message Date
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