Scott Michel
b5f73899a2
CellSPU: Ensure that C strings are always put in the .rodata section
...
llvm-svn: 58839
2008-11-07 11:06:44 +00:00
Richard Osborne
acc7a27e24
Add XCore backend.
...
llvm-svn: 58838
2008-11-07 10:59:00 +00:00
Evan Cheng
21df9f3b4f
Jump table JIT support. Work in progress.
...
llvm-svn: 58836
2008-11-07 09:06:08 +00:00
Evan Cheng
6e23b1e651
Jump tables may be emitted by target.
...
llvm-svn: 58835
2008-11-07 09:02:17 +00:00
Evan Cheng
7f68765615
Jump table relocation addresses may be resolved by target.
...
llvm-svn: 58834
2008-11-07 09:01:15 +00:00
Scott Michel
828731190c
Teach CellSPU about ELF sections and new section emitter classes.
...
NB: This is likely to need more work.
llvm-svn: 58832
2008-11-07 04:36:25 +00:00
Bill Wendling
a5eb92b137
BCUI + 1 doesn't work. Use next instead.
...
llvm-svn: 58830
2008-11-07 01:59:41 +00:00
Bill Wendling
dea20bc52f
Refactor code that adjusts the offsets of stack objects.
...
llvm-svn: 58829
2008-11-07 01:48:58 +00:00
Evan Cheng
88726d85eb
Encode misc arithmetic instructions.
...
llvm-svn: 58828
2008-11-07 01:41:35 +00:00
Dale Johannesen
64f40545b3
Testcase for testb optimization.
...
llvm-svn: 58827
2008-11-07 01:30:18 +00:00
Devang Patel
0958cd6437
Handle (delete) dbg intrinsics while promoting alloca.
...
llvm-svn: 58826
2008-11-07 01:30:07 +00:00
Dale Johannesen
89da8440e1
When we're doing a compare of load-AND-constant to 0
...
(e.g. a bitfield test) narrow the load as much as possible.
The has the potential to avoid unnecessary partial-word
load-after-store conflicts, which cause stalls on several targets.
Also a size win on x86 (testb vs testl).
llvm-svn: 58825
2008-11-07 01:28:02 +00:00
Bill Wendling
3fe9fef0da
- Modify the stack protector algorithm so that the stack slot is allocated in
...
LLVM IR code and not in the selection DAG ISel. This is a cleaner solution.
- Fix the heuristic for determining if protectors are necessary. The previous
one wasn't checking the proper type size.
llvm-svn: 58824
2008-11-07 01:23:58 +00:00
Bill Wendling
54a5c87823
Remove unneeded header file.
...
llvm-svn: 58823
2008-11-06 23:56:59 +00:00
Bill Wendling
70e06738b4
Don't build a vector of returns. Just modify the Function in the loop.
...
llvm-svn: 58822
2008-11-06 23:55:49 +00:00
Mon P Wang
888f4e6fb0
Fixed scalarizing an extract subvector and prevent an infinite loop
...
when simplify a vector.
llvm-svn: 58820
2008-11-06 22:52:21 +00:00
Bill Wendling
1e6576e1e0
The size limit is for individual arrays. So if any array has more than 8 bytes
...
in it, then emit stack protectors.
llvm-svn: 58819
2008-11-06 22:18:44 +00:00
Evan Cheng
3bcb71912f
Encode extend instructions; more clean up.
...
llvm-svn: 58818
2008-11-06 22:15:19 +00:00
Dan Gohman
1130e8c23f
Fix a use of an invalid iterator when -debug-pass=Details is used.
...
llvm-svn: 58816
2008-11-06 21:57:17 +00:00
Bill Wendling
26eadae94d
Don't recalculate the stack position of the stack protector.
...
llvm-svn: 58815
2008-11-06 21:37:09 +00:00
Devang Patel
8640fd500a
Emit label for llvm.dbg.func.start of the inlined function.
...
llvm-svn: 58814
2008-11-06 21:28:20 +00:00
Devang Patel
5d5357aa3b
Clarify documentation. A module pass MP can require a function paqss FP only if FP does not require any module pass.
...
llvm-svn: 58813
2008-11-06 19:47:49 +00:00
Evan Cheng
af54e4ed18
- Improve naming consistency: Branch -> BrFrm, BranchMisc -> BrMiscFrm.
...
- Consolidate instruction formats.
- Other clean up.
llvm-svn: 58808
2008-11-06 17:48:05 +00:00
Evan Cheng
1ea366a419
Improve JIT debugging outputs format consistency.
...
llvm-svn: 58807
2008-11-06 17:46:04 +00:00
Nuno Lopes
e5fb2e4d84
plug leakage of mutex data. pthread_mutex_destroy() doesnt free our malloc'ed memory.
...
llvm-svn: 58805
2008-11-06 16:21:49 +00:00
Duncan Sands
50acaf2367
Formating/comment changes - no functionality change.
...
llvm-svn: 58801
2008-11-06 08:51:32 +00:00
Evan Cheng
aa24d19533
Remove opcode from instruction TS flags; add MOVCC support; fix addrmode3 encoding bug.
...
llvm-svn: 58800
2008-11-06 08:47:38 +00:00
Bill Wendling
b6e2d60e7a
- Rename stackprotector_{prologue,epilogue} to stackprotector_{create,check}.
...
- Get rid of "HasStackProtector" in MachineFrameInfo.
- Modify intrinsics to tell which are doing what with memory.
llvm-svn: 58799
2008-11-06 07:23:03 +00:00
Steve Naroff
dafb062ef6
Update VC++ projects.
...
llvm-svn: 58798
2008-11-06 06:24:59 +00:00
Mon P Wang
41f90a3ee5
Widening cleanup
...
llvm-svn: 58796
2008-11-06 05:31:54 +00:00
Evan Cheng
078361bddc
Handle smul<x><y>, smulw<y>, smla<x><y>, smlaw<y>.
...
llvm-svn: 58793
2008-11-06 03:35:07 +00:00
Bill Wendling
489791a127
Adjust the stack protector heuristic to care about only arrays or calls to
...
"alloca".
llvm-svn: 58792
2008-11-06 02:38:58 +00:00
Bill Wendling
08905ed703
Implement the stack protector stack accesses via intrinsics:
...
- stackprotector_prologue creates a stack object and stores the guard there.
- stackprotector_epilogue reads the stack guard from the stack position created
by stackprotector_prologue.
- The PrologEpilogInserter was changed to make sure that the stack guard is
first on the stack frame.
llvm-svn: 58791
2008-11-06 02:29:10 +00:00
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