| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
test to fail.
These are:
r149348
r149351
r149352
r149354
r149356
r149357
r149361
r149362
r149364
r149365
llvm-svn: 149470
|
|
|
|
|
|
| |
methods and constant fold the clients to false.
llvm-svn: 149362
|
|
|
|
|
|
| |
CodeGen/X86/global-sections.ll to fail with CDArray
llvm-svn: 149343
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vectors of all one bits to be printed more cleverly in the AsmPrinter.
Unfortunately, the byte value for all one bits is the same with
-fsigned-char as the error return of '-1'. Force this to be the unsigned
byte value when returning it to avoid this problem, and update the test
case for the shiny new behavior.
Yay for building LLVM and Clang with -funsigned-char.
Chris, please review, and let me know if there is any reason to not
desire this change. It seems good on the surface, and certainly intended
based on the code written.
llvm-svn: 149299
|
|
|
|
|
|
| |
like normal integers.
llvm-svn: 149223
|
|
|
|
| |
llvm-svn: 149222
|
|
|
|
|
|
|
|
| |
relocations applied to all C++ constructors and destructors.
This enables the linker to match concrete relocation types (absolute or relative) with whatever library or C++ support code is being linked against.
llvm-svn: 149057
|
|
|
|
|
|
|
|
| |
and let linker handle the rest.
This finally fixes PR5329
llvm-svn: 148990
|
|
|
|
| |
llvm-svn: 148897
|
|
|
|
|
|
|
|
| |
and clean up some other misc stuff. Unlike ConstantArray, we will
prefer to emit .fill directives for "String" arrays that all have
the same value, since they are denser than emitting a .ascii
llvm-svn: 148793
|
|
|
|
| |
llvm-svn: 148578
|
|
|
|
| |
llvm-svn: 148065
|
|
|
|
|
|
|
| |
The registers are placed into the saved registers list in the reverse order,
which is why the original loop was written to loop backwards.
llvm-svn: 148064
|
|
|
|
| |
llvm-svn: 146927
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
generator to it. For non-bundle instructions, these behave exactly the same
as the MC layer API.
For properties like mayLoad / mayStore, look into the bundle and if any of the
bundled instructions has the property it would return true.
For properties like isPredicable, only return true if *all* of the bundled
instructions have the property.
For properties like canFoldAsLoad, isCompare, conservatively return false for
bundles.
llvm-svn: 146026
|
|
|
|
| |
llvm-svn: 146001
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was actually a bit of a mess. TLI.setPrefLoopAlignment was clearly
documented as taking log2(bytes) units, but the x86 target would still
set a preferred loop alignment of '16'.
CodePlacementOpt passed this number on to the basic block, and
AsmPrinter interpreted it as bytes.
Now both MachineFunction and MachineBasicBlock use logarithmic
alignments.
Obviously, MachineConstantPool still measures alignments in bytes, so we
can emulate the thrill of using as.
llvm-svn: 145889
|
|
|
|
|
|
|
|
| |
Maybe some targets should use this as well.
Patch by Evgeniy Stepanov!
llvm-svn: 145781
|
|
|
|
|
|
|
|
|
|
|
| |
has a reference to it. Unfortunately, that doesn't work for codegen passes
since we don't get notified of MBB's being deleted (the original BB stays).
Use that fact to our advantage and after printing a function, check if
any of the IL BBs corresponds to a symbol that was not printed. This fixes
pr11202.
llvm-svn: 144674
|
|
|
|
| |
llvm-svn: 143799
|
|
|
|
| |
llvm-svn: 143097
|
|
|
|
|
|
| |
modes. These are used by disassemblers to provide better disassembly, particularly on targets like ARM Thumb that like to intermingle data in the TEXT segment.
llvm-svn: 141135
|
|
|
|
| |
llvm-svn: 140784
|
|
|
|
| |
llvm-svn: 139015
|
|
|
|
|
|
|
|
|
|
|
| |
- On COFF the .lcomm directive has an alignment argument.
- On ELF we fall back to .local + .comm
Based on a patch by NAKAMURA Takumi.
Fixes PR9337, PR9483 and PR10128.
llvm-svn: 138976
|
|
|
|
|
|
| |
Stores sizes as uint64_t to avoid possible truncation.
llvm-svn: 138901
|
|
|
|
|
|
|
| |
Emit a repeated sequence of bytes using .zero. This saves an enormous
amount of asm file space for certain programs.
llvm-svn: 138864
|
|
|
|
|
|
|
| |
when outputting them. With this, the entire LLVM testsuite
passes when built with dragonegg.
llvm-svn: 138724
|
|
|
|
| |
llvm-svn: 136609
|
|
|
|
|
|
|
| |
There is still a bit more refactoring left to do in Targets. But we are now very
close to fixing all the layering issues in MC.
llvm-svn: 135611
|
|
|
|
| |
llvm-svn: 135478
|
|
|
|
| |
llvm-svn: 135450
|
|
|
|
| |
llvm-svn: 135375
|
|
|
|
| |
llvm-svn: 133821
|
|
|
|
|
|
| |
is larger than the sum of the elements (including per-element padding).
llvm-svn: 133631
|
|
|
|
|
|
| |
const Constant *.
llvm-svn: 133400
|
|
|
|
| |
llvm-svn: 133083
|
|
|
|
| |
llvm-svn: 133007
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Dan noted that this would work on the case shown on the commit message. I think
the case that was failing was a bb ending with a redundant conditional jump:
...
jne foo
foo:
...
I was unable to find any such case in the tests or in a debug build of clang,
so I will revert this part of the patch and watch the bots.
llvm-svn: 133004
|
|
|
|
|
|
| |
AnalyzeBranch.
llvm-svn: 132981
|
|
|
|
|
|
| |
Add a triple to the tests.
llvm-svn: 132885
|
|
|
|
| |
llvm-svn: 132883
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
we try to branch to them.
Before we were creating successor lists with duplicated entries. Fixing that
found a bug in isBlockOnlyReachableByFallthrough that would causes it to
return the wrong answer for
-----------
...
jne foo
jmp bar
foo:
----------
llvm-svn: 132882
|
|
|
|
|
|
|
|
| |
and definitions when emitting global variables. This was causing global
declarations to be emitted as if they were definitions.
Fixes <rdar://problem/9429892>.
llvm-svn: 132825
|
|
|
|
| |
llvm-svn: 132250
|
|
|
|
|
|
|
|
| |
There was no way to check if a given register/mode pair was valid. We now return
an error code (-2) instead of asserting. If anyone thinks that an assert
at this point is really needed, we can autogen a hasValidDwarfRegNum instead.
llvm-svn: 132236
|
|
|
|
|
|
|
| |
the Win64 EH mechanism to implement GCC-style exceptions. LLVM supports
hardly anything else at this point!
llvm-svn: 132234
|
|
|
|
|
|
|
|
|
|
| |
subregisters:
When a value is in a subregister, at least report the location as being
the superregister. We should extend the .td files to encode the bit
range so that we can produce a DW_OP_bit_piece.
llvm-svn: 132224
|
|
|
|
| |
llvm-svn: 132222
|
|
|
|
|
|
|
| |
LTO friendly as we can now correctly merge files compiled with or without
-fasynchronous-unwind-tables.
llvm-svn: 132033
|